青蛙学Linux—Zabbix Web使用之模板③触发器

在监控系统中,我们不仅需要系统收集监控项的数据,还要求当监控项的数据不正常时系统能够为我们提供告警。触发器就是用于定义监控项的阈值,当监控项的值超过阈值是将触发。基于触发器可以创建一个动作,在触发器被触发时执行相应的动作,如发邮件告警。

1、触发器的配置

触发器是基于某一个特定监控项的。在模板中点击触发器链接可以查看当前模板中使用的触发器。这里查看模板Template OS Linux中的触发器:

1

在这个页面中可以修改当前使用的触发器,也可以点击“创建触发器”按钮创建触发器。创建触发器的页面如下:

2

  • 名称:自定义的触发器名称
  • 严重性:触发器被触发时发出的警告等级
  • 表达式:触发器中最重要的配置,通过表达式设置监控项的阈值

点击表达式栏旁边的“添加”按钮,会弹出表达式构造页面:

3

  • 监控项:该触发器基于哪个监控项创建
  • 功能:表达式中使用的函数,定义如何判断监控项的值
  • 最后一个:根据不同的功能项有不同的含义,比如选择最后几次值中的某一个值
  • 间隔:时间间隔
  • 结果:监控项的值与这里设置的值进行比较得出的真假结果

2、触发器表达式中常用的函数

2.1、avg()

用于返回一段时间的平均值。

  • 参数:时间或#n
  • 支持的类型:float,int

如果仅有一个参数,表示从当前时间开始的指定时间内的平均值;如果有第二个参数,第二个参数表示偏移量,从第二个参数前开始计算时间;#n表示最近n次的值;时间支持单位,默认为秒

e.g:

avg(5)           # 最后5秒的平均值
avg(#5)          # 最近5次值的平均值
avg(3600,86400)  # 一天前的一个小时的平均值

2.2、last()

最近的值。

  • 参数:#n
  • 支持的类型:float,int,str,text,log

#n表示最近的第n个值;last(0)等价于last(#1);该函数必须包含参数

2.3、max()

返回指定时间间隔的最大值。

  • 参数:时间或#n
  • 支持的类型:float,int

#n表示最后n个值的最大值

e.g:

max(600)  # 600秒之内的最大值
max(#5)   # 最后5个值的最大值

2.4、min()

返回指定时间间隔的最小值。

  • 参数:时间或#n
  • 支持的类型:float,int

该函数的使用同max()

2.5、count()

返回指定时间间隔内的数值的统计。

  • 参数:时间或#n
  • 支持的类型:float,int,str,text,log

可带两个参数,第一个参数指定时间段,第二个参数指定样本数据

e.g:

count(600)     # 最近600秒得到值的个数
count(600,12)  # 最近600秒得到值的个数等于12

2.6、sum()

返回指定时间间隔中收集到的值的总和。

  • 参数:时间或#n
  • 支持的类型:float,int

e.g:

sum(600)  # 600秒内接受到的所有值的和
sum(#5)   # 最后5个值的和

2.7、change()

返回最近获得的值与上一个值的差值,对于字符串0表示相同,1表示不同。

  • 参数:无(无参数时用0表示)
  • 支持的类型:float,int,str,text,log

e.g:

change(0)>n  # 最近得到的值与上一个值的差值大于n

2.8、diff()

检测是否发生变化。

  • 参数:无
  • 支持的类型:float、int、str、text、log

返回值为1表示发生变化,0表示无变化

posted @ 2019-02-08 11:16  青蛙学Linux  阅读(308)  评论(0编辑  收藏  举报