Zabbix基礎理論

Zabbix概述

Zabbix是一個企業級的開源分佈式監控解決方案,由C語言編寫而成的底層架構(server端和agent端),由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。

官方網站:http://×××w.zabbix.com

Zabbix通過C/S模式採集數據,通過B/S模式在web端展示和配置。

被監控端:主機通過安裝agent方式採集數據,網絡設備通過SNMP方式採集數據

Server端:通過收集SNMP和agent發送的數據,寫入MySQL數據庫,再通過php+apache在web前端展示。

Zabbix運行條件

  • Server
Zabbix Server需運行在LAMP(Linux+Apache+Mysql+PHP)環境下,對硬件要求低
  • Agent
目前已有的agent基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、windows等
  • SNMP
支持各類常見的網絡設備

Zabbix功能

具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通用協議監控、多種告警方式、詳細的報表圖表繪製)

支持自動發現網絡設備和服務器,支持分佈式,能集中展示、管理分佈式的監控點,擴展性強,server提供通用接口,可以自己開發完善各類監控。

Zabbix優劣勢

  • 優點
開源,無軟件成本投入;

Server對設備性能要求低(實際測試環境:虛擬機Redhat EL AS5,2GCPU 1G內存,監控5臺設備,CPU使用率基本保持在10%以下,內存剩餘400M以上);

支持設備多;

支持分佈式集中管理;

開放式接口,擴展性強;

當監控的item比較多服務器隊列比較大時可以採用被動狀態,被監控客戶端主動從server端去下載需要監控的item然後取數據上傳到server端。這種方式對服務器的負載比較小。
  • 缺點
無廠家支持,出現問題解決比較麻煩

需在被監控主機上安裝agent,所有數據都存在數據庫裏,產生的數據據很大,瓶頸主要在數據庫。

Zabbix工作原理

Agentd安裝在被監控的主機上,Agent負責定期收集客戶端本地各項數據,併發送至Zabbix Server端,Zabbix Server收到數據,將數據存儲到數據庫中,用戶基於Zabbix WEB可以看到數據在前端展現圖像。當Zabbix監控某個具體的項目,改項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動作,動作包括:發送信息(郵件、微信、短信)、發送命令(SHELL 命令、Reboot、Restart、Install等)。

Zabbix工作模式

主動模式:由agent端主動收集信息發送給server端 工具是zabbix_sender

被動模式:由server端主動拉取信息 工具是zabbix_get

Zabbix角色組件

Zabbix agent:負責部署在被監控主機上,把被監控主機的數據傳送給zabbix server

Zabbix server:負責接收agent發送的信息,組織配置信息,統計配置信息和操作數據等

Zabbix database: 用於存儲zabbix的所有配置信息,監控數據的數據庫

Zabbix web: zabbix的web界面,管理可以通過zabbix的web界面管理zabbix配置以及查看zabbix的監控信息,可以獨一部署在一臺服務器上

Zabbix proxy:分佈式環境中使用,zabbix proxy代表server端管理該區域中的信息收集,最終統一發往zabbix server

Zabbix通訊方式

agent:通過專用的代理程序進行監控

ssh/Telnet:通過遠程控制協議進行通訊

SNMP:通過SNMP協議與被監控對象進行通訊,路由器和交換機支持

SNMP,其實也是一種agent

IPMI:通過IPMI接口進行監控,通過IPMI硬件接口監控,電壓,溫度,風扇,和電源狀態

JMX:通過(java management extensions Java管理擴展)監控JVM虛擬機

在這裏插入圖片描述

Zabbix分佈式的監控體系

監控數據被提交給zabbix proxy 再 提交給zabbix server

在這裏插入圖片描述

Zabbix監控架構

在實際監控架構中,zabbix根據網絡環境、監控規模等分了三種架構: server-client 、master-node-client、server-proxy-client三種 。
  • server-client架構
也是zabbix的最簡單的架構,監控機和被監控機之間不經過任何代理 ,直接由zabbix server和zabbix agentd之間進行數據交互。適用於網絡比較簡單,設備比較少的監控環境 。
  • server-proxy-client架構
其中proxy是server、client之間溝通的一個橋樑,proxy本身沒有前端,而且其本身並不存放數據,只是將agentd發來的數據暫時存放,而後再提交給server 。該架構經常是和master-node-client架構做比較的架構 ,一般適用於跨機房、跨網絡的中型網絡架構的監控。
  • master-node-client架構
該架構是zabbix最複雜的監控架構,適用於跨網絡、跨機房、設備較多的大型環境 。每個node同時也是一個server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和數據庫,其要做的是將配置信息和監控數據向master同步,master的故障或損壞對node其下架構的完整性。

謝謝閱讀!

發佈了95 篇原創文章 · 獲贊 7 · 訪問量 6272
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章