監控系統在運維自動化里的角色,可以用下面三點來概括:
1、監控數據收集及可視化
2、異常數據報警
3、和其他系統協同工作。
使用zabbix時,一般需要在被監控的服務器上安裝Zabbix Agent,Zabbix Server 會和Zabbix Agent進行過通信,獲取監控數據,這是Zabbix監控的一般模式。
選擇Zabbix的理由:
- 監控系統能夠自定義監控的內容,可以自己寫腳本來收集需要的數據
- 數據要保存在數據庫中,這樣在需要的時候可以對這些數據進行分析計算
- 能夠方便、快速得將監控加入到服務器上,不需要繁瑣的操作
- 數據可視化不要很花哨,但要好用
- 可以定義復雜啊的報警邏輯,做到Item之間的關聯報警,而不是只能針對一個
- 報警需要被確認,讓運維人員知道多少報警已經有人認領並開始處理了
- 報警方式要能夠自定義,可以發郵件、發短信
- 報警內容要自己可設置,在報警右鍵中加入一些簡單的分析人,而不是讓運維人員上服務器敲命令來獲取基本的信息
- 報警后可以自動跑一些命令。這些命令可以是獲取運維人員需要的信息,也可以是自動修復,比如重啟服務等。
- 有強大的API可以使用,可以讓其他系統來調用完成工作。
- 監控數據是開放的,數據庫中的數據結構發不要太復雜,讓人無從下手
- 監控可視化的圖可以方便的引用,而不是要用一大串JavaScript
Zabbix Server:Zabbix的控制中心,收集數據、寫入數據庫都是它的干工作。
Zabbix Agent:部署在被監控服務器上的一個進程,負責和Zabbix Server交互,執行命令。
Host:廣義上的服務器,大多數情況指代的是刀片機這類,在少部分時間會知道包括交換機在呢誒的,被Zabbix 監控的實體。
Item:對於某一個指標的監控,對應的是Items,英文願意是“物品”。比如某台服務器的CPU負載就是一個Item。
Trigger:一些邏輯規則的組合,它有三個值:正常、異常、未知、
Action:當Trigger符合某個值的時候,Zabbix會進行的操作,比如常見的發郵件。