Zabbix概術及基礎介紹(一)

1、Zabbix介紹前端

Zabbix 是由Alexei Vladishev建立,目前由Zabbix SIA在持續開發和支持。
Zabbix 是一個企業級的分佈式開源監控方案。
Zabbix是一款可以監控各類網絡參數以及服務器健康性和完整性的軟件。Zabbix使用靈活的通知機制,容許用戶爲幾乎任何事件配置基於郵件的告警。這樣能夠快速反饋服務器的問題。基於已存儲的數據,Zabbix提供了出色的報告和數據可視化功能。這些功能使得Zabbix成爲容量規劃的理想方案。
Zabbix支持主動輪詢和被動捕獲。Zabbix全部的報告、統計信息和配置參數均可以經過基於Web的前端頁面進行訪問。基於Web的前端頁面能夠確保您從任何方面評估您的網絡狀態和服務器的健康性。適當的配置後,Zabbix能夠在IT基礎架構監控方面扮演重要的角色。對於只有少許服務器的小型組織和擁有大量服務器的大型公司也一樣如此。
Zabbix是免費的。Zabbix是根據GPL通用公共許可證第2版編寫和發行的。這意味着它的源代碼都是免費發行的,可供公衆任意使用。
Zabbix公司也提供商業化的技術支持。
java

 

2、Zabbix特色node

 Zabbix是一個高度集成的網絡監控解決方案,一個簡單的安裝包中提供多樣性的功能。web

 數據採集:數據庫

  •   可用性和性能檢查
  • 支持SNMP(包括捕獲和主動輪訓),IPMIJMXVMware監控
  • 自定義檢查
  • 按照自定義的間隔收集須要的數據
  • ServerProxyagents執行
靈活的閥值定義
  • 您能夠很是靈活的定義問題閾值,稱之爲觸發器,觸發器從後端數據庫獲取參考值
高度可配置化的告警
  • 能夠根據升級計劃,接收方和媒體類型來定製發送告警通知 * 使用宏變量可使告警通知更有意義更高效 * 自動化動做包含執行遠程命令
實時圖表繪製
  • 使用內置圖表繪製功能能夠將監控項的內容當即繪製成圖表
Web監控功能
  • Zabbix能夠模擬鼠標在Web網站上的操做來檢查Web的功能和響應時間
豐富的可視化選項
  • 可以建立自定義的圖形,圖形中可將多個監控項組合在一個視圖展現
  • 網絡拓撲圖
  • 以儀表盤的樣式展示自定義的展示和幻燈片
  • 報告
  • 監控資源的高級(業務)視圖
歷史數據存儲
  • 數據存儲在數據庫中
  • 可配置歷史數據
  • 內置數據管理機制
配置簡單
  • 將被監控對象添加爲主機
  • 主機被建立用於監控,在數據庫中是惟一存在的
  • 應用模板來監控設備
使用模板
  • 在模板中分組檢查
  • 模板能夠關聯其餘模板
網絡發現
  • 自動發現網絡設備
  • 監控代理自動註冊
  • 發現文件系統,網絡接口和SNMP OID值
簡潔的Web界面
  • Web前端基於PHP
  • 可從任何地方訪問
  • 你能夠定製本身的操做方式
  • 審覈日誌
Zabbix API
  • Zabbix API爲Zabbix 提供了對外的可編程接口,用於批量操做,第三方軟件集成和其餘目的
權限管理系統
  • 安全用戶認證
  • 特定用戶能夠限制訪問特定的視圖
功能強大並易於擴展的監控代理
  • 部署在被監控對象上
  • 能夠部署在Linux和Windows上
二進制代碼
  • 爲了性能和更少內存的佔用,用C語言編寫
  • 便於移植
爲複雜環境準備
  • 使用Zabbix proxy代理服務器,使得遠程監控更簡單

3、Zabbix功能總結編程

  ①具有常見的商業監控軟件所具有的功能(主機的性能監控、網絡設備性能監控、數據庫、性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪製)
  ②支持自動發現網絡設備和服務器(能夠經過配置自動發現服務器規則來實現)
  ③支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本)
  ④支持分佈式,能集中展現、管理分佈式的監控點
  ⑤擴展性強,server 提供通用接口(api 功能),能夠本身開發完善各種監控(根據相關接口編寫程序實現)編寫插件容易,能夠自定義監控項,報警級別的設置。
  ⑥數據收集
    可用和性能檢測
    支持snmp(包括trapping and polling),IPMI,JMX,SSH,TELNET
    自定義的檢測
    自定義收集數據的頻率
    服務器/代理和客戶端模式
    靈活的觸發器
  能夠定義很是靈活的問題閾值,稱爲觸發器,從後端數據庫的參考值
    高可定製的報警
    發送通知,可定製的報警升級,收件人,媒體類型
    通知可使用宏變量有用的變量
    自動操做包括遠程命令
    實時的繪圖功能
    監控項實時的將數據繪製在圖形上面
    WEB 監控能力
    ZABBIX 能夠模擬鼠標點擊了一個網站,並檢查返回值和響應時間
 
3、Zabbix組件
zabbix由如下幾個組件部分構成:
一、Zabbix Server:負責接收agent發送的報告信息的核心組件,全部配置,統計數據及操做數據均由其組織進行;
二、Database Storage:專用於存儲全部配置信息,以及由zabbix收集的數據;
三、Web interface:zabbix的GUI接口,一般與Server運行在同一臺主機上;
四、 Proxy:可選組件,經常使用於分佈監控環境中,代理Server收集部分被監控端的監控數據並統一發往Server端;
五、Agent: 部署在被監控主機上,負責收集本地數據併發往Server端或Proxy端;
注:zabbix node也是 zabbix server的一種 。


4、zabbix進程
默認狀況下zabbix包含5個程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另一個zabbix_java_gateway是可選,這個須要另外安裝。下面來分別介紹下他們各自的做用。
  1. zabbix_agentd 客戶端守護進程,此進程收集客戶端數據,例如cpu負載、內存、硬盤使用狀況等。
  1. zabbix_get
zabbix工具,單獨使用的命令,一般在server或者proxy端執行獲取遠程客戶端信息的命令。一般用戶排錯。例如在server端獲取不到客戶端的內存數據,咱們可使用 zabbix_get獲取客戶端的內容的方式來作故障排查。
  1. zabbix_sender zabbix工具,用於發送數據給server或者proxy,一般用於耗時比較長的檢查。不少檢查很是耗時間,致使zabbix超時。因而咱們在腳本執行完畢以後,使用sender主動提交數據
  1. zabbix_server
備註:固然不是數據都是主動提交給zabbix_server,也有的是server主動去取數據。
  1. zabbix_proxy zabbix代理守護進程。功能相似server,惟一不一樣的是它只是一箇中轉站,它須要把收集到的數據提交/被提交到server裏。
  1. zabbix_java_gateway zabbix2.0以後引入的一個功能。顧名思義:Java網關,相似agentd,可是隻用於Java方面。須要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到server或者proxy。
 
5、Zabbix常見相關術語
host(主機):要監控的網絡設備,可由IP或DNS名稱指定
host group(主機組):主機的邏輯容器,能夠包含主機和模板,但同一個組內的主機和模板不能互相連接;主機組一般在給用戶或用戶組指派監控權限時使用
item(監控項):一個特定監控指標的相關數據,這些數據來自於被監控對象;item是zabbix進行數據收集的核心,沒有item,將沒有數據;相對某監控對象來講, 每一個item都有"key"進行標識
trigger(觸發器):一個表達式, 用於評估某監控對象的某特定item內所接收到的數據是否在合理範圍內,即閥值;接受到的數據大於閥值是,觸發器狀態將從OK轉變爲Problem,當數據量再次迴歸到合理範圍時,其狀態將從Problem轉換回OK
event(事件):即發生的一個值得關注的事件,例如觸發器的狀態轉變,新的agent或從新上線的agent的自動註冊等
action(動做):指對於特定事件事先定義的處理方法,經過包含操做(如發送通知)和條件(什麼時候執行操做)
escalation(報警升級):發送警報或執行遠程命令的自定義方案,如每隔5min發送一次警報,共發送5次等
media(媒介):發送通知的手段和通道,如Email、Jabber或SMS
notification(通知):經過選定的媒介向用戶發送的有關某事件的信息
remote command(遠程命令):預約義的命令,可在被監控主機處於某個特定條件下時自動執行
template(模板): 用於快速定義被監控主機的預設條目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能夠直接連接至單個主機
application(應用):一組item的集合
web scennaro(web場景):用於檢測web站點可用性的一個或多個http請求
frontend(前端):zabbix的web接口
自動發現(discovery):經過定義自動發現條件,配合動做批量添加監控主機
自動註冊(auto-registraion):agent 向server 發送註冊請求,server 定義自動註冊條件批量添加主機
低級自動發現(low_discovery):經過低級自動發現能夠簡單定義一種類型有多個項的的狀況,如:對磁盤容量監控,一般磁盤會有多個分區,咱們經過一次定義能夠監控磁盤上的全部分區
維護(maintenace):定義主機合適出於維護狀態
拓撲圖(map):能夠主機直接的拓撲
屏幕(Screents):多種類型顯示到一個screent 裏
IT 服務(IT service):有時一臺主機宕掉可能不會影響服務,IT 服務定義服務容忍的限度
儀表盤(dashboard):監控的總體狀態顯示
總覽(overview):顯示全部機器的數據或者觸發器狀態
web:經過定義場景監控web 服務器
最新數據(last data):可查看主機項目得到的最新數據
事件(Event):觸發器狀態改變的記錄
 
 
  6、Zabbix的優缺點
優勢:
 開源,無軟件成本投入 
 Server 對設備性能要求低 
 支持設備多,自帶多種監控模板 
 支持分佈式集中管理,有自動發現功能,能夠實現自動化監控 
 開放式接口,擴展性強,插件編寫容易 
 當監控的item 比較多服務器隊列比較大時能夠採用被動狀態,被監控客戶端主動從 
 Server 端去下載須要監控的item 而後取數據上傳到server 端。這種方式對服務器的負載比較小。 
  Api 的支持,方便與其餘系統結合 
缺點:
需在被監控主機上安裝agent,全部數據都存在數據庫裏,產生的數據據很大,瓶頸主要在數據庫
相關文章
相關標籤/搜索