像MIUI一樣做Zabbix二次開發(3)——Zabbix深度定製的意義

weixin_34054866發表於2018-01-10

深度定製的意義

綜合來講,Zabbix是一個非常強大的監控平臺,簡單拿來完成監控一些Hosts,沒有什麼問題,而且,目前國內大部分客戶都是這麼做的,基本上是安裝完後,網上找到一些相關模板,配置後把Hosts監控起來就差不多了,當然也不乏像PPTV、攜程、唯品會等這樣優秀的網際網路公司,做了深度定製和改造。

一個剝離的工具平臺

Zabbix的所有監控物件都被認為是Host,包括主機、網路裝置、中件間和資料庫等等,這樣除了做監控之後的運維管理工作就很不方便了,比如說配置管理、統計報表、許可權、知識庫、業務服務管理、CFIA等都會受影響。所以,原生的Zabbix仍然是一個原生的高度剝離的工具平臺。

9956030-89b1900fa3de2f21.png

其他問題

1. 效能瓶頸,監控系統沒有低估高峰期,具有持續性和週期性,機器量越大,資料的增大會使資料庫的寫入成為一定的瓶頸,每秒1萬個指標,據說4.0每秒40萬個指標

2. 專案二次開發,需要分析MySQL表結構,表結構非常複雜,對開發能力有較高要求。

3. 內建housekeeping在執行過程中會對資料庫增加壓力,需要對資料庫進行優化

4. 圖形功能較為單一、簡陋

5. 使用有難度,要求操作人員的技術水平很豐富且全面, 需要熟悉被監控物件, 已經具備相當的開發能力

6. API介紹比較粗糙,如果資料庫表結構更改可能會影響api呼叫

7. Zabbix 監控的模板比較複雜,沒有一個比較簡潔易懂監控模板建立的嚮導,使得模板配置比較困難

8. Zabbix 的使用者許可權控制粒度不夠

9. Zabbix的互動介面還不美觀,操作不人性化

當然,還有那些你沒有深入使用,永遠也發現不了的坑

顯性化的需求

在介面展示上,目前使用較多的Grafana+Zabbix,能達到一定的展示效果,實施效果如下圖:

9956030-4bbd2ce31629197f.png

也有58同城運維團隊開源的Zatree外掛,實施效果如下

9956030-84cfc027acb6e109.png

如果要求再高一些,就有些困難了,經常可以看到希望可以用ECharts展示Zabbix資料的需求,甚至可以看到不少Zabbix資料與第三方商業顯示外掛的整合需求。

深度整合的需求

監控軟體於資訊化體系不是孤立存在的,把監控平臺獨立成一個資訊孤島,是不符合資訊化的初衷,可能存在的整合系統列舉如下:

1. 其他運維工具:ITSM(也可能是獨立的工單系統、服務檯系統、CMDB或資產管理系統)、動環管理系統、APM系統、DevOps系統、自動化運維工具平臺、日誌平臺、端對端撥測系統、安全系統、4A系統、審計系統私有云平臺等;

2. 訊息通知:簡訊、微信、郵件、釘釘、內部IM系統等;

3. 組織架構系統:組織架構、人員同步、許可權系統、單點登入系統等

4. 統一展示:Portal系統、投屏、OA系統、微信公眾號、業務資料統一呈現等

5. 其他:組織APP、企業知識庫、音視訊互動平臺、大資料平臺等

資訊系統的整合是資訊化建設非常困難的一環,資料信任、源資料穩定、介面對接、例外處理,考驗著資訊化整合架構能力和資訊系統質量。

業務保障的需要

監控的核心意義在於保障業務系統高可用性,尤其是核心業務系統的高可用性,而不只是監控那些Hosts,完成那些Host的監控只是完成了第一步,還需要做好兩道必選題:

1. Hosts和業務系統存在怎樣的關係

2. 業務系統出現故障時,哪些Hosts的狀態和效能存在什麼直接或間接影響

3. 當前Hosts的告警,到底對哪些其他Hosts或業務系統存在怎樣的影響

相關文章