自動化營運工具之Zabbix觸發器_action動作及模板應用(二)

來源:互聯網
上載者:User

標籤:監控系統   server   action   觸發器   運算式   

  一個完善的監控系統需要一定的警示機制,什麼時候警示警需要觸發器,怎麼警示,在什麼情況下如何警示取決於action動作:

建立觸發器(trigger)

  **"監控項"僅負責收集資料,而通常收集資料的目的還包括在某指標對應的資料超出合理範圍時給相關人員發送警示資訊,"觸發器"正是用於為監控項所收集的資料定義閾值。


  **每個觸發器僅能關聯至一個監控項,但可以為一個監控項或同時使用多個觸發器:

    事實上,為一個監控項定義多個具有不用閾值的觸發器,可以實現不用層級的警示功能


  **一個觸發器由一個運算式構成,它定義監控項所採取的資料的一個閾值。


  **一旦某次採集的資料超出了此觸發器定義的閾值,觸發器狀態將會轉換為"Problem";而當採取的資料再次迴歸至合理範圍內時,其狀態將重新返回到"OK"


觸發器運算式

**觸發器運算式高度靈活,可以建立出非常複雜的測試條件

**基本的觸發器運算式如下所示:

{<server>:<key>.<function>(<parameter>)}<operator><constant>

-->server : 主機名稱

-->key : 主機上關係的相應監控項的key;

-->funtion:評估採集到的資料是否合理範圍內時所使用的函數,其評估過程可以根據採集的資料、目前時間及其它因素進行;

-->目前,觸發器所支援的函數有avg、count、change、date、dayofweek、delta、diff、iregexp、last、max、min、nodata、now、sum等

