zabbix的理論知識
1.zabbix是什么
zabbix是一款根據web頁面的、開源的、企業級的,可以分布式布置的監控軟件。
2.zabbix的作用
- 監控windows和Linux主機上的軟硬件狀態。
- 監控各網絡設備,如路由器、交換機、防火墻、f5、打印機等。
- 發送告警通知。
- 通過web頁面及圖形展示監控數據。
3.zabbix的特性
- 由server和agent程序協同工作,如果是分布式監控還需要proxy程序。
- 監控方式站在agnet的角度分為主動監控(agent active)和被動監控(agent)。
- 主動監控
當監控條目配置為agent active
時,即為主動監控,此時agent會主動根據配置好的時間間隔去向server或proxy詢問要監控哪些item,然后將item的數據主動提交給server或proxy。 - 被動監控
當監控條目配置為agent
時,即為被動監控,此時server或proxy會主動向agent請求它要監控的item的數據,然后agent會將數據發送給server或proxy。
- 主動監控
- 支持的監控手段
所謂監控手段即server或proxy通過什么方式來收集監控到的數據,常用的有:- SNMP(polling,trapping)
- IPMI(監控硬件狀況)
- JMX(監控java應用)
- 自定義監測(自定義各類監控腳本監測)
- 告警閾值定義
- 在trigger中定義告警閾值或條件
- 存儲于后臺數據庫中
- 可以自定義告警升級機制
- 調用action實現自動化動作
- 監控數據呈現
zabbix通過內置的畫圖軟件將監控到的數據實時通過web頁面呈現出來。 - 歷史數據存儲
- 存儲于數據庫中
- 支持多種數據庫,mysql,db2,oracle,postgresql,sqlite
- 存儲時長可自定義
- 自動清理過期歷史數據
- 監控主機配置
- 通過添加監控設備方式添加
- 可以使用模板進行配置
- 模板的使用
- 模板包含item,trigger,action等一系列單個主機支持的元素
- 模板中可以使用組監控
- 模板可以繼承
- 自動發現功能
- 網絡設備自動發現
- agent自動注冊
- 自動發現文件系統、網卡、SNMP OID
- web界面
- web前端采用php編寫
- 界面樣式可以靈活自定義
- 自帶操作日志審計
- zabbix API
供第三方程序接入 - 權限系統
可以對用戶進行分組認證及授權。 - agent端
支持Linux和Windows系統。 - 守護進程
基于C語言開發。
4.zabbix系統的組成
- zabbix_server
- 服務端守護進程。
- 負責處理客戶端主動送上來以及它主動去取回的數據。
- 通過web界面呈現這些數據。
- zabbix_agentd
- 客戶端守護進程。
- 負責收集客戶端上的數據并發送給server或proxy。
- zabbix_get
- 服務端工具。
- 在服務器上執行,用于手動收集客戶端的監控數據,可以用于監控測試或者排錯。
- zabbix_sender
- 客戶端工具。
- 對于非常耗時間的檢測項,可以在其檢測完成以后,通過它將數據發送給server或者proxy。
- 需要與trapper配合使用。
- zabbix_proxy
類似于server,但它只是一個中轉站,當跨地區,跨機房部署zabbix系統時,需要用到它,以將它收集到的數據發送給server。 - zabbix_java_gateway
- 類似于agentd程序。
- 只用于java應用程序的監控。
- 只能主動去獲取數據,類似于agent active。
- 最終將收集到的數據發送給server或proxy。
- zabbix_web
構建zabbix專用的站點,將監控數據以web頁面的形式呈現出來,并對zabbix系統進行配置設定。
5.zabbix 3.2.4的軟件環境要求
zabbix 3.2.4 web需求php的環境如下:

以上參數決定了php在編譯時需要指定的參數,以后需要設定的php.ini參數值。