一、触发器简介
(1) 一个触发器由一个表达式组成,它定义了监控项所采取的数据的一个阈值
(2) 一旦某次采集的数据超出了触发器定义的阈值,触发器状态将会转换为"Problem",而当采集的数据再次回归至合理范围内时,其状态将重新返回到"OK"
(3) 每一个触发器仅能关联至一个监控项,但可以为一个监控项同时使用多个触发器
(4) 事实上,为一个监控项定义多个具有不同阈值的触发器,可以实现不同级别的报警功能
二、触发器表达式
触发器的表达式格式:{<server>:<key>.<function>(<parameter>)}<operator><constant>
server :主机名
key :主机上关系的相应监控项的 key
function :评估采集到的数据是否在合理范围内时所使用的函数
parameter :函数的参数,大多数数值函数可以接受秒数为其参数,而如果在数值参数之前使用"#"作为前缀,则表示为最近几次的取值,如 sum(300) 表示 300 秒内所有取值之和,而 sum(#10) 则表示最近 10 次取值之和
operator :表达式所支持的运算符,如 + 、- 、> 、< 、= 等
constant :阈值
例子:{www.abc.com:system.cpu.load[all,avg1].last(0)}>3
www.abc.com 是 server
sys.cpu.load[all.avg1] 是 key
last(0) 是 function 及其 parameter ,对于 last 函数来说,last(0) 相当于 last(#1)
> 是 operator(表达式运算符)
3 是 constant(触发器阈值)
表示主机 www.abc.com 上所有 CPU 的过去一分钟内的平均负载的最后一次取值大于 3 时将触发状态变换
三、创建触发器
Configuration -- Hosts -- Triggers -- Create trigger
Name :触发器名称,可以使用宏
Expression :触发器表达式
Multiple PROBLEM events generation :通过设置该选项,你可以在触发器产生 Problem 的时候触发一个事件
Description :触发器的描述信息
URL :在 screen 的 "Status of Trigger" 中显示的内容的链接
Severity :触发器的严重级别
Enablesd :是否启用触发器