案例|興業銀行如何基於Zabbix+Grafana構建微服務自動化監控運維平臺?

本文轉自:潘少博、張和、戴誼. 基於Zabbix+Grafana構建微服務自動化監控運維平臺[J]. 網絡安全和信息化, 2020, No.54(10):81-83.

摘要 興業銀行目前已經具備“興業銀行集中監控平臺”(IBMTivoli)和“興業銀行可用性預警平臺”這兩個成熟、完善並優勢互補的監控運維平臺後,帶來了服務易擴展、高可用、技術異構等諸多好處,但也使得服務器數量陡然增加,運維壓力加大。筆者基於Zabbix+Grafana構建了微服務自動化監控運維平臺,成功將運維工作化繁爲簡。

 挑戰 


興業銀行目前服務器數量日趨增加,依然對單位的運維工作提出了更高的要求與挑戰。


1. 自動化運維

服務器數量衆多,必然增加人力運維的工作量和壓力,且對運維工作的時效性、標準性提出更高的要求。若能便捷、規範地將已知常見的運維工作形成標準的自執行流程,無需人工干預,必能大大降低運維成本。


2. 應用層集中監控

微服務化後,整個應用分散成多個服務,現有監控平臺缺乏在應用層面查看其下各類服務的整體運行情況及核心監控指標的功能,不便運維人員從宏觀視角瞭解服務運行狀況。


3. 個性化監控信息採集

微服務架構中組件繁多,各類組件所需要監控的指標不同,特定場景下可能需要實現監控指標的定製與採集(尤其是某些業務應用),需要確立靈活、簡單、通用、可擴展的監控指標定義與採集機制,以應對個性化監控的需求。


4. 快速部署

微服務架構下,面對大量主機的監控需求,若具備標準、簡單、快速的主機監控部署流程,可大大簡化運維人員的部署、配置工作。


5. 對現有平臺的補充

“興業銀行集中監控平臺” (IBMTivoli)和“興業銀行可用性預警平臺”作爲成熟完善的監控平臺,已經滿足絕大多數場景下的日常運維管理需求,故僅需針對微服務場景下出現的新增需求制定合理的方案,作爲對現有平臺的補充。

 具體實施 

1. 方案闡述

針對上述的問題和需求,我們基於監控工具 Zabbix和數據可視化工具 Grafana,構建了單位微服務自動化監控運維平臺,並制定相應配套方案,幫助運維人員儘早獲知預警信息、及時定位解決問題,減少人力工作,保障主機及各微服務的持續穩定運行,推動單位系統的智能化、輕型化、簡單化發展。

2. 開發歷程

根據技術架構微服務化下新增的運維問題和需求,結合單位實際情況,我們首先進行了技術選型與方案確立工作。


Zabbix 作爲業界廣泛使用的企業級監控工具,具備開箱即用、靈活可擴展、分佈式監控、高可用、安全保障等諸多優勢。Zabbix 官方及社區已經具備大量的主機與應用監控模版可直接使用,免去極大的定製開發工作。不僅如此,通過 Zabbix的主機自動註冊功能及全平臺支持的監控採集工具,可快速完成主機的部署配置。另外,Zabbix 提供了自定義監控項、遠程運行自定義腳本的功能,通過編寫通用腳本與簡單的 Web 配置,可靈活擴展,滿足個性化監控、自動化運維的需求。基於以上優點,我們選擇 Zabbix 作爲平臺的核心組件。


Zabbix 作爲監控工具足夠優秀,但其監控圖形化視圖的多樣性、美觀性、功能性相對較弱,且僅支持單機指標的監控視圖,缺少統計視圖的支持。基於此,我們選用了同樣廣泛使用的數據可視化工具Grafana 用於監控數據的展示。隨後我們確定了平臺的監控方案與部署方案,並首先在單位測試環境下進行了部署實踐,將測試環境下已有的微服務主機納入監控,並在過程中不斷優化、完善方案,完成了以下工作 :


(1)主機自動監控

通過平臺設置 + 腳本配置的方式,實現主機自動化安裝、配置並直接納入監控,免除繁瑣手動操作。


(2)個性化監控信息採集

實現了通用的服務進程運行情況監控,與 Informix、

MySQL 等常見基礎服務的個性化監控信息的採集。


(3)自動化運維機制

藉助平臺的告警觸發機制與遠程執行自定義腳本的功能,制定了自動化運維方案與腳本編寫規範,並實現了服務重啓等基礎場景下的自動化運維流程。


(4)多樣化、階梯式告警策略

我們將平臺與筆者單位消息中心實現了對接,使其支持監控告警信息以郵件、短信的形式告知相關運維人員,並基於告警問題的嚴重性與分類,從而實現了分級別、分類型、階梯式的告警策略。


根據實際的監控可視化需要,我們在 Grafana 上配置了全局、應用、主機、主機服務等多個維度的監控儀表板,方便運維人員從多個視角掌握監控、告警情況,實現對主機的集中監控。最終微服務自動化監控運維平臺在單位生產環境落地投產,成功支撐起微服務基礎架構與“三線合一信息監督與發佈平臺”、人事快查等微服務架構應用的監控運維職能。

3. 創新亮點

微服務自動化監控運維平臺,提供了微服務架構下從主機部署、監控數據採集、智能告警修復、自動化運維、監控可視化在內的一體化運維監控方案,具備良好的可擴展性和可定製性,極大降低人力成本,提升運維效率,可作爲單位現有監控平臺的補充。

4. 風險合規

平臺具有靈活的用戶權限架構,可以有效管理用戶權限,並支持多種類型的用戶,用於定義對管理功能的訪問並指定默認權限。可通過在平臺中分組授權員工角色保證訪問權限一致。

 結果 


目前,微服務自動化監控運維平臺已於筆者單位投產並穩定運行數月,極大地減輕運維壓力,提升了整體運維效率。

運維人員日常只需要不定時關注儀表板視圖上的監控指標,即可直觀瞭解整體微服務運行情況和資源利用情況。同時,平臺的自動化運維功能可以自動修復常見問題,運維人員僅需解決特殊情況下需要人工干預的問題即可。

 反思與啓示 


與以往相比,如今的 IT基礎架構無論是規模還是複雜度,都成倍增長,傳統運維方式已難以負荷沉重的工作量,智能運維能有效地銜接開發與持續交付,全面提升IT 生產質量和效率。“以工具和方法,重新定義軟件創新”,打造數字化生產線,結合可追溯與智能工作方式共同驅動軟件精益生產,將成爲單位科技面向未來的 IT 過程管理核心。

1. 推廣複製

產品可在未建立或初步建立微服務架構的單位進行廣泛推廣。該平臺致力於提供微服務架構下的一體化運維監控方案,解決部署、配置、監控、告警、故障恢復等方面原先人工和半自動的運維工作,降低管理和操作所帶來的諸多風險和成本。

2. 未來展望

未來該平臺可在如下方面進一步提高 :

(1)逐步將有監控需要的服務器納入監控。

(2)結合實際需要,完善監控模版與監控儀表板。

(3)豐富自動化運維場景。

(如有侵權,請聯繫刪除。)


延伸閱讀

案例|光大銀行如何解決傳統監控痛點,打造一體化監控平臺?


2021在線課本週四晚8點:告警的調用和處理!

最實用的課程,由社區專家張世宏毫無保留授課,還可以向老師交流日常疑問。點此報名本節課


關注Zabbix開源社區

乾貨滿滿

加“小Z“入羣

3000+Zabbixer已加入

本文分享自微信公衆號 - Zabbix開源社區(china_zabbix)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章