Zabbix 2.4——trigger详解
前言:我们都知道zabbix基本配置就是 hosts =》 items =》triggers =》 actions =》 media =》Email,这应该算是一个基本的zabbix报警实现,那zabbix如何添加trigger就是个必须掌握的技能了。* 一、Zabbix的Trigger添加
* 二、Trigger的创建
* 三、表达式
* 四、依赖关系
* 五、告警级别
* 六、单位符号
一、zabbix的Trigger添加
=== 首先当然是先创建一个Hosts,并确保能够正常监控,并创建一个可用的Items
http://s5.运维网.com/wyfs02/M02/82/19/wKiom1dL0R7B3wVwAADExMehh2w563.png
=== 然后就是点击创建triggers了
http://s2.运维网.com/wyfs02/M02/82/19/wKiom1dLz8bRHrctAADUETWlklk256.png
Configuration——》Host——》Create Trigger
二、Trigger的创建
http://s1.运维网.com/wyfs02/M01/82/1B/wKiom1dL2feAJUUJAABZ_pdVVeg099.pngTrigger的各选项含义:
* Name:设置Trigger的名称。
名称中可支持使用宏Macros来定义。{HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE} and {$MACRO}。
还可以使用$1,$2,$3...$9表示位置参数使用。
* Expression:Trigger的表达式
* Multiple PROBLEM events generation:设置该选项可以在触发器产生problem的时候,触发一个事件(一般不勾选)
* Description:对这个Trigger的描述信息,例如联系人信息,触发器说明等
* URL:该URL可以作为Monitoring ——》 Trigger 中的一个链接来点击。该参数还支持一个Macros(TRIGGER.ID)
* Severity:设置trigger被触发时的告警级别
* Enabled:选择是否启用
三、表达式
Trigger最重要的就是它的表达式的写法:
语法格式:{:.(parameter)}
① server:表达式的作用于哪个 host 上,默认当然是你选择的host了
② key:item中填写的监控项
③ function:Trigger function 是zabbix内置的触发器函数,可收集返回值、当前时间和其他参数
④ parameter:parameter是function的参数,具体设置成什么,需要看使用哪种function。(后面会加一个function的博客做为笔记查询)
例:avg(sec|#num,)
说明:大多数函数都支持 sec | #num。
sec:最近多少秒内收集的值
#num:最近多少次收集的值。(有的founction可能为最近第几次收集的值,如last)
time_shift:类似偏移量,多少秒之前收集的值
avg(3600,86400)一天前的一个小时内收集的值的平均值
⑤ operator:运算符号,支持如下
算数运算符:+、-、*、/
比较运算符:=、(不等于)
连接运算符:and(与)、or(或)、not(非)、-(负数)
注:not、and和or运算符号是区分字符大小写,并且必须小写。
所有运算符中,除了 - 和 not 都是从左至右
⑥ constant:常量,通常是一个数字
例如:
{10.6.3.90:vfs.file.md5sum.diff()}=1
该表达式主要是用来判断“主机密码文件是否有被修改”
四、依赖关系
http://s1.运维网.com/wyfs02/M02/82/1C/wKioL1dL-v2gPI6bAABXijMtI9g762.pngDependencies:
有这样一个场景,主机a依赖于主机b,如果主机b的网络出现故障,则zabbix server会同时收到 a 和 b 的故障告警信息。但实际上只有 b 是故障的。
因此,添加依赖关系后,其他主机故障并不会导致多态主机的trigger被触发。
依赖要点:
(1) 触发关系可从任何主机添加到其他主机触发器,只要它不被陷入死循环即可
(2) 触发关系可以从模板到模板的方式添加。但其对应关系需要理清楚。
(3) 触发关系也可以从template trigger 到 host trigger。当template trigger 到 host trigger,将使得 template中的其他trigger也依赖于host。
(4) 可以不添加从host trigger到template trigger
添加之后就会显示 depends on:
http://s4.运维网.com/wyfs02/M01/82/1C/wKioL1dL-keydwxcAABmBfdesKs597.png
五、告警级别
http://s3.运维网.com/wyfs02/M01/82/1E/wKiom1dL-7PQvdfMAAC5tcNSlR4167.png
用户可自定义修改Trigger的告警级别和颜色:
Administration ——》 General ——》 Tigger severities
告警级别说明:
Not classified——Grey: 没有告警 《——》灰色
Information——Light green: 消息 《——》淡绿
Warning——Yellow: 警告 《——》黄色
Average——Orange: 平均问题 《——》橘色
High——red: 高等级告警《——》红色
Disaster——Bright red: 灾难 《——》亮红色
六、单位符号
我们在Trigger表达式中经常要写大段的时间或字节大小,但如果添加了单位符号,则无需将值计算到最小值单位。
时间单位:
s:秒
m:分钟
h:小时
d:天
w:周
时间单位使用对象:
1、trigger expression
2、内建item,zabbix
3、aggreeagte checks 汇总检查
前缀符号:显示单位,默认是Bps,这些计量单位应该很好理解。
K:kilo, 公斤,2^10
M:mega,百万,2^20
G:Giga, 千兆,2^30
T:Tera,兆兆,2^40
注:如果item的值使用的是B,则单位换算为1k=1000,否则,单位换算为1K=1024。
个人见解:个人觉得Zabbix Trigger的核心就是Trigger表达式,只要掌握这个,其他的功能不必太过追求。Linux要学的东西太多,如果要把每个知识点都掌握全,那你学习的速度很难跟各种服务版本迭代的速度。掌握自己需要的,放弃一些不必要的,也是一种学习方法吧。
页:
[1]