一、zabbix介紹
“zabbix([`zæbiks])是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix由2部分構成,zabbix server與可選組件zabbix agent。zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。”
Zabbix是一個企業級的、開源的、分佈式的監控套件
Zabbix可以監控網絡和服務的監控狀況. Zabbix利用靈活的告警機制,允許用戶對事件發送基於Email的告警。這樣可以保證快速的對問題作出響應. Zabbix可以利用存儲數據提供傑出的報告及圖形化方式. 這一特性將幫助用戶完成容量規劃。
Zabbix支持polling和trapping兩種方式. 所有的Zabbix報告都可以通過配置參數在WEB前端進行訪問。Web前端將幫助你在任何區域都能夠迅速獲得你的網絡及服務狀況。 Zabbix可以通過儘可能的配置來扮演監控你的IT基礎框架的角色,而不管你是來自於小型組織還是大規模的公司。
Zabbix是零成本的. 因爲Zabbix編寫和發佈基於GPL V2協議. 意味着源代碼是免費發佈的。
Zabbix公司也提供商業化的技術支持。
二、zabbix特性
數據收集
可用性及性能檢測、自定義檢測、支持SNMP、IPMI、JMX監控。
靈活的閾值定義
允許靈活地自定義問題閥值,Zabbix中稱爲觸發器(trigger), 存儲在後端數據庫中
高級告警配置
可以自定義告警升級(escalation)、接收者及告警方式
實時繪圖
通過內置的繪圖方法實現監控數據實時繪圖
歷史數據存儲
數據存儲在數據庫中,歷史數據可配置,有內置數據清理機制
配置簡單模板使用
主機通過添加監控設備的方式添加,一次配置終生監控,同時監控設備允許使用模板。
網絡自動發現
模板中可以添加組監控,同時模板可以允許繼承
Zabbix-api
Zabbix api提供程序級別的訪問接口,第三方程序可以很快接入;而且通過zabbix proxy可以創建遠程監控。
三、zabbix的主要特點
安裝與配置簡單,學習成本低
支持多語言(包括中文)
免費開源
自動發現服務器與網絡設備
分佈式監視以及WEB集中管理功能
可以無agent監視
用戶安全認證和柔軟的授權方式
通過WEB界面設置或查看監視結果
email等通知功能
等等
Zabbix主要功能:
1、CPU負荷
2、內存使用
3、磁盤使用
4、網絡狀況
5、端口監視
6、日誌監視
四、 zabbix的構成
zabbix_agentd
客戶端守護進程,此進程收集客戶端數據,例如cpu負載、內存、硬盤使用情況等。
zabbix_get
zabbix工具,單獨使用的命令,通常在server或者proxy端執行獲取遠程客戶端信息的命令。通常用戶排錯。例如在server端獲取不到客戶端的內存數據,我們可以使用zabbix_get獲取客戶端的內容的方式來做故障排查。
zabbix_server
zabbix服務端守護進程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的數據最終都是提交到server;當然不是所有數據都是主動提交給zabbix_server,也有的是server主動去取數據。
zabbix_proxy
zabbix代理守護進程。功能類似server,唯一不同的是它只是一箇中轉站,它需要把收集到的數據提交/被提交到server裏。
五、zabbix功能
1、支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)
2、支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本)
3、支持分佈式,能集中展示、管理分佈式的監控點
4、擴展性強,server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程序實現)
編寫插件容易,可以自定義監控項,報警級別的設置。
數據收集:
1、可用和性能檢測
2、支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET
3、自定義的檢測
4、自定義收集數據的頻率
5、服務器/代理和客戶端模式
6、靈活的觸發器
7、可以定義非常靈活的問題閾值,稱爲觸發器,從後端數據庫的參考值
8、高可定製的報警
9、發送通知,可定製的報警升級,收件人,媒體類型
10、通知可以使用宏變量有用的變量
11、自動操作包括遠程命令
12、實時的繪圖功能
13、監控項實時的將數據繪製在圖形上面
六、zabbix 通訊方式
agent:
通過專用的代理程序進行監控,與常見的master/agent模型類似
ssh/telnet:
通過遠程控制協議進行通訊,比如ssh或者telnet。
SNMP:
SNMP協議的全稱爲Simple Network Management Protocol;,被譯爲簡單網絡管理協議,路由器、交換機這種硬件上不支持agent,但是這些硬件往往都支持SNMP協議,SNMP是一種比較久遠的、通行的協議,大部分網絡設備都支持這種協議,其實SNMP協議的工作方式也可以理解爲master/agent的工作方式,只不過是在這些設備中內置了SNMP的agent而已,所以,大部分網絡設備都支持這種協議。
IPMI:
通過標準的IPMI硬件接口,監控被監控對象的物理特徵,比如電壓,溫度,風扇狀態,電源狀態等。
JMX:
通過JMX進行監控,JMX(Java Management Extensions,即Java管理擴展),監控JVM虛擬機,使用這種方法也是非常不錯的選擇。