zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。 zabbix組件主要分兩個: zabbix-server和zabbix-agent。支持的監控協議有ICMP,IPMI,SNMP,HTTP以及zabbix協議(最常使用的協議用來監控各被監控端)。 收集的數 ...
zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。
zabbix組件主要分兩個: zabbix-server和zabbix-agent。支持的監控協議有ICMP,IPMI,SNMP,HTTP以及zabbix協議(最常使用的協議用來監控各被監控端)。
收集的數據存放在資料庫中,資料庫支持mysql,oracle等等。
第三個組件:zabbix web gui這個介面提供web頁面來監控和管理各被監控端。
第四個組件:zabbix proxy(實現分散式監控專用組件非必要組件,被監控伺服器超過一千以上。)
工作流程圖:
zabbix_get去客戶端收集數據,zabbix_agentd通過監聽在一個套接字上接收zabbix_get的請求,通過zabbix_sender將數據收集發送給伺服器端,數據保存在zabbix資料庫中這種方法主要用於測試,通過寫腳本或遠程執行命令的方式。
zabbix server自己自動會周期性的去被監控端收集數據,收集哪些數據由服務端事先定義。
zabbix server ,zabbix database,zabbix web gui 可以部署在一臺伺服器上,為了提升性能可以放在不同主機上。
zabbix一些常用術語:
host(主機):要監控的網路設備,可由IP或DNS名稱指定
host group(主機組):主機的邏輯容器,可以包含主機和模板,但同一個組內的主機和模板不能互相鏈接;主機組通常在給用戶或用戶組指派監控許可權時使用(大致瞭解下就可以了)。
item(監控項):這個從名字上可以理解,具體要監控哪些指標由它定義。
trigger(觸發器):就是超過了定義的合理範圍,這家伙就會報警。
event(事件):這都是觸發器產生的。
action(動作):對事件如何應對,比如要執行哪些操作。
escalation(報警升級):如果在定義的5分鐘沒反應,從warning級別升到high級別,就是要提醒別人要儘快處理。
media(媒介):發送報警的手段和通道,如Email。
remote command(遠程命令):預定義的命令,可在被監控主機處於某個特定條件下時自動執行。
template(模板):用於快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接鏈接至單個主機。(這個概念不理解不過沒關係的,只要具體會怎麼操作就可以了)
application(應用):一組item的集合。
以上術語的關係可以用下圖表示(大致明白就行):
上圖中的poller這個進程就是去各客戶端獲取數據的。
zabbix產生的數據主要由四部分組成:
配置數據(忽略)
歷史數據:50bytes
歷史趨勢數據: 128bytes
事件數據:130bytes
通過對以上數據的計算,可以得出我們需要一個多大的zabbix資料庫,來定製磁碟硬體。