zabbix簡介


 

1、什么是zabbix

Zabbix 是由Alexei Vladishev創建,目前由Zabbix SIA在持續開發和支持。

Zabbix 是一個企業級的分布式開源監控方案。

Zabbix是一款能夠監控各種網絡參數以及服務器健康性和完整性的軟件。Zabbix使用靈活的通知機制,允許用戶為幾乎任何事件配置基於郵件的告警。這樣可以快速反饋服務器的問題。基於已存儲的數據,Zabbix提供了出色的報告和數據可視化功能。這些功能使得Zabbix成為容量規划的理想方案。

Zabbix支持主動輪詢和被動捕獲。Zabbix所有的報告、統計信息和配置參數都可以通過基於Web的前端頁面進行訪問。基於Web的前端頁面可以確保從任何方面評估網絡狀態和服務器的健康性。適當的配置后,Zabbix可以在IT基礎架構監控方面扮演重要的角色。對於只有少量服務器的小型組織和擁有大量服務器的大型公司也同樣如此。

Zabbix是免費的。Zabbix是根據GPL通用公共許可證第2版編寫和發行的。這意味着它的源代碼都是免費發行的,可供公眾任意使用。

 

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代理服務器,使得遠程監控更簡單

 

3、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這樣的設計使得配置機制非常靈活易用。

 

4、zabbix架構

Zabbix Server:負責接收Agent發送的報告信息,組織所有配置、數據和操作。

Database Storage:存儲配置信息以及收集到的數據。

Web Interface:Zabbix的GUI 接口,通常與Server運行在同一台機器上。

Proxy:可選組件,常用於分布式監控環境中。

Agent:部署在被監控主機上,負責收集數據發送給Server。

 

5、zabbix的工作流程

Agent獲取被監控端數據,發送給Server。

Server記錄所接收到的數據,存儲在Database中並按照策略進行相應操作。

如果是分布式,Server會將數據傳送一份到上級Server中。

Web Interface將收集到的數據和操作信息顯示給用戶。

 

6、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。

 

7、zabbix的邏輯關系圖

 

8、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接口

 

9、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版本

發布日期

完全支持結束
3年)*

停止有限支持** 
5年)

Zabbix 3.0

2016216

20192

20212

Zabbix 2.2

20131112

20178

20198

Zabbix 2.0

2012521

20155

20178

 

文章來源:

http://blog.51cto.com/zhang789/1868880

zabbix 3.0版本官方介紹及安裝文檔

https://www.zabbix.com/documentation/3.0/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM