1. 程式人生 > >像MIUI一樣做Zabbix二次開發(2)——Zabbix與商業及開源產品的比較分析

像MIUI一樣做Zabbix二次開發(2)——Zabbix與商業及開源產品的比較分析

Zabbix的特點

Zabbix是一個基於WEB介面的提供分散式系統監控的開源解決方案,通過瀏覽器監視,做到告警分級處理、網路訪問安全可控,該開源平臺在全球有廣泛的使用者基礎,他的特點:

開放性:原始碼全公開,任何使用者都可以編譯和釋出自己的版本。同時,社群和網際網路可以找到大量的模版。

可擴充套件性:支援使用者自定義監控項,只要能想得到的KPI,基本都能監控的到。

資料採集:可用性和效能檢測,自動發現,支援agent、SNMP、JMX、telnet等多種採集方式,支援主動和被動模式資料傳輸

高可用:server對裝置效能要求低,支援proxy分散式監控,分散式集中管理,開放式介面,擴充套件性強

告警管理:支援多條件告警,支援多種告警方式,

模板能力:支援多組模板,模板繼承。

告警設定:告警週期,告警級別,告警恢復通知、告警暫停,時段閾值、支援維護週期、支援單機停用

歷史資料:歷史資料查詢可配置,內建housekeeping資料清理機制

安全審計:具備安全的使用者審計日誌,許可權認證,使用者可以限制允許維護的列表。

無商業版本:平臺本身沒有商業版和社群版本的區分,ZABBIX只對商業服務收費(如培訓、定製開發、部署服務等)。

等等

Zabbix的全棧監控能力:官網有一名非常“囂張“的話,Monitor everything!

與其他商業產品對比

各個大廠都有提供相關監控產品,比如說微軟的SCOM,IBM的Tivoli,華為的Esight,HP的BSM等,如果環境都是單一的某一家廠家的產品,用該廠家提供的監控工具肯定是合適的,筆者就曾經深度使用過SCOM,2005年還叫MOM,是System Center中的一個套件,這個產品對於微軟周邊的產品如AD、Exchange、Windows、SQL Server、SharePoint、Lync等監控非常深入,同時微軟官方還提供了相關故障知識庫,報表也做得非常不錯,九一樂維團隊甚至在2011年以前還拿SCOM做過定製開發。

但是,如果拿SCOM去監控Linux、AIX、Oracle或者網路通訊裝置就很非常不合適了。

Zabbix很好地平衡了監控的深度和廣度,而且源於開源的力量,在全球使用者的持續貢獻下,他的深度和廣度是在持續不斷地延展的。

以下引用翔華兄(Shawn沙恩)的一張圖說明Zabbix的深度和廣度,見:https://www.jianshu.com/u/c7663d8c3fa8。

與其他開源專案對比

前文提到在IT Central Station中,Nagios X排在Zabbix的前面,九一樂維團隊在定技術方向時,也深刻對比過,兩者簡言之:Zabbix安裝好後,做一些簡單的設定基本上就可以用了,Nagios X部署完成後相關於只是一個平臺,然後需要安裝第三方外掛才能取作用。

詳細對比如下:

當然,市面上還有諸如:Open-Falcon、Zenoss、Ganglia、Prometheus、Cacti等開源產品,簡單分析如下:

Open-Falcon:小米開源,時間不長,成熟度有待提高,現在的版本是V1.0

Zenoss:區分社群版和企業版本,資源消耗高,社群版本有些雞肋

Ganglia:適合監控系統性能,成熟度和完整度不高,如報警、訊息系統,需要更多二次開發

Prometheus:開源的業務監控和時序資料庫,剛釋出2.0,在穩定性、效能、文件上仍有很大提升空間,網際網路上可用資料,案例還不豐富

Cacti:通過 SNMPget來獲取資料,使用 RRDtool繪畫圖形,畫圖功能強大,報警機制及相關功能不完善。

以上這些產品,我認為Prometheus會是個不錯的方向,最根本是他的時序資料庫,有興趣的讀者可以先行先試。

相關推薦

MIUI一樣Zabbix開發2——Zabbix商業開源產品比較分析

Zabbix的特點 Zabbix是一個基於WEB介面的提供分散式系統監控的開源解決方案,通過瀏覽器監視,做到告警分級處理、網路訪問安全可控,該開源平臺在全球有廣泛的使用者基礎,他的特點: 開放性:原始碼全公開,任何使用者都可以編譯和釋出自己的版本。同時,社群和網際網路

MIUI一樣Zabbix開發6——應用場景和規劃

其他使用場景 監控做為一個重要的管理手段,存在很多的使用場景,簡單列舉我們現在碰到的: 1.     系統整合 事件管理流程整合;配置管理整合,自動CI獲取,提高CMDB準確、實時性;知識庫整合,提高知識庫的可持續消費能力 2.     物聯網裝置監控 物聯網裝

MIUI一樣Zabbix開發5——那些坑和優化方向

踩過的那些坑 從2011年開始玩Zabbix,踩過的坑著實不少,被研發的同事吐了無數槽,所謂“情到深度又愛又恨“。以下簡述印象比較深刻的幾個坑: 二次開發的方式:2011剛開始做的時候,我們直接修改Zabbix開源的原始碼,實現了一些功能自以為做得還不錯,但是後來Za

57. Python saltstack 開發2

http協議 class 方式 clas 調用 官網 創建 分享 tex 回顧上一節:grains 和 pillar 都是定義他們的屬性的grains 定義在minion端(定義完必須重啟minion,才能生效)pillar 定義在master端(無需重啟即可生效)sal

56. Python saltstack 開發1

