■ 北京 潘少博 張和 戴誼
編者按:微服務架構體系在筆者單位實施落地后,帶來了服務易擴展、高可用、技術異構等諸多好處,但也使得服務器數量陡然增加,運維壓力加大。筆者基于監控工具數據可視化工具構建了微服務自動化監控運維平臺,成功將運維工作化繁為簡。
筆者單位目前已經具備“興業銀行集中監控平臺”(IBM Tivoli)和“興業銀行可用性預警平臺”這兩個成熟、完善并優勢互補的監控運維平臺,可滿足服務器的日常監控運維管理需求。
但在實施微服務化后,服務器數量日趨增加,依然對單位的運維工作提出了更高的要求與挑戰。
1.自動化運維
服務器數量眾多,必然增加人力運維的工作量和壓力,且對運維工作的時效性、標準性提出更高的要求。若能便捷、規范地將已知常見的運維工作形成標準的自執行流程,無需人工干預,必能大大降低運維成本。
2.應用層集中監控
微服務化后,整個應用分散成多個服務,現有監控平臺缺乏在應用層面查看其下各類服務的整體運行情況及核心監控指標的功能,不便運維人員從宏觀視角了解服務運行狀況。
3.個性化監控信息采集

微服務架構中組件繁多,各類組件所需要監控的指標不同,特定場景下可能需要實現監控指標的定制與采集(尤其是某些業務應用),需要確立靈活、簡單、通用、可擴展的監控指標定義與采集機制,以應對個性化監控的需求。
4.快速部署
微服務架構下,面對大量主機的監控需求,若具備標準、簡單、快速的主機監控部署流程,可大大簡化運維人員的部署、配置工作。
5.對現有平臺的補充
“興業銀行集中監控平臺”(IBM Tivoli)和“興業銀行可用性預警平臺”作為成熟完善的監控平臺,已經滿足絕大多數場景下的日常運維管理需求,故僅需針對微服務場景下出現的新增需求制定合理的方案,作為對現有平臺的補充。
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)豐富自動化運維場景。