Zabbix 5.0LTS企業級分佈式監控系統簡介之一
第一章 監控系統介
1.1 Zabbix簡介
Zabbix 是一個企業級分佈式開源監控解決方案。
Zabbix 軟件能夠監控衆多網絡參數和服務器的健康度、完整性。Zabbix 使用靈活的告警機制,允許用戶爲幾乎任何事件配置基於郵件的告警。這樣用戶可以快速響應服務器問題。Zabbix 基於存儲的數據提供出色的報表和數據可視化功能。這些功能使得 Zabbix 成爲容量規劃的理想選擇。
Zabbix 支持主動輪詢(polling)和被動捕獲(trapping)。Zabbix所有的報表、統計數據和配置參數都可以通過基於 Web 的前端頁面進行訪問。基於 Web 的前端頁面確保您可以在任何地方訪問您監控的網絡狀態和服務器健康狀況。適當的配置後,Zabbix 可以在監控 IT 基礎設施方面發揮重要作用。無論是對於有少量服務器的小型組織,還是擁有大量服務器的大企業而言,同樣適用。
Zabbix 是免費的。Zabbix 是根據 GPL 通用公共許可證的第二版編寫和發佈的。這意味着產品源代碼是免費發佈的,可供公共使用。
1.2 Zabbix功能
概述
Zabbix 是一個高度成熟完善的網絡監控解決方案,一個的軟件包中包含了多種功能。
- 可用性和性能檢查;
- 支持 SNMP(包括主動輪詢和被動捕獲)、IPMI、JMX、VMware 監控;
- 自定義檢查;
- 按照自定義的時間間隔採集需要的數據;
- 通過 Server/Proxy 和 Agents 來執行數據採集。
- 您可以參考後端數據庫定義非常靈活的告警閾值,即觸發器
- 可以根據遞增計劃、接收者、媒介類型自定義發送告警通知;
- 使用宏變量可以使告警通知變得更加高效有用;
- 自動操作包含遠程執行命令。
- 使用內置圖形功能可以將監控項實時繪製成圖形。
- Zabbix可以追蹤模擬鼠標在 Web 網站上的點擊操作,來檢查 Web 網站的功能和響應時間。
- 可以組合多個監控項到單個視圖中,創建自定義圖表;
- 網絡拓撲圖;
- 以儀表盤樣式展示自定義聚合圖形和幻燈片演示;
- 報表;
- 監控資源的更高層次展示視圖(業務視圖)。
- 存儲在數據庫中的數據;
- 歷史配置;
- 內置數據管理機制(housekeeping)。
- 將被監控設備添加爲主機;
- 主機一旦添加到數據庫中,就會採集數據用於監控;
- 將模板用於監控設備。
使用模板
- 模板中分組檢查;
- 模板可以關聯模板,繼承已關聯模板的屬性。
- 自動發現網絡設備;
- Zabbix Agent 發現設備後自動註冊;
- 自動發現文件系統、網絡接口和 SNMP OIDs 值。
- 基於 PHP 的 Web 前端;
- 可以從任何地方訪問;
- 您可以定製自己的操作方式;
- 您可以通過審計日誌來查看你的操作。
- Zabbix API 爲 Zabbix 提供可編程接口,用於批量操作、第三方軟件集成和其他用途。
- 安全的用戶身份驗證;
- 指定的用戶只能查看指定的權限範圍內的視圖。
- 部署於被監控對象上;
- 支持 Linux 和 Windows ;
- 爲了更好的性能和更少的內存佔用,採用 C 語言編寫;
- 便於移植。
- 使用 Zabbix Proxy 代理,可以輕鬆實現分佈式遠程監控。
1.3 Zabbix組件
Zabbix 由幾個主要的功能組件組成,其功能介紹如下所示。
1.3.1 Server
Zabbix server 是 Zabbix軟件的核心組件,agent 向其報告可用性、系統完整性信息和統計信息。server也是存儲所有配置信息、統計信息和操作信息的核心存儲庫。
1.3.2 數據庫
所有配置信息以及 Zabbix 採集到的數據都被存儲在數據庫中。
1.3.3 Web 界面
爲了從任何地方和任何平臺輕鬆訪問 Zabbix ,我們提供了基於 web 的界面。該界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 運行在同一臺物理機器上。
1.3.4 Proxy
Zabbix proxy 可以代替 Zabbix server採集性能和可用性數據。Zabbix proxy在Zabbix的部署是可選部分;但是proxy的部署可以很好的分擔單個Zabbix server的負載。
1.3.5 Agent
Zabbix agents 部署在被監控目標上,用於主動監控本地資源和應用程序,並將收集的數據發送給 Zabbix server。
1.3.6 數據流
另外,回過頭來整體的瞭解下 Zabbix 內部的數據流對Zabbix的使用也很重要。首先,爲了創建一個採集數據的監控項,您就必須先創建主機。其次,在任務的另外一端,必須要有監控項才能創建觸發器(trigger),必須要有觸發器來創建動作(action)。因此,如果您想要收到類似“X個server上CPU負載過高”這樣的告警,您必須首先爲 Server X 創建一個主機條目,其次創建一個用於監控其 CPU的監控項,最後創建一個觸發器,用來觸發 CPU負載過高這個動作,並將其發送到您的郵箱裏。雖然這些步驟看起來很繁瑣,但是使用模板的話,實際操作非常簡單。也正是由於這種設計,使得 Zabbix 的配置變得更加靈活易用。
1.4 Zabbix架構
1.5 如何選擇監控系統
企業中該如何選擇自己的監控系統?
需要監控的設備、系統、應用的規模/類型/地理位置;
需要展示哪些數據和報表;
支持哪些告警方式;
是否支持自動化部署配置;
是否支持分佈式部署;
是否支持二次開發及第三方系統對接;