方案 roo 刪除 res salt-run file 並不會 font 第一次 Saltstack簡介Salt 是:一個配置管理系統,能夠維護預定義狀態的遠程節點(比如,確保指定的報被安裝,指定的服務在運行);一個分布式遠程執行系統,用來在遠程節點(可以是單個節點,也可以

海康威視網路攝像機 SDK開發JAVA1-開發環境搭建

硬體環境 相關的硬體環境準備:攝像機型號:DS-2CD2T25FD-I3,按照說明書搭建好硬體環境 SDK下載 開發工具:IDEA20173.3 , JDK: 9 官網SDK地址:http://www.hikvision.com/cn/download_61.html

大華門禁SDK開發

專案中需要能夠查詢門禁訊號和控制門禁裝置,因此需要基於大華門禁SDK進行二次開發,開發語言C#。門禁開發中遇到了一些問題,經過與大華技術的郵件溝通也一一解決。做這個開發的時候,發現網上的資料比較少,想著把自己遇到的問題整理下來,讓有需要的人儘量少走一些彎路。 1. 門禁狀態查詢/控制API 門禁控制

使用AcrGis進行開發ArcGIS Engine授權及其物件模型介紹

一、ArcGIS Engine對Visual Studio的授權 我們在使用ArcGIS Engine進行二次開發的時候,必須要對VS進行授權,授權包括兩個方面:專案檔案(ArcSDK)授權以及模組授權(使用特定的模組,比如空間分析,網路分析,拓撲分析等需要額外

小飛魚通達開 讓人腦洞大開的工作流開發圖文

今天小飛魚帶給大家的是最近嘗試的一次工作流的新的二次開發模式。這樣的開發模式簡直可以說已經突破了我們對工作流的使用的認識,完全跟使用其他的軟體的模式是一樣的。 下面,就先介紹一下軟體實現的幾個功能點。 1、實現人員、部門資訊的單條選擇 這個功能其實使用工作流本身的功能就

OpenStackkilo介面dashboard的開發-國際化

openstack介面支援英語、簡體中文、繁體中文等多種語言。使用者可以在使用者設定中進行設定。如果要對openstack進行二次開發,那麼就一定要對介面上的標題、提示的內容等進行修改。 國際化 國際化 看下面兩幅圖,分別是簡體中文、

Revit開發6:Ribbon編輯器開源專案

這是我再github上法相的一個開源專案。 github專案:https://github.com/PrestonII/2013RevitRibbon git地址:https://github.com/PrestonII/2013RevitRibbon.git 簡單

OpenStackkilo介面dashboard的開發-增加Dashboard

前面的博文已經完成了panel與panelgroup的自定義增加,這篇博文將對Dashboard(一級選單)的增加進行一個簡單總結。 增加Dashboard(一級選單) 首先進入/usr/share/openstack-dashbaord/open

CATIA VBA開發快速入門之巨集指令碼

              CATIA巨集(Macro)是CATIA向用戶提供的一種記錄 、重放使用者操作的工具(CATIAVBAProject也屬於巨集,本書中把VBAProject放在CATIA VBA一節中講,本節重點講巨集指令碼)。當用戶啟用錄製巨集操作時,系統

ArcGISEngine開發4:屬性查詢2

屬性查詢(2) 使用IGeometry介面TrackPolygon方法建立物件實現屬性查詢 使用ISpatialFilter介面SpatialRel屬性定義Intersects取交集為查詢物件 之後將查詢到的(FindField方法)屬性顯示在新的wind

ArcGISEngine開發5:新增向量要素

通過在新建的窗體中的RadioButton來實現在MapControl上畫出向量圖形,用到介面有ICommand,ITool。 用到的方法有TrackPolyLine(),TrackPolygon(),MapToPoint(),三個方法建立向量要素,通過IEl

【播放器】關於 sewisePlayer HLS視訊播放器的開發

Sewise Player是一款專業的免費網頁HTML5視訊、流播放器,它功能強大,體積小,跨平臺,相容性好,使用方便簡潔。 播放器是主要以HTML5技術為平臺開發,同時相容Flash技術,實現了跨平臺各瀏覽器相容的視訊播放。使用Sewise Player您可以在Wind

Atlassian In Action-Jira之開發

到現在已經寫到了第五章節,實際上離Jira的官方系統已經越來越遠,本章節的內容基本上已經完全脫離了Jira這個系統本身,而是依賴Jira的API介面和資料庫進行開發了。主要包含如下幾個功能: 人員任務排期管理 歷史人員任務排期檢查 BI報表 注意: 由於我們的二次開發基本都是做成靜態頁面,但是大量使用了J

使用C#對華為IPC攝像頭開發

開發環境: 作業系統:Win10 x64專業版2004 開發工具:VS2019 16.7.2 目標平臺:x86 首先去下載IPC SDK(點選下載,需要華為授權賬戶。) 新建一個WPF的專案,Framework版本為4.7 把下載的sdk壓縮包中的windows\output32目錄中的HWPuSDK.dll

QT5.10開發2QT入門瞭解Demo介紹筆記

什麼是QT QT是一個跨平臺C++圖形使用者介面應用類庫框架。也就是GUI程式設計。當前最新版本5.10. 支援的平臺 windows linux mac ios android QT的

Hi3559AV100 NNIE開發2-RFCN(.wk)LoadModelNNIE Init函式執行過程分析

  之後隨筆將更多筆墨著重於NNIE開發系列,下文是關於Hi3559AV100 NNIE開發(2)-RFCN(.wk)LoadModel及NNIE Init函式執行過程分析,通過對LoadModel函式及NNIE Init函式實現分析,結合上一篇隨筆對LoadModel函式引數挖掘,很大程度上能夠理解NNIE