1. 程式人生 > >開源監控軟體zabbix的基礎理論知識

開源監控軟體zabbix的基礎理論知識

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的環境如下:

zabbix 3.2.4 web需求php的環境

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