概述
(1)avg
参数:秒或#num
支持类型:float,int
作用:返回一段时间的平均值举例:
avg(5):最后5秒的平均值
avg(#5):表示最近5次得到值的平均值
avg(3600,86400):表示一天前的一个小时的平均值
如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,#n表示最近n次的值
(2)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()函数获取它的使用方法
(3)max
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最大值。时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#)。从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。
例如:max(#3)=0 返回3次值如果都是0则触发告警
(4)min
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最小值。时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#)。从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。
(5)nodata
参数:秒
支持值类型:any
描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示获取到了。
例:nodata(5m)=1 ===>5分钟之内获取不到数据就告警
(6)prev
参数:忽略
支持值类型:float,int,str,text,log
描述:返回之前的值,类似于last(#2)
(7)sum
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔中收集到的值的总和,时间间隔作为第一个参数支持秒或收集值的数目(以#开始).从Zabbix1.8.2开始,本函数支持time_shift作为第二个参数。可以查看avg函数获取它的用法。
(8)change
参数:忽略
支持类型:float,int,str,text,log
作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同
change(0)>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n
(9)diff
参数:忽略
支持值类型:float,init,str,text,log 作用:返回值为1,表示最近的值与之前的值不同,0为相同。
例如:diff(0)>0 ===>表示现在获取的值如果和之前的不同就告警
例如:
1.3 Zabbix Web创建触发器过程以及触发器与监控项对应关系
(1)创建一个触发器
我们之前已经创建了一个检测内存剩余大小的监控项,现在我们给这个监控项加一个触发器。当内存小于20M时,触发报警
(2)进行表达器测试
表达式测试成功后,我们添加即可
(3)在服务端进行监控项数据获取测试
监控项表达式说明
{aaaa:vm.memory.size[available].last()}<20M
aaaa:模版名
vm.memory.size:zabbix监控端向被监控端发送的代号
.last()<20 :last()<===>last(0)<===>last(#1)
zabbix_get -s 192.168.200.69 -k "vm.memory.size"
获取对应IP的全部内存总量zabbix_get -s 192.168.200.69 -k "vm.memory.size[available]"
获取对应IP的剩余内存总量
1.4 为了体会深刻,我们再创建一个监控项同时创建它的触发器
(1)快速创建一个Agent_ping监控项
(2)在监控端测试监控项的键值
[root@localhost ~]# zabbix_get -s 192.168.0.220 -k "agent.ping"
1
[root@localhost ~]# zabbix_get -s 192.168.0.221 -k "agent.ping"
1
[root@localhost ~]# zabbix_get -s 192.168.0.222 -k "agent.ping"
zabbix_get [11715]: Get value error: cannot connect to [[192.168.0.222]:10050]: [113] No route to host
我们发现如果对方服务器IP能ping通,则返回值是1。反之不是1就有问题
(3)创建监控项的告警触发器
到这里就创建完毕了,请仔细体会这个过程。
最后
以上就是冷艳小甜瓜为你收集整理的Zabbix Web下触发器与表达式的编写方法的全部内容,希望文章能够帮你解决Zabbix Web下触发器与表达式的编写方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复