zabbix中监控项仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正式 用于为监控项所收集的数据定义阈值,每一个触发器仅能管理至一个监控项,但是可以为一个监控项同时使用多个触发器;意思就是,为一个监控项定义多个具有不同阈值的触发器,可以实现不同级别的报警。一个触发器由一个表达式构成,它定义了监控项所采集的数据的一个阈值,一旦某次采集的数据超出了触发器定义的阈值,触发器状态将会转为"problem";而当采取的数据再次回归至合理的范围内时,其状态将重新返回到"OK"。

1、触发器表达式

触发器表达式的格式为

{<server>:<key>.<function>(<parameter>)}<operator><constant>

某主机上某个key使用某个函数(参数)所得的值 和 设定的值比较

server:主机名称

key:主机上相应监控项的key

function:评估采集到的数据是否在合理范围内时所使用的函数,其评估过程可以根据采取的数据、当前时间及其它因素进行

2、触发器表达式支持的函数

avg     求平均值

count     指定时间内或次数内数值统计

change     指定时间内或次数内倒数第2次于倒数第1次的差值,对于字符串,0没有变化,1表示有变化;

date     当前日期

dayofweek 本周第几天 dayofmonth 本月第几天

delta     指定时间内或次数内最大值与最小值的差

diff     指定时间内或次数内倒数第2次于倒数第1次的值,有没有不同;常用于监控文件

regexp 检查最后一次采样的数据是否能够被指定的模式所匹配:1表示匹配,0表示不匹配

iregexp     不区分大小的正则表达式

last     最近采样的数据

max、min、nodata没有数据

now 返回时间戳

prev 倒数第二个采样值

str     从最后一次的采样中查找此处指定的字符串;0表示找到,1表示没找到

strlen     字符串长度比较

sum 求和

3、触发器实例

触发器可以创建在模板或者某台主机上

例一:自定义触发器监控登录用户数,zabbix的Template OS Linux模板中有Number of logged in users监控项,即监控当前登录的用户数,可以自定义触发器来监控登录个数,当触发某个阈值如3的时候就发送报警

点击:配置——>主机,选择主机,点击——>触发器——>创建触发器

触发器名称

创建触发器表达式

对触发器进行触发报警测试

查看动作日志

例二:监控平均一分钟内的cpu负载,操作步骤同上

触发器表达式为{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5

最新的CPU负载值如果大于5,那么表达式会返回true,这样一来触发器状态就改变为"problem"了

例三:监控/etc/passwd文件是否被修改(系统自带监控项)

触发器表达式为{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0

最新的checksum与上一次获取到的checksum不同,表达式将会返回true. 我们可以使用同样的方法监控系统重要的配置文件,例如/etc/passwd,/etc/inetd.conf等等

例四:监控主机网卡流量

触发器表达式为{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K

当主机网卡eth0最后5分钟内接收到的流量超过100KB那么触发器表达式将会返回true

例五:监控主机是否可达

触发器表达式为{zabbix.zabbix.com:icmpping.count(30m,0)}>5

表示最近30分钟zabbix.zabbix.com这个主机超过5次不可到达

 

部分内容参考来源:https://www.cnblogs.com/zhaijunming5/p/6889336.html

最新文章

  1. powershell批量设置权限
  2. 常用shell命令操作
  3. VS2010和matlab2010混合编程中char16_t重定义的问题
  4. 0505 Scrum 项目1.0
  5. http的响应对象
  6. Effective Java 78 Consider serialization proxies instead of serialized instances
  7. ural 1109,NYOJ 239,匈牙利算法邻接表
  8. Android ActionBar以及menu的代码设置样式
  9. DW(五):polybase集群安装
  10. MySQL Limit order by
  11. makefile missing separator. Stop
  12. 以后坚持用java
  13. vs17 破解密钥
  14. Kafka~Linux环境下的部署
  15. WinHex18.4算法分析
  16. RC1015 cannot open include file &#39;atlres.h&#39;
  17. 小技巧, 批处理修改IP
  18. 比較C struct 與 C# unsafe struct内存分佈
  19. Math类的学习 java 类库 API 文档学习
  20. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛:Frequent Subsets Problem (状态压缩)

热门文章

  1. 朗格拉日计数(counter)
  2. [学习笔记]Senparc.CO2NET 缓存使用笔记
  3. 7月12号day4总结
  4. 50 days before NOI2017
  5. ZOJ 3822 Domination (三维概率DP)
  6. dpkg: error processing package bluez (--configure) 解决方法【转】
  7. 内核request_mem_region 和 ioremap的理解【转】
  8. (九)ubuntu解决resolv.conf被重写问题
  9. Selenium2+python自动化18-加载Firefox配置【转载】
  10. 我在16ASPX下了一个系统是ACCESS和VS2005做的我想把那个连接数据库的&#39;DB_16aspx&#39;的名字改了进不了了可是?