@Mr-13
2020-10-13T10:11:20.000000Z
字数 2196
阅读 62
zabbix
新部署的主机上并不存在任何触发器,所以此处的触发器列表为空,如果对应主机上已经存在对应的触发器,我们可以通过过滤条件筛选出我们想要得到的触发器,此处,我们直接点击"创建触发器"按钮。
我们为触发器起个名字,名字叫 Partition Used: /data
,这个触发器是为了监控“/data”目录所在分区的使用率而创建的我们之前已经创建了监控项"Partition used: /data" 吗? 我们现在要做的就是为这个监控项创建一个触发器,当这个监控项的值达到我们指定的阈值时,就会产生某个"事件",以便我们采取后续的措施;触发器的本质其实是一个表达式,用来定义监控项的阈值,下面来创建一个触发器。
上图中我们配置了:当/data盘使用率超过40%进行触发,详细说一下具体的配置项:
1、名称:
这里不多说,起一个看一眼能明白干嘛的名字就好了;别起名字奇奇怪怪后面都不知道是干嘛的
2、严重性:
相当于定义了一个问题处理的“优先级”提示;不多赘述,继续
3、表达式:
这里是重点了,上面说,触发器本质就是一个表达式;这里点击添加按钮,会弹出表达式构造窗口;
首先选择一个监控项(要设置触发器,怎么也得先有一个触发对象是吧);
功能下拉单选框提供了很多候选项,对于磁盘使用率来说,如果没有主动删除,或者脚本自动执行删除,是不会神奇的自己释放磁盘空间的,所以这里不需要做平均值之类的处理,直接取最近一次数值就可以了。
间隔:如果想定义多长质检之内,出现过磁盘使用率超过多少,这样的触发条件,这里就可以填一下,默认单位是秒;
结果:就是设置的触发器阈值,这里设置 ≥
、40
,即磁盘使用率超过40触发;
4、描述
没什么过多好说的,备注一下触发器设置的具体说明,还是为了以后方便维护的。
填写好,点击保存完事;这里发现表达式文本框填入了上一步根据我们的设置项,自动填入的表达式:
{zmtest.db.pgsql:vfs.fs.size[/data,pused].last()}>=40
再看表达式,这样是不是就明白了;当然,如果我们需要定义比较复杂,多个监控项条件共同决定的时候,可以点击“表达式构造器”,打开弹窗,添加多个条件,如下图:
都编辑完成之后,点击保存,完活,我们再看一下设置好的触发器。
然后我们再看一下触发器对用监控项的“图形”:
上图中,可以看到图形里,已经出现了触发器的图例,并且在图形上,也已经有了触发器的折线;因为例子中,被监控的主机/data盘的使用率已经超过了40%,所以在触发器设置之后,下一个监控项数据采集上来之后,马上就会触发条件了。
在产生触发项之后,在“监测”---“问题”中,也能看到具体的监控数据了,如下图:
回到上面,表达式输入框里自动填入的表达式内容,我们再仔细梳理一下:
{zmtest.db.pgsql:vfs.fs.size[/data,pused].last()}>=40
上面5个部分我们可以通过如下语法表示,描述一个触发器表达式的基本结构:
{<server>:<key>.<function>(<parameter>)}<operator><constant>
1、<server>:
表示主机名称,上图中对应的主机为:zmtest.db.pgsql
;
2、<key>:
表示对应主机上某个监控项对应的key,上图中的key为:vfs.fs.size[/data,pused]
;
3、<function>(<parameter>):
上图中对应为:last()
;last()称为函数,该函数是可以有参数的,参数在我们设置表达式参数时填写;在当前例子中,因为我没有填写参数,所以这里为空;
除了last()函数之外,触发器所支持的函数还有非常多,可以查看zabbix官方手册进行了解:https://www.zabbix.com/documentation/4.0/zh/manual/appendix/triggers/functions
函数的参数格式变化则比较少,如果参数值前面带有"#"作为前缀,则表示次数,比如avg(#10),则表示最近10次监控项的值的平均值;如果参数值前面没有"#"作为前缀,则表示时间;
比如sum(300),表示300秒内监控项的值的总和,max(#20)则表示最近20次监控项的值的最大值,min(600)则表示最近10分钟内监控项的值的最小值,但是需要注意,last(0)的含义与last(#1)的含义相同,都表示最近一次。
有的函数还支持使用第二个参数,比如avg(1h,1d) ,表示一天前的一小时内的监控项的值的平均值,假设现在的时间是5点,avg(1h)可以理解为4点到5点之间的监控项的值的平均值,而avg(1h,1d) 中的1d表示时间偏移量,那么avg(1h,1d)可以理解为昨天4点到5点的监控项的值的平均值。
4、<operator>:
运算符,上图中对应 >=
;由于zabbix的版本不同,运算符可能会发生变化,具体规范可以查看zabbix的官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/expression
5、<constantr>:
阈值