更多文章請移步:www.yanjun.pro
1、告警工作流程
-
告警概述
告警是監控的重要職能,是指将達到某一門檻值事件的消息發送給使用者,讓使用者在事件發生後即可知道監控名額是否超過規定門檻值,進而決定是否采取相關措施處理故障
-
告警流程
首先是觸發器達到規定門檻值,然後action對事件資訊進行處理,一方面是給使用者發送告警資訊,另一方面是執行相關指令,達到對事件故障自動嘗試恢複的效果
- zabbix告警配置步驟
- 配置trigger(觸發器)
- 配置使用者
- 配置告警方式
- 配置action(動作)
2、告警觸發器(trigger)配置
2.1、trigger的作用
trigger是一組邏輯條件表達式,用于item在其更新周期内所産生的資料與目标門檻值是否相同。在zabbix-server首次啟動過程中,會将host、template、trigger、items等資料全部加載到記憶體緩存中,是以zabbix-server程序在收到每個item所産生的資料後,會立即在緩存中查找該item是否配置有trigger表達式,如果配置有,則将trigger表達式的門檻值與目前item的資料進行比較,若滿足門檻值,則判斷目前item處于故障(problem)狀态;若不滿足門檻值,則處于正常(OK)狀态
2.2、trigger的故障等級定義
trigger故障等級分為 p0 ~ p5 六個等級
- p0:災難級别,該級别為重大故障,涉及到核心業務的正常運作
- p1:危險級别,該級别為危險級别,涉及到應用的正常運作
- p2:一般級别,對系統有影響,但不涉及緻命危險的故障
- p3:警告級别,可能對系統具有影響的故障
- p4:資訊級别:不影響系統正常運作狀态的故障
- p5:不通知:一般用于測試告警
2.3、trigger配置步驟
trigger配置步驟為:【configuration】 —> 【hosts】/【templates】 —> 【triggers】 —> 【create trigger】
- 配置參數說明
- name:觸發器名稱,支援{HOST.HOST}、 {HOST.NAME}、 {HOST.CONN}、 {HOST.DNS}、 {HOST.IP}、 {ITEM.VALUE}、 {ITEM.LASTVALUE}
- Operational data:運作資料,運作資料允許定義任意字元串和宏,宏将在 Monitoring —> Problems 中動态解析為實時資料,雖然觸發器名稱中的宏将在問題發生時解析為它們的值,并将成為靜态問題名稱的基礎,但操作資料中的宏保持了動态顯示最新資訊的能力。
- Severity:觸發器的事件級别
事件級别 故障定義 故障燈顔色 Not classified 未知等級 灰色 Information 一般資訊 淺藍 Warning 警告資訊 黃色 Average 一般故障 橙色 High 進階别故障 淺紅 Disaster 緻命故障 紅色 - Expression:定義故障/問題的表達式
- OK event generation:确認事件生成選項
- Expression:問題/故障生成表達式
- Recovery expression:問題/故障恢複表達式
- None:不恢複到OK狀态
- Recovery expression:故障恢複表達式
- PROBLEM event generation mode:故障事件産生模式
- Single:在第一次告警觸發後,後續出現的相同告警會做告警聚合,最終隻産生一條告警資訊
- Multiple:在第一次告警觸發後,後續出現的相同告警不會做告警聚合,會産生多條告警資訊
- OK event closes:是否關閉OK事件
- All problems:關閉所有問題
- All problems if tag values match:關閉标簽比對的問題
- Allow manual close:是否允許手動關閉
- Tag for matching:輸入需要做比對的标簽,僅在“All problems if tag values match”開啟時使用
- URL:如果不為空,則可以在【Monitoring】 —> 【Problems】中看到該URL選項
- Enabled:是否啟用該trigger
2.4、trigger告警依賴配置
告警依賴,是指一個事件的成立,需要依賴另一個事件,一般用于邏輯比較複雜的業務
2.5、trigger表達式
- 表達式文法
{<server>:<key>.<函數>(<參數>)}<操作符><數值>
- 相關選項
-
函數
參考官方文檔
- 參數
- sum(600):對最近600秒内擷取到的數值求和
- sum(#5):對最近擷取到的5個數值求和
- avg、count、last、min、max:支援某個時間段之間的資料擷取
-
操作符
支援算數運算符和邏輯運算符
-
-
trigger表達式示例
判斷/etc/passwd檔案是否有變化,當檔案之前的cksum值與最近的值不同時,則觸發告警
{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff()}=1
3、告警處理配置
在trigger和告警表達式配置好後,如果item中比對到了告警表達式後,系統将觸發告警,但是預設情況下,告警資訊隻是在本地展現,并不會主動對外發送,是以需要配置告警的處理方式
3.1、action功能概述
action的功能主要是對發生的事件根據一定條件,采取相應的措施
action的事件來源有4種:trigger(觸發器)、discovery(網絡自動發現)、auto registration(agent自動注冊)、internal(内部事件)
3.2、action配置步驟
-
配置步驟
【configuration】 —> 【action】 —> 【create action】 —> “action”
- Name:action名稱
- Conditions:比對條件,zabbix支援的比對條件如下:
- trigger name
- trigger
- trigger severity
- application
- host
- host group
- problem is suppressed
- tag name
- tag value
- temple
- time priod
- enabled:是否啟用該action
4、告警處理措施
詳細配置,請參考官方文檔
4.1、告警處理措施的類型
- 發送消息:将故障資訊通過指定媒體發送出去
- 執行遠端指令:通過腳本處理故障
4.2、配置告警處理措施
【configuration】 —> 【action】 —> 【create action】 —> “Operations”
- 參數說明
- Default operation step duration:預設操作步驟間隔時間
- Pause operations for suppressed problems:暫停對隐藏問題的處理
- Operations:配置告警措施
- Recovery operations:恢複告警措施配置
- Update operations:更新告警措施配置
- 具體告警措施配置
- Operation type:措施類型
- send message:發送資訊
- remote command:遠端執行指令
- Steps:步驟,一個告警發送多次
- Step duration:每個步驟間隔時間
- Send to user groups:接受告警的使用者組
- Send to users:接受告警的使用者
- Send only to:告警發送方式,可以選擇一種,也可以選"all",如果使用者配置了多種告警接收方式,當配置為”all“時,使用者可以以多種方式接收同一個告警
- Custom message:自定義告警資訊
- Conditions:可以配置使用者在确認後不再繼續發送資訊
- Operation type:措施類型
5、配置Email告警
-
配置media類型
【Administration】 —> 【Media types】 —> 【create media types】
- Name:media類型名稱
- Type:media類型
- SMTP server:Email伺服器位址
- SMTP helo:SMTP伺服器位址
- SMTP email:發送郵件的郵箱
- 在使用者管理界面,添加對應的告警方式