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
只所以弄單位主要還是爲了方便書寫
本文出自 “虛心求教” 博客,請務必保留此出處http://nanwangting.blog.51cto.com/608135/1046902