Zabbix⽇常监控(触发器表达式、远程执⾏命令、宏简等)简单记录
主机的⼯作基本流程
Host group --> Host --> Application --> Item -->
Trigger(OK-->PROBLEM,trigger event) --> Action(
Conditon+Operation(send Message,Rend Command))
注释:主机组、主机、模板、监控项、触发器(OK或失败,产⽣事件)、动作(通知动作)
⼀、触发器表达式
触发器之间的依赖关系
例如⼀个主机DOWN就会出现很多报警,该主机的所有触发器都应依赖于agent检测触发器(不⾄于出现告警风暴)
1、格式及说明
item key:
命名要求:只能使⽤字母、数字、下划线、点号、连接符
Trigger:
触发器表达式:
{<server>:<key>.<function>(<parameter>)}<operator><constant>
⽰例:{www.kuaiyun:system.cpu.load[all,avg1].last(0)}>3
注释:
server 主机名称(也可以是模板名);
key 主机上关系的相应监控项的key值;
function 评估采集到的数据是否在合理范围内时所使⽤的函数,其
评估过程可以根据采取的数据、当前时间及其他因素进⾏:
⽬前,触发器所⽀持的函数有
avg 平均值
count 数据统计
change 返回最后的⼀个值和倒数第⼆个值对⽐
date 时间
dayofweek 本周的第⼏天
delta 指定时间范围内和数值内的
diff ⽂件是否有改变
iregexp 忽略字符⼤⼩写,正则表达式
regexp 检查最后⼀次采样的数据是否能够被制定的模式所匹配,
正则匹配最后一次出现的字符1表⽰匹配,0表⽰不匹配主要⽤来监控⽇志内容的关键字
last 最近⼏次采样
max 最近采样最⼤值
min
nodata (对于采集不到数据)没有数据判断异常
now 返回⾃unix元年只此刻经历的秒数
prev:倒数第⼆个采样值;
str 从最后⼀个采样中,查此次指定的字符,1到0没到
sum
parameter 函数参数:⼤多数数值函数可以接受秒数为其参数,
⽽如果在数值参数之前使⽤”#“做为前缀,则表⽰为最近⼏次的取值,
如sum(300)表⽰300秒内所有取值之和,⽽sum(#10)则表⽰最近
10次取值之和;
此外,avg、count、last、min和max 还⽀持使⽤第⼆个参数,
⽤于完成时间限定;例如:max(1h,7d)将返回⼀周之前的最⼤值;
2、⽰例
1、Less than 5% free in the value cache
{Template App Zabbix Server:zabbix[vcache,buffer,pfree].min(10m)}<5
说明:
Template App Zabbix Server:主机名或模板名(模板套⽤到主机上)
zabbix:key
vcache buffer pfree key值
min 函数
10m 函数范围
< 条件
5 预设值
注释:⼗分钟内采集到的最⼩值如果⼩于5则进⼊PROBLEM状态;
2、{www.kuaiyun:system.cpu.load[all,avg1].last(0)}>3
说明:
www.kuaiyun 主机名或模板名(模板套⽤到主机上)
system.cpu.load key值
all 所有的
avg1 过去⼀分钟内
avg5 过去五分钟内
last 函数“last()”获取最近⼀次获取的值
“>5”表⽰来⾃主机www.kuaiyun的最后⼀次获取的负载值⼤于5时触发器就会进⼊PROBLEM状态。
⼆、远程执⾏命令
远程命令是个⾮常危险的操作,对于zabbix⽤户的授权要根据具体情况给予相应的权限,本次仅为测试使⽤1、概述
remote command 远程执⾏命令:
1、给zabbix定义sudo规则:
zabbix ALL=(ALL) ALL (根据现实需求⾃⼰定义)
2、不⽀持active模式的agent (主动模式,zabbix默认为被动模式)
3、不⽀持代理模式;
4、命令长度不得超过255个字符
5、可以使⽤宏;
6、10050的端⼝允许进⼊
7、zabbix-server近执⾏命令,⽽不关⼼命令是否执⾏成功;
2、修改agent配置⽂件
/etc/zabbix/f
EnableRemoteCommands=1开启远程执⾏命令权限
LogRemteCommands=1记录执⾏⽇志
Defaults requiretty #这项默认是开启的,我们要注释掉
解释:任何⼀个执⾏sudo命令时必须使⽤htty执⾏
3、例如远程执⾏重启httpd服务
执⾏命令本⾝:
如果⽤到以root⽤户执⾏命令,必须使⽤sudo命令
sudo /etc/rc.d/init.d/httpd restart
三、宏
宏:
⼀个已经定义好的变量
两类:
内建:{MACRO_NAME}
⾃定义:{$MACRO_NAME}
可使⽤的级别
优先级:host Template global (主机模板全局)
到后直接使⽤,不再想后续查
模板:
⼀系列配置的集合,此配置可通过“链接”的⽅式应⽤于指定的主机
User Parmeters:
zabbix内置可许多的item key;
实现⽤户⾃定义item key,实现特有数据指标监控;
只能在agent实现key的定义
语法:
UserParameter=<key>,<command>
不允许没有被监控的主机上线
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论