Zabbix是一個用於網絡,操做系統和應用程序的開源監控軟件,它旨在監視和跟蹤各類網絡服務,服務器和其餘網絡硬件的狀態。html
在系統構建時的正常流程中,一般是不容許未被監控的系統或應用上線的,由於未被監控的系統存在不可預知性、故障未知性等不穩定因素,且沒法及時被發現並排除。這對整個架構或系統來講都是很大的風險隱患。因此咱們原則上是須要對整個架構或系統進行監控,隨時監測系統各方面的指標是否正常,以提升整個系統的穩定性。服務器
1.採樣:週期性的獲取某個被監測指標的相關數據網絡
2.存儲:將採集到的數據存儲在指定的存儲系統中,Zabbix默認是MySQL架構
對於數據的存儲可分爲兩大類:app
歷史數據:可理解爲過去某一時間點的數據分佈式
趨勢數據:可理解爲過去某一段時間的數據ide
3.展現:採集完數據後,爲了使數據能更直觀的展示在用戶面前,可將採集到的數據作二次處理,作成各種圖形。Zabbix就是使用的PHP程序將採集的數據經過Web GUI直觀的展現給用戶。spa
4.報警:當監控的指標出現異常時須要監控系統能自動的發出告警信息,甚至在出現報警後能自動完成修復。操作系統
1.SNMP:(Simple Network Management Protocol),這是一個很是古老的且通用的監控協議,幾乎任何設備都支持用此方式進行系統監控。scala
2.Agent:在被監控端安裝專門的監控程序,將數據採集後經過Agent發送至Server。
3.IPMI:智能平臺管理接口。可在經常使用的服務器上看到相似以太網口的接口。
4.JMX:Java Management Extensions
1.Zabbix Web GUI:提供Web界面
2.Zabbix Database:提供數據存儲功能,專用於存儲配置信息,以及採集到的數據
3.Zabbix Server:接收Agent採集數據的核心組件。
4.Zabbix Agent:部署在被監控主機上,用於採集本地數據。
5.Zabbix Proxy:當被監控節點較多時,用於減輕Server壓力的組件,也用於分佈式監控系統。由Proxy接收數據後統一發送至Server。
Zabbix邏輯組件:
主機組(host groups)
主機(hosts)
應用(application)
監控項(items)
觸發器(triggers)
事件(events)
動做(actions):條件(conditions)和操做(operations)
媒介(media):發送通知的通道,短信,郵件等
通知(notiflcations)
遠程命令(remote command)
報警升級(escalation)
模板(template)
圖形(graph)
屏幕(screens)
幻燈(slide show)
簡單的講,主動模式和被動模式都是將Agent做爲參照的
主動模式:由Agent主動創建TCP連接並向Server端發送請求。
被動模式:由Server創建TCP連接並向Agent端發送請求。
Zabbix基礎教程:http://www.javashuo.com/article/p-mjdgrqcs-hq.html,http://www.javashuo.com/article/p-mdjxxfit-hp.html