Zabbix 是一個廣泛使用的監控和管理系統,它的架構設計允許用戶實現高度可擴展性和分佈式監控。以下是 Zabbix 架構的詳細介紹:
Agent 是安裝在監控目標上的軟件代理,負責收集目標主機的性能數據和應用程序信息。它可以運行在被監控的伺服器、虛擬機器或網絡設備上。
Proxy 是一個位於被監控設備和Zabbix Server之間。它的主要功能是減輕Zabbix Server的壓力,特別是在大規模監控環境中。Proxy收集數據並將其轉發給Zabbix Server。可以降低監控負載,提高性能和可擴展性。
Server負責接收從Agent或Proxy收集的數據、處理事件和觸發、執行告警操作,最後將數據儲存到資料庫中。
Zabbix資料庫用於存儲收集到的監控數據、配置信息和事件日誌。它可以是 PostgreSQL、MySQL 或其他關聯式資料庫。
透過Web瀏覽器訪問,用戶可以查看監控數據、配置監控項目、設定告警規則和生成圖形化報表等。
參考以下架構圖,客戶端可透過Zabbix Proxy收集資料,回傳監控指標給本地端Zabbix Server,中間透過Proxy轉發是為了減少進程降低本地Server壓力,如果監控數量多,每分鐘每秒上百上千個Log回傳Server端容易發生當機,所以為機器做分類管理,透過Proxy回傳,一方面方便管理,也可以減緩Server端的壓力,實現分佈式監控。
客戶端向Zabbix Server回傳數據的方式分為兩種模式:主動和被動。
在主動模式下,Agent主動將數據請求等信息發送到Zabbix Server。
採用這種模式的優點:
在被動模式下,Zabbix Server主動向Agent請求獲取數據,然後Agent回傳數據給Zabbix Server。
採用這種模式的優點:
-可以更好地控制何時獲取數據。
-如目標設備不允許主動通信,則可選擇被動模式。
上述資料回傳方式,可依據監控模式與監控規模來做選擇,看表面上的文字可能比較不好理解,後續的文章會實作分享兩者差異。