Zabbix監控原理及架構

什麼是Zabbix?

Zabbix是一個用於網絡,操做系統和應用程序的開源監控軟件,它旨在監視和跟蹤各類網絡服務,服務器和其餘網絡硬件的狀態。html

爲何須要對各種系統進行監控?

在系統構建時的正常流程中,一般是不容許未被監控的系統或應用上線的,由於未被監控的系統存在不可預知性、故障未知性等不穩定因素,且沒法及時被發現並排除。這對整個架構或系統來講都是很大的風險隱患。因此咱們原則上是須要對整個架構或系統進行監控,隨時監測系統各方面的指標是否正常,以提升整個系統的穩定性。服務器

Zabbix是如何實現系統監控的?

一個完整的監控系統所需指標:

1.採樣:週期性的獲取某個被監測指標的相關數據網絡

2.存儲:將採集到的數據存儲在指定的存儲系統中,Zabbix默認是MySQL架構

  對於數據的存儲可分爲兩大類:app

  歷史數據:可理解爲過去某一時間點的數據分佈式

  趨勢數據:可理解爲過去某一段時間的數據ide

3.展現:採集完數據後,爲了使數據能更直觀的展示在用戶面前,可將採集到的數據作二次處理,作成各種圖形。Zabbix就是使用的PHP程序將採集的數據經過Web GUI直觀的展現給用戶。spa

4.報警:當監控的指標出現異常時須要監控系統能自動的發出告警信息,甚至在出現報警後能自動完成修復。操作系統

Zabbix支持的數據採集協議:

1.SNMP:(Simple Network Management Protocol),這是一個很是古老的且通用的監控協議,幾乎任何設備都支持用此方式進行系統監控。scala

2.Agent:在被監控端安裝專門的監控程序,將數據採集後經過Agent發送至Server。

3.IPMI:智能平臺管理接口。可在經常使用的服務器上看到相似以太網口的接口。

4.JMX:Java Management Extensions

Zabbix的經常使用組件:

1.Zabbix Web GUI:提供Web界面

2.Zabbix Database:提供數據存儲功能,專用於存儲配置信息,以及採集到的數據

3.Zabbix Server:接收Agent採集數據的核心組件。

4.Zabbix Agent:部署在被監控主機上,用於採集本地數據。

5.Zabbix Proxy:當被監控節點較多時,用於減輕Server壓力的組件,也用於分佈式監控系統。由Proxy接收數據後統一發送至Server。

Zabbix架構圖:

Zabbix邏輯圖:

Zabbix邏輯組件:

主機組(host groups)

主機(hosts)

應用(application)

監控項(items)

觸發器(triggers)

事件(events)

動做(actions):條件(conditions)和操做(operations)

媒介(media):發送通知的通道,短信,郵件等

通知(notiflcations)

遠程命令(remote command)

報警升級(escalation)

模板(template)

圖形(graph)

屏幕(screens)

幻燈(slide show)

Zabbix實現監控的兩種模式:

簡單的講,主動模式和被動模式都是將Agent做爲參照的

主動模式:由Agent主動創建TCP連接並向Server端發送請求。

被動模式:由Server創建TCP連接並向Agent端發送請求。

 

Zabbix基礎教程:http://www.javashuo.com/article/p-mjdgrqcs-hq.htmlhttp://www.javashuo.com/article/p-mdjxxfit-hp.html

相關文章
相關標籤/搜索