-->parameter:函數參數;大多數數值函數可以接受秒數為其參數,而如果在數值參數之前使用"#"作為首碼,則表示為最近幾次的取值,如果sum(300)表示300秒內所有取值之和,而sum(#10)則表示最近10次取值之和;

-->此外,avg、count、last、min和max還支援使用第二個參數,用於完成時間限定;例如,max(1h,7d)將返回一周之前的最大值;


operator:運算式所支援的運算子及其功能如下所示:

PRIORITY
OPERATOR
DEFINITION
1
/
Division
2
*
Multiplication
3
-
Arithmetical minus
4
+
Arithmetical plus
5
<
Less than. The operator is defined as: A<B <=> (A<=B-0.000001)
6
>
More than. The operator is defined as: A>B <=> (A<=B+0.000001)
7
#
Not equal. The operator is defined as:A#B <=>(A<=B-0.000001)|(A>=B+0.000001)
8
=
Is equal. The operator is defined as:A=B <=>(A<=B-0.000001)|(A>=B+0.000001)
9
&
Logical AND
10
|
Logical OR


觸發器運算式例子:

{www.samlee.com:system.cpu.load[all,avg1].last(0)}>3
-->表示主機-->對last函數來說,last(0)相當於last(#1)


建立觸發器:

建立觸發器各種可用的屬性說明:

-->Name: 觸發器名稱,可以使用宏,如$1、$2、....、$9等;

-->Expression:邏輯運算式,用於評估觸發器狀態;

-->Multiple PROBLEM events generation:依賴於當前觸發器的"Problem"狀態產生其他事件;

-->Description: 當前觸發器的描述資訊;

-->URL:在screen的"Status of Trigger"中顯示的內容的連結;

-->Severity: 當前觸發器的嚴重層級;

-->Enabled:是否啟用當前觸發器;



下面我們通過執行個體示範應用Zabbix觸發器:

(1)建立觸發器trigger:入站流量過大

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/49/wKioL1gPBWmBpXmqAAFInueuGUI180.png" title="建立觸發器.png" alt="wKioL1gPBWmBpXmqAAFInueuGUI180.png" />

(2)觸發器觸發後執行動作(action)及媒介定義

-->在配置好監控項和觸發器之後,一旦正常工作中的某觸發器狀態發生改變,一般意味著有異常情況發生,此時通常需要採取一定動作(action),如警示或者執行遠程命令等。

-->並非所有的觸發器狀態發生改變的情境都需要對其進行幹預,如轉變為"OK"狀態時,相應地,如果觸發器的狀態轉變為"Problem",就需要告知所有關心其相關監控指標的人員了。

-->"通知(notification)"是zabbix中最常用的"動作"之一。


實現zabbix通知功能,一般需要兩個步驟:

-->定義所需的"媒介(media)": 通常指發送資訊的途徑,如郵件、Jabber和SMS等;

-->配置一個"動作(action)": 發送資訊至某"媒介";

動作由"條件"和"操作"組成,它的邏輯為當"條件"滿足時,就執行相應的"操作"

"發送通知"和"執行遠程命令"是兩個最基本的操作


zabbix事件(event)

Zabbix的時間是基於時間戳記進行標記,它們是採取動作(action)如發送郵件通知的基礎,其主要來源於三種途徑:

-->觸發器(trigger)事件:觸發器狀態每次發生改變,都會產生相應"事件",且通常包含詳細資料,如發生的時間及新的狀態等;


-->發現(discovery)事件: zabbix會周期期性掃描"網路發現規則"中指定的IP範圍,一旦發現主機或服務,就會產生一個或幾個發現時間;


-->發現事件有8類: Service Up、Service Down、Host Up、Host Down、Service Discovered、Service Lost、Host Discovered和Host Lost;


-->主動agent自動探索事件(也稱為"自動註冊事件"): 當一個此前狀態未知的主動agent發起檢測請求時會產生此舉事件;


因此,在Zabbix的通知機制也稱做基於事件的通知機制,也只有理解了事件本身,才能定製符合需求的通知系統。


警示媒介類型(Media type)

在zabbix中,媒介指發送通知資訊的通道,其通常有以下幾種類型:

-->E-mail: 電子郵件,即通知訊息的方式傳送通知資訊;

-->SMS: 手機簡訊,即通過串連至zabbix伺服器GSM Modem發送通知;

-->Jabber: jabber訊息;Jabber是一個開發的、基於XML的協議,能夠實現基於Internet或LAN的即時通訊服務;

-->自訂的通知指令碼:以上方式不能滿足需求時,Zabbix可以調用位於其設定檔"AlertScriptPath"變數所定義的指令碼尋找目錄中的指令碼來完成通知功能;


自訂媒介類型,如下所示:650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/89/4B/wKioL1gPElCz7YeCAAB-9ks6ohw122.png" title="建立郵件媒介.png" alt="wKioL1gPElCz7YeCAAB-9ks6ohw122.png" />


建立zabbix使用者組及使用者:

(1)建立組:Managers CTOs zabbix_user

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/4D/wKiom1gPF3rDu0LrAABof9iSYEg550.png" style="float:none;" title="Managers.png" alt="wKiom1gPF3rDu0LrAABof9iSYEg550.png" />

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/89/4B/wKioL1gPF3uDatk1AABkqZ8eX0E754.png" style="float:none;" title="CTOs.png" alt="wKioL1gPF3uDatk1AABkqZ8eX0E754.png" />

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/89/4D/wKiom1gPF3vQu2h8AACBDib6xQA777.png" style="float:none;" title="zabbix_user.png" alt="wKiom1gPF3vQu2h8AACBDib6xQA777.png" />


(2)建立使用者:tom隸屬CTOs 修改Admin媒介為loclhost_mailservice

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/4D/wKioL1gPKJjz4I2IAACref2w9Tg025.png" style="float:none;" title="建立使用者1.png" alt="wKioL1gPKJjz4I2IAACref2w9Tg025.png" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/89/4F/wKiom1gPKJiRtXQEAAC4EoW9b8M933.png" style="float:none;" title="建立使用者2.png" alt="wKiom1gPKJiRtXQEAAC4EoW9b8M933.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/4D/wKioL1gPKJiT36vKAADXdYAV2po549.png" style="float:none;" title="建立使用者3.png" alt="wKioL1gPKJiT36vKAADXdYAV2po549.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/4F/wKiom1gPKJnDdzceAACw1B4YKpc680.png" style="float:none;" title="修改使用者1.png" alt="wKiom1gPKJnDdzceAACw1B4YKpc680.png" />


定義動作action,實現第1步和第2步實現先遠程執行命令重啟服務,第3步至最後一步發送資訊至相關人員通知:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/89/4E/wKioL1gPNqrD9cfMAADXOro-8yA842.png" style="float:none;" title="建立action1.png" alt="wKioL1gPNqrD9cfMAADXOro-8yA842.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/89/50/wKiom1gPNqujvMmYAADN767oZEQ310.png" style="float:none;" title="建立action2.png" alt="wKiom1gPNqujvMmYAADN767oZEQ310.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/50/wKiom1gPNqzRwQ6HAADnqnvHMU4064.png" style="float:none;" title="建立action3.png" alt="wKiom1gPNqzRwQ6HAADnqnvHMU4064.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/89/4E/wKioL1gPNq3xJ3M_AADrpAD61cs631.png" style="float:none;" title="建立action4.png" alt="wKioL1gPNq3xJ3M_AADrpAD61cs631.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/89/4E/wKioL1gPNq6ygImlAACUVfC3tCM210.png" style="float:none;" title="建立action5.png" alt="wKioL1gPNq6ygImlAACUVfC3tCM210.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/89/50/wKiom1gPNq-z9uaFAACF-itNf9A600.png" style="float:none;" title="建立action6.png" alt="wKiom1gPNq-z9uaFAACF-itNf9A600.png" />

以為測試條件

最後測試如下:

啟動postfix服務然後就是等待那個閾值出現,你可以在shell裡面watch -n 1 ‘ifconfig eth0‘,如果想快點直接測試lo,通過ab壓力測試,那個流量剛剛的,或者直接看screen,當我們定義了閾值,閾值設定較低 虛實線圖下面:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/53/wKioL1gP-fmCStbHAACRv9Je8Lk552.png" title="觸發器動作測試1.png" alt="wKioL1gP-fmCStbHAACRv9Je8Lk552.png" />

首先zabbix首頁會有action成功,在命令列就可以看到自己的mail了

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/55/wKiom1gP-v_BKZ5YAADRz7Wyoyc328.png" title="測試最後.png" alt="wKiom1gP-v_BKZ5YAADRz7Wyoyc328.png" />


定義Zabbix模板快速部署主機監控

(1)定義zabbix模板:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/56/wKiom1gQFUKCMFO3AACddRyDHMY859.png" style="float:none;" title="建立模板1.png" alt="wKiom1gQFUKCMFO3AACddRyDHMY859.png" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/54/wKioL1gQFUKR-QzfAABxAsgwbe0022.png" style="float:none;" title="建立模板2.png" alt="wKioL1gQFUKR-QzfAABxAsgwbe0022.png" />


(2)定義監控項item及Graph

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/55/wKioL1gQGLXwqitEAADT2ajHciA670.png" style="float:none;" title="建立模板item1.png" alt="wKioL1gQGLXwqitEAADT2ajHciA670.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/89/57/wKiom1gQGLXwzbAhAADU02KEJMk874.png" style="float:none;" title="建立模板item2.png" alt="wKiom1gQGLXwzbAhAADU02KEJMk874.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/55/wKioL1gQGLWRqEOHAAC4x-lDEoQ785.png" style="float:none;" title="建立模板item3.png" alt="wKioL1gQGLWRqEOHAAC4x-lDEoQ785.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/57/wKiom1gQG13giq0UAADW0SHCEdc210.png" style="float:none;" title="建立模板item4.png" alt="wKiom1gQG13giq0UAADW0SHCEdc210.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/55/wKioL1gQG12AFvC3AADXLyidpNo081.png" style="float:none;" title="建立模板item5.png" alt="wKioL1gQG12AFvC3AADXLyidpNo081.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/57/wKiom1gQG12T4p6oAAC0eOt8z6I895.png" style="float:none;" title="建立模板item6.png" alt="wKiom1gQG12T4p6oAAC0eOt8z6I895.png" />


(3)定義監控Screens

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/57/wKiom1gQHJKx6dx-AABfoAoXEoc376.png" style="float:none;" title="建立模板screens1.png" alt="wKiom1gQHJKx6dx-AABfoAoXEoc376.png" />

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/89/57/wKiom1gQHJTTKRJlAACfltofzBc382.png" style="float:none;" title="建立模板screens2.png" alt="wKiom1gQHJTTKRJlAACfltofzBc382.png" />

(4)定義模板觸發器

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/89/55/wKioL1gQIBvh4RT4AACsrrvPnnM345.png" title="建立模板觸發器1.png" alt="wKioL1gQIBvh4RT4AACsrrvPnnM345.png" />


(5)定義動作action指定觸發器都執行

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/57/wKiom1gQII6wugxuAACZy7vIWkM376.png" title="修改action.png" alt="wKiom1gQII6wugxuAACZy7vIWkM376.png" />

實現一個action為多個觸發器警示。

zabbix模板定義完成。


最後添加監控主機,調用模板快速部署:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/58/wKiom1gQJJGjwLaSAADYw2rpAvY371.png" style="float:none;" title="建立主機1.png" alt="wKiom1gQJJGjwLaSAADYw2rpAvY371.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/55/wKioL1gQJJKhoXmSAABdPv5gaHs540.png" style="float:none;" title="建立主機2.png" alt="wKioL1gQJJKhoXmSAABdPv5gaHs540.png" />

使用模板快速部署完成。

本文出自 “Opensamlee” 部落格,請務必保留此出處http://gzsamlee.blog.51cto.com/9976612/1865878

自動化營運工具之Zabbix觸發器_action動作及模板應用(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.