?第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
只所以弄單位主要還是為了方便書寫
原文轉自http://blog.csdn.net/caodaoxi/article/details/17740377
總結
以上是生活随笔為你收集整理的zabbix的入门到精通之zabbix的触发器Trigger的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。