什么是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架構圖:
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基礎教程:https://www.cnblogs.com/readygood/p/9655862.html,https://www.cnblogs.com/readygood/p/9670385.html