第1章 Trigger
1.1 创建一个trigger
选择:Configuration
àHost
双击: Trigger
双击:Create Trigger(位置在右上角)后图下图所示
Name
|
Trigger的名字
|
Expression
|
添加Trigger表达式,双击add后添加
|
Multiple PROBLEM events generation
|
|
Description
|
对trigger的描述
|
URL
|
|
Serverity
|
对trigger级别的选择
|
Enabled
|
Trigger是否可用
|
双击save能进行保存,这样一个trigger就添加好了。
1.1 Trigger的表达式的使用
Trigger的表达式非常的丰富,我们可用使用trigger表达式完成非常复杂的报警时需要的逻辑关系。
下面看一下trigger的语法。
{<server>:<key>.<function>(<parameter>)}<operator><constant>
大括号中包括的为主机名字以及对于的key,我们选择相应的主机和key时系统自动生成了就,关键是后边部分。Function为trigger使用的函数,以及函数相对应的参数。大括号后跟着的是trigger识别的操作符.
函数参数
大部分情况下如果参数只是一个数字的话往往代表着是秒的意思,如果前边加入#意思就大不同了。
例:
函数及输入的参数
|
描述
|
Sum(600)
|
600秒钟的和
|
Sum(#5)
|
最后5秒钟的和
|
同时我们可以使用5m代表5分钟来代替300秒,1d代表一天来替代86400秒,1k来代表1024bytes。
1.2 操作符
下面表格为trigger可以使用的操作符
1
|
/
|
除法
|
2
|
*
|
乘法
|
3
|
-
|
减法
|
4
|
+
|
加法
|
5
|
<
|
大于
|
6
|
>
|
小于
|
7
|
#
|
|
8
|
=
|
等于
|
9
|
&
|
逻辑与
|
10
|
|
|
逻辑或
|
1.3 Trigger实例
例1:cpu负载的监控 last函数
主机
www.solutionware.com.cn
Cpu负载过高
{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5
注释:其中www.solutionware.com.cn:system.cpu.load[all,avg1]代表的监控项目,其中主机位www.solutioneare.com.cn,监控的项的key为cpu.load[all,avg1],last()为函数代表最近时间段,0代表最后时间,如果为1的话代表最近1秒钟。>为表达式这里不做说明,5代表大于的值。
例2: cpu过载的监控 last函数
主机
www.solutionware.com.cn cpu过载
{ www.solutionware.com.cn:system.cpu.load[all,avg1].last(0)}>5| {www.solutionware.com.cn:system.cpu.load[all,avg1].min(10m)}>2
注释:主机www.solutionware.com.cn的cpu负载最近超过5或者主机www.solutionware.com.cn的cpu负载10分钟时间之内一直超过2则报警
例3 : /etc/passwd发生改变 diff函数
{www.solutionware.com.cn:vfs.file.cksum[/etc/passwd].diff(0)}>0
注释:这里用到了diff函数,同样这个例子还可以用到其他的地方,比如/etc/inetd.conf,文
件,/kernel, etc下的文件等。
例4: 网卡流量 min函数
{www.solutionware.com.cn.if.in[eth0,bytes].min(5m)}>100K
注释:主机www.solutionware.com.cn etho的网卡流量5分钟持续超过100k则报警。
例5 测试所有节点的smtp服务
{smtp1.solutionware.com.cn:net.tcp.service[smtp].last(0)}=0&{smtp2.solutionware.com:net.tcp.
service[smtp].last(0)}=0
注释:注意& 表达式2侧的主机不同,例子的意思是:主机smtp1.solutionware.com.cn 和主机smtp2.solutionware.com.cn的smtp服务停止则报警
。
例6 代理程序需要更新
{www.solutionware.com.cn:agent.version.str("beta8")}=1
注释:当主机www.solutionware.com.cn的代理程序需要更新的时候报警
例7 主机ping
{www.solutionware.com.cn:icmpping.count(30m,0)}>5
注释:当主机www.solutionware.com.cn
例8 心跳的测试 nodata()函数
{www.solutionware.com.cn.tick.nodata(3m)}=1
注释:这里监控类型必选选择zabbix trapper.如果3分钟内心跳没数据则报警
例9 cpu 负载在某时间段
{www.solutionware.com.cn:system.cpu.load[all,avg1].min(5m)}>2&{www.solutionware.com.cn:system.cpu.load[all,avg1].time(0)}>000000&{www.solutionware.com.cn:system.cpu.load[all,avg1].time(0)}<060000
注释:在at night (00:00-06:00)这一时间段如果主机www.solutionware.com.cn 在5分钟之内的负载一直大于2则报警
例:10 数据库时间检测
{MySQL_DB:system.localtime.fuzzytime(10)}=0
注释:如果数据库mysql_db的时间和系统时间10s钟一直不一致则报警。
1.4 Trigger severity(警报级别)
Trigger severity用来显示Trigger 的级别,zabbix支持一下几个警报级别。
级别
|
|
颜色
|
Not classified
|
未知
|
Grey
|
Information
|
系统信息
|
Light green
|
Warning
|
警告
|
yellow
|
Average
|
一般性问题
|
orange
|
High
|
严重警告
|
red
|
Disaster
|
数据丢失
|
Bright red
|
分级别的目的:
1不同的警报代表不同的颜色
2 声音警报,不同的级别的可以用不同的声音做警报提示。
3 不同的级别使用不同的报警通知方式,比如sms email……..
1.5 Trigger severity(警报级别)的配置
级别的名称和颜色是可以静心配置的,
Administration-->
General → Trigger severities,
如下图所示,修改名称和颜色后保存即可。
1.1 Trigger支持的单位
S
|
秒
|
h
|
小时
|
M
|
分
|
d
|
天
|
W
|
星期
|
K
|
Kilo
|
M
|
mega
|
G
|
giga
|
T
|
tera
|
P
|
peta
|
E
|
exa
|
Z
|
zetta
|
Y
|
yotta
|
|
|
例:
host:zabbix[proxy,zabbix_proxy,lastaccess]}>120
{host:system.uptime[].last(0)}<86400
{host:system.cpu.load.avg(600)}<10
等价于
{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m
{host:system.uptime.last(0)}<1d
{host:system.cpu.load.avg(10m)}<10
只所以弄单位主要还是为了方便书写
转载于:https://blog.51cto.com/nanwangting/1046902