千家信息网

zabbix -- 触发器语法

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,小Q:山一程,水一程,身向榆关那畔行,夜深千帐灯。 --- 纳兰容若《长相思》最近一直在学zabbix,总计并归纳了触发器语法参数配置 ,并实时配置搭建,希望可以帮助大家,有问题欢迎留言解决探讨。1、
千家信息网最后更新 2025年12月02日zabbix -- 触发器语法

小Q:山一程,水一程,身向榆关那畔行,夜深千帐灯。 --- 纳兰容若《长相思》

最近一直在学zabbix,总计并归纳了触发器语法参数配置 ,并实时配置搭建,希望可以帮助大家,

有问题欢迎留言解决探讨。

1、语法

2、示例

--------------------------------------------------------------------------------------------------

1、Zabbix触发器的语法如下:

{:.()}<operator>


用Template App Zabbix Agent模板中的主机ping监控的触发器来进行说明:

{Template App Zabbix Agent:agent.ping.nodata(5m)}=1

Template App Zabbix Agent 即监控模板

agent.ping 即监控模板里的项目Items

<function> nodata() 及项目所使用的方法

5m 及方法所使用的参数

  操作人,选填

  持续性,选填


《如果是触发器调用的模板,需要在模板中更改查看触发器,若是直接创建的触发器,可在主机中直接修改》

《触发器表达式选择的条件来自各个群组中ip下的项目》

1.abschange 参数:忽略 支持类型:float,int,str,text,log 作用:返回最近获得的值与之前获得值差的绝对值,对于字符串类型:0表示相等,1表示不同

2.avg 参数:秒或#num 支持类型:float,int 作用:返回一段时间的平均值 举例: avg(5):最后5秒的平均值 avg(#5):表示最近5次得到值的平均值 avg(3600,86400):表示一天前的一个小时的平均值 如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间, #n表示最近n次的值


3.change 参数:忽略 支持类型:float,int,str,text,log 作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同 举例: change(0)>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n

4.count 参数:秒或#num 支持类型:float,int,str,text,log 作用:返回指定时间间隔内数值的统计, 举例: count(600)最近10分钟得到值的个数 count(600,12)最近10分钟得到值的个数等于12 count(600,12,"gt")最近10分钟得到值的个数大于12 count(#10,12,"gt")最近10个值中,值大于12的个数 count(600,12,"gt",86400)24小时之前的10分钟内值大于12的个数 count(600,6/7,"band")-thenumberofvaluesforlast10minuteshaving'110'(inbinary)inthe3leastsignificantbits. count(600,,,86400)24小时之前的10分钟数据值的个数 第一个参数:指定时间段 第二个参数:样本数据 第三个参数:操作参数 第四个参数:漂移参数 #支持的操作类型 eq: 相等 ne: 不相等 gt: 大于 ge: 大于等于 lt: 小于 le: 小于等于 like: 内容匹配

5.date参数:忽略 支持类型:any 作用:返回当前的时间,格式YYYYMMDD

6.dayofmonth 返回当前是本月的第几天

7.dayofweek 返回当前是本周的第几天

8.delta 参数:秒或#num 支持类型:floatint作用:返回时间间隔内的最大值与最小值的差值

9.diff参数:忽略 支持值类型:float,int,str,text,log 作用:返回值为1表示最近的值与之前的值不同,0为其他情况

10.fuzzytime 参数:秒 支持值类型:float,int作用:返回值为1表示监控项值的时间戳与ZabbixServer的时间多N秒,0为其他.常使用system.localtime来检查本地时间是否与Zabbixserver时间相同.

11.last 参数:秒或#num 支持值类型:float,int,str,text,log 作用:最近的值,如果为秒,则忽略,#num表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的 last(0)等价于last(#1)last(#3)表示最近**第**3个值(并不是最近的三个值) 本函数也支持第二个参数**time_shift**,例如 last(0,86400)返回一天前的最近的值 如果在history中同一秒中有多个值存在,Zabbix不保证值的精确顺序 #num从Zabbix1.6.2起开始支持,timeshift从1.8.2其开始支持,可以查询avg()函数获取它的使用方法

12.logeventid 参数:string支持值类型:log 描述:检查最近的日志条目的EventID是否匹配正则表达式.参数为正则表达式,POSIX扩展样式.当返回值为0时表示不匹配,1表示匹配。该函数从Zabbix1.8.5起开始支持.

13.logseverity 参数:忽略 支持值类型:log 描述:返回最近日志条目的日志等级(logseverity).当返回值为0时表示默认等级,N为具体对应等级(整数,常用于Windowseventlogs).Zabbix日志等级来源于Windowseventlog的Information列.

14.logsource 参数:string支持值类型:log 描述:检查最近的日志条目是否匹配参数的日志来源.当返回值为0时表示不匹配,1表示匹配。通场用于Windowseventlogs监控.例如logsource["VMWareServer"]

14.max 参数:秒或#num 支持值类型:float,int描述:返回指定时间间隔的最大值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法.

15.min 参数:秒或#num 支持值类型:float,int描述:返回指定时间间隔的最小值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法.

16.nodata 参数:秒 支持值类型:any 描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其他.

17.now 参数:忽略 支持值类型:any 描述:返回距离Epoch(1970年1月1日00:00:00UTC)时间的秒数

18.prev 参数:忽略 支持值类型:float,int,str,text,log 描述:返回之前的值,类似于last(#2)

19.regexp 参数:第一个参数为string,第二个参数为秒或#num 支持值类型:str,log,text 描述:检查最近的值是否匹配正则表达式,参数的正则表达式为POSIX扩展样式,第二个参数为秒数或收集值的数目,将会处理多个值.本函数区分大小写。当返回值为1时表示找到,0为其他.

20.str 参数:第一个参数为string,第二个参数为秒或#num 支持值类型:str,log,text 描述:查找最近值中的字符串。第一个参数指定查找的字符串,大小写敏感。第二个可选的参数指定秒数或收集值的数目,将会处理多个值。当返回值为1时表示找到,0为其他.

21.strlen 参数:秒或#num 支持值类型:str,log,text 描述:指定最近值的字符串长度(并非字节),参数值类似于last函数.例如strlen(0)等价于strlen(#1),strlen(#3)表示最近的第三个值,strlen(0,86400)表示一天前的最近的值.该函数从Zabbix1.8.4起开始支持;

22.sum参数:秒或#num 支持值类型:float,int描述:返回指定时间间隔中收集到的值的总和.时间间隔作为第一个参数支持秒或收集值的数目(以#开始).从Zabbix1.8.2开始,本函数支持time_shift作为第二个参数。可以查看avg函数获取它的用法;

23.time参数:忽略 支持值类型:any 描述:返回当前时间,格式为HHMMSS,例如123055


2、举例参数的等效转换,参数1==参数2

参数1: {host:zabbix[proxy,zabbix_proxy,lastaccess]}>120{host:system.uptime[].last(0)}<86400{host:system.cpu.load.avg(600)}<10参数2: {host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m {host:system.uptime.last(0)}<1d {host:system.cpu.load.avg(10m)}<10

示例1:

触发器名称:Processor load is too high on www.zabbix.com {www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5触发器说明: www.zabbix.com:host名称 system.cpu.load[all,avg1]:item值,一分内cpu平均负载值last(0):最新值 >5:最新值大于5 如上所示,www.zabbix.com这个主机的监控项,最新的CPU负载值如果大于5,那么表达式会返回true,这样一来触发器状态就改变为"problem"了。

示例2:

触发器名称:www.zabbix.com is overloaded {www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5|{www.zabbix.com:system.cpu.load[all,avg1].min(10m)}>2

当前cpu负载大于5或者最近10分内的cpu负载大于2,那么表达式将会返回true.

示例3:

触发器名称:/etc/passwd has been changed 使用函数 diff(): {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0

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

示例4:

触发器名称:Someone is downloading a large file from the Internet 使用函数 min: {www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K

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

示例5:

触发器名称:Server is unreachable {zabbix.zabbix.com:icmpping.count(30m,0)}>5

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

示例6:

触发器名称:CPU activity at night time 使用函数 time(): {zabbix:system.cpu.load[all,avg1].min(5m)}>2 & {zabbix:system.cpu.load[all,avg1].time(0)}>000000 & {zabbix:system.cpu.load[all,avg1].time(0)}<060000

只有在凌晨0点到6点整,最近5分钟内cpu负载大于2,表达式返回true,触发器的状态变更为"problem"

示例7:

触发器名称:Both nodes of clustered SMTP server are down {smtp1.zabbix.com:net.tcp.service[smtp].last(0)}=0 & {smtp2.zabbix.com:net.tcp.service[smtp].last(0)}=0

当smtp1.zabbix.com和smtp2.zabbix.com两台主机上的SMTP服务器都离线,表达式将会返回true.



参数 支持 类型 时间 触发器 函数 表达式 作用 名称 示例 监控 个数 主机 方法 日志 不同 字符 字符串 平均值 数目 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中外宝网络技术服务 Liunx 怎么连数据库 电工 网络技术人员 无锡计算机网络技术推广五星服务 c 操作数据库类 计算机网络技术技术规范 关于网络网络安全的手抄报 新一代软件开发服务标准 网络安全法系列解析 小学校园网络安全内容 普陀区推广软件开发成本 数据库属于哪一类文献 数据库不小心删了能找回吗 开展信息网络安全检查报告 网络安全集成资质申报材料 怎么给自己做一个共享服务器 云南提供软件开发零售价格 连云港服务器机房搭建报价 数据库数据误删 hcna网络技术实验思考题 肥西网络技术优势 seer数据库患者例数 在线网络安全攻防实验 无锡计算机网络技术推广五星服务 常规网络安全应用 阿里云服务器配置ip 教师微信扣扣网络安全保证书 汕头自主可控软件开发优化价格 大专计算机网络技术英语 计算机网络技术员的工作要求
0