一、什麼是zabbix 前端
Zabbix 是由Alexei Vladishev建立,目前由Zabbix SIA在持續開發和支持。 java
Zabbix 是一個企業級的分佈式開源監控方案。 web
Zabbix是一款可以監控各類網絡參數以及服務器健康性和完整性的軟件。Zabbix使用靈活的通知機制,容許用戶爲幾乎任何事件配置基於郵件的告警。這樣能夠快速反饋服務器的問題。基於已存儲的數據,Zabbix提供了出色的報告和數據可視化功能。這些功能使得Zabbix成爲容量規劃的理想方案。 數據庫
Zabbix支持主動輪詢和被動捕獲。Zabbix全部的報告、統計信息和配置參數均可以經過基於Web的前端頁面進行訪問。基於Web的前端頁面能夠確保從任何方面評估網絡狀態和服務器的健康性。適當的配置後,Zabbix能夠在IT基礎架構監控方面扮演重要的角色。對於只有少許服務器的小型組織和擁有大量服務器的大型公司也一樣如此。 編程
Zabbix是免費的。Zabbix是根據GPL通用公共許可證第2版編寫和發行的。這意味着它的源代碼都是免費發行的,可供公衆任意使用。 後端
二、zabbix功能和特性 安全
Zabbix是一個高度集成的網絡監控解決方案,一個簡單的安裝包中提供多樣性的功能。 服務器
數據收集 網絡
可用性和性能檢查 架構
支持SNMP(包括主動輪訓和被動獲取),IPMI,JMX,VMware監控
自定義檢查
按照自定義的間隔收集須要的數據
經過server/proxy+agents來執行
靈活的閥值定義
能夠很是靈活的定義問題閾值,稱之爲觸發器,觸發器從後端數據庫獲取參考值
高度可配置化的告警
可根據遞增機制,接收方和媒介類型自定義發送告警通知
使用宏變量可使告警通知更加高效有用
自動相應動做可包含遠程命令
實時圖表繪製
使用內置圖表繪製功能能夠將監控項的內容實時繪製成圖表
Web監控功能
Zabbix能夠追蹤模擬鼠標在Web網站上的點擊操做,來檢查Web的功能和響應時間
豐富的可視化選項
支持建立自定義的圖表,一個試圖集中展示多個監控項
網絡拓撲圖
以儀表盤的樣式自定義大屏展示和幻燈片輪詢播放
報表
監控內容的高級(業務)視圖
歷史數據存儲
數據庫數據
可配置歷史數據
內置數據管理機制(housekeeping)
配置簡單
將被監控對象添加爲主機
在數據庫中獲取主機進行監視
應用模板來監控設備
使用模板
在模板中分組檢查
模板能夠關聯其餘模板
網絡發現
自動發現網絡設備
監控代理自動註冊
發現文件系統,網絡接口和SNMP OID值
快捷的Web界面
PHP Web前端
可從任何地方訪問
能夠定製本身的操做方式
審覈日誌
Zabbix API
Zabbix API爲Zabbix 提供了對外的可編程接口,用於批量操做,第三方軟件集成和其餘目的
權限管理系統
安全用戶認證
特定用戶能夠限制訪問特定的視圖
功能強大,易於擴展的agent
部署在被監控對象上
支持Linux和Windows
二進制代碼
爲了性能和更少內存的佔用,用C語言編寫
便於移植
爲複雜環境準備
使用Zabbix proxy代理服務器,使得遠程監控更簡單
三、zabbix概述
結構
Zabbix由幾個主要的軟件組件構成,這些組件的功能以下。
服務器
Zabbix服務器是代理程序報告系統可用性,系統完整性和統計數據的核心組件,是全部配置信息,統計信息和操做數據的核心存儲器。
數據庫存儲
全部配置信息和的zabbix收集到的數據都被存儲在數據庫中。
網絡界面
爲了從任何地方和任何平臺均可以輕鬆的訪問Zabbix,咱們提供基於Web的Zabbix界面。該界面是Zabbix Server的一部分,一般(但不必定)跟Zabbix Server運行在同一臺物理機器上。
代理代理服務器
Zabbix proxy能夠替Zabbix Server收集性能和可用性數據.Proxy代理服務器是Zabbix軟件可選擇部署的一部分;固然,Proxy代理服務器能夠幫助單臺Zabbix Server分擔負載壓力。
代理監控代理
Zabbix代理監控代理部署在監控目標上,可以主動監控本地資源和應用程序,並將收集到的數據報告給Zabbix服務器。
數據流
此外,瞭解的zabbix內部的數據流一樣很重要。監控方面,爲了建立一個監控項(項)用於採集數據,必須先建立一個主機(主機)。告警方面,在監控項裏建立觸發器(扳機) ,所以,若是你想收到Server X CPU負載太高的告警,你必須:1.爲Server X建立一個主機並關聯一個用於對CPU進行監控的監控項(Item)。2.建立一個Trigger,設置成當CPU負載太高時會觸發3.觸發被觸發,發送告警郵件雖然看起來有不少步驟,可是使用模板的話操做起來其實很簡單, ZABBIX這樣的設計使得配置機制很是靈活易用。
四、zabbix架構
Zabbix Server:負責接收Agent發送的報告信息,組織全部配置、數據和操做。
Database Storage:存儲配置信息以及收集到的數據。
Web Interface:Zabbix的GUI 接口,一般與Server運行在同一臺機器上。
Proxy:可選組件,經常使用於分佈式監控環境中。
Agent:部署在被監控主機上,負責收集數據發送給Server。
五、zabbix的工做流程
Agent獲取被監控端數據,發送給Server。
Server記錄所接收到的數據,存儲在Database中並按照策略進行相應操做。
若是是分佈式,Server會將數據傳送一份到上級Server中。
Web Interface將收集到的數據和操做信息顯示給用戶。
六、zabbix的進程
默認狀況下zabbix包含5個程序:zabbix_agentd、zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server,另一個zabbix_java_gateway是可選,這個須要另外安裝。下面來分別介紹下他們各自的做用。
zabbix_agentd客戶端守護進程,此進程收集客戶端數據,例如cpu負載、內存、硬盤使用狀況等。
zabbix_getzabbix工具,單獨使用的命令,一般在server或者proxy端執行獲取遠程客戶端信息的命令。一般用戶排錯。例如在server端獲取不到客戶端的內存數據,咱們可使用zabbix_get獲取客戶端的內容的方式來作故障排查。
zabbix_senderzabbix工具,用於發送數據給server或者proxy,一般用於耗時比較長的檢查。不少檢查很是耗時間,致使zabbix超時。因而咱們在腳本執行完畢以後,使用sender主動提交數據。
zabbix_serverzabbix服務端守護進程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的數據最終都是提交到server
備註:固然不是數據都是主動提交給zabbix_server,也有的是server主動去取數據。
zabbix_proxyzabbix代理守護進程。功能相似server,惟一不一樣的是它只是一箇中轉站,它須要把收集到的數據提交/被提交到server裏。爲何要用代理?代理是作什麼的?賣個關子,請繼續關注運維生存時間zabbix教程系列。
zabbix_java_gatewayzabbix2.0以後引入的一個功能。顧名思義:Java網關,相似agentd,可是隻用於Java方面。須要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會給到server或者proxy。
七、zabbix的邏輯關係圖
八、zabbix監控環境中相關術語
主機(host):要監控的網絡設備,可由IP或DNS名稱指定;
主機組(host group):主機的邏輯容器,能夠包含主機和模板,但同一個組織內的主機和模板不能互相連接;主機組一般在給用戶或用戶組指派監控權限時使用;
監控項(item):一個特定監控指標的相關的數據;這些數據來自於被監控對象;item是zabbix進行數據收集的核心,相對某個監控對象,每一個item都由"key"標識;
觸發器(trigger):一個表達式,用於評估某監控對象的特定item內接收到的數據是否在合理範圍內,也就是閾值;接收的數據量大於閾值時,觸發器狀態將從"OK"轉變爲"Problem",當數據再次恢復到合理範圍,又轉變爲"OK";
事件(event):觸發一個值得關注的事情,好比觸發器狀態轉變,新的agent或從新上線的agent的自動註冊等;
動做(action):指對於特定事件事先定義的處理方法,如發送通知,什麼時候執行操做;
報警升級(escalation):發送警報或者執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等;
媒介(media):發送通知的手段或者通道,如Email、Jabber或者SMS等;
通知(notification):經過選定的媒介向用戶發送的有關某事件的信息
遠程命令(remote command):預約義的命令,可在被監控主機處於某特定條件下時自動執行
模板(template):用於快速定義被監控主機的預設條目集合,一般包含了item、trigger、graph、screen、application以及low-level discovery rule;模板能夠直接連接至某個主機
應用(application):一組item的集合
web場景(web scennario):用於檢測web站點可用性的一個活多個HTTP請求
前端(frontend):Zabbix的web接口
九、zabbix生命週期和發佈政策
https://www.zabbix.com/life_cycle_and_release_policy
爲了確保Zabbix爲其用戶和客戶提供質量預期的產品和易於規劃的支持,每一個新的Zabbix軟件版本都須要遵循標準的生命週期和失效日期。Zabbix監控解決方案生命週期細節有助於爲Zabbix最終用戶提供可預測和可管理的新版本內容。
從2001年開始,當Zabbix軟件首次發佈時,每個新的穩定版本都會在每一年一年半的時間裏發佈,而且對於全部穩定版本,Zabbix客戶都會收到五年(5年)的支持服務。根據如下時間表提供Zabbix 2.0,Zabbix 2.2和Zabbix 3.0 LTS版本的支持服務:
穩定的LTS版本 |
發佈日期 |
徹底支持結束 |
中止有限支持** |
Zabbix 3.0 |
2016年2月16日 |
2019年2月 |
2021年2月 |
Zabbix 2.2 |
2013年11月12日 |
2017年8月 |
2019年8月 |
Zabbix 2.0 |
2012年5月21日 |
2015年5月 |
2017年8月 |
文章來源:
http://blog.51cto.com/zhang789/1868880
zabbix 3.0版本官方介紹及安裝文檔