Zabbix監控原理及架構

什麼是Zabbix?

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

爲什麼需要對各類系統進行監控?

在系統構建時的正常流程中,通常是不允許未被監控的系統或應用上線的,因爲未被監控的系統存在不可預知性、故障未知性等不穩定因素,且無法及時被發現並排除。這對整個架構或系統來說都是很大的風險隱患。所以我們原則上是需要對整個架構或系統進行監控,隨時監測系統各方面的指標是否正常,以提高整個系統的穩定性。

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

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

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

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

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

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

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

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

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

Zabbix支持的數據採集協議:

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

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架構:

744px-Zabbix_architecture.svg_副本.png

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端發送請求。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章