當前位置:
首頁 > 科技 > 如何選擇使用開源軟體建立監控體系

如何選擇使用開源軟體建立監控體系

昌盛,中國人壽上海數據中心工程師。2009年加入中國人壽,先後負責多個重點應用系統項目的上線、推廣、運維工作。2015年起主導公司自主應用監控系統「全球鷹」監控項目,填補了公司應用監控及業務實時展現的空白。在保險公司監控體系建設、智能預警及相關創新應用方面積累了一定的經驗。現致力於智能監控、區塊鏈等方面的研究。

如何選擇使用開源軟體建立監控體系

提起監控,相信大家都不陌生。從馬路上的監控探頭、手機地圖的實時路況到特斯拉的自動駕駛感測器,監控無處不在。設想有一天,路上的監控攝像頭都消失了,你還放心讓孩子一個人過馬路嗎?

IT運維領域也是一樣,為保證系統的正常運行,便於運維人員及時了解當前狀態,必須建設一套完整的監控體系。假設IT運維沒有監控,必然導致事故頻發(CPU/內存使用率、進程狀態無從知曉)、debug困難(無法定位問題原因)、產品推廣緩慢(用戶指標、實時業務無法知曉)。到頭來,怎麼死的都不知道!

筆者就職於中國人壽數據中心,負責智能監控系統建設,在長期的工作中對監控體系建設有一些心得體會,願與大家分享。

一、監控體系的金字塔結構

我們先來談談IT運維的監控結構。這裡說的IT運維監控,是在機房基礎建設之上的,不包括機房的風、水、電等基礎建設的監控。IT運維監控主要分為三大領域:基礎環境監控、安全監控、應用監控。基礎環境監控指針對數據中心所有運行的伺服器、資料庫、存儲、網路設施的運行狀態的監控,如CPU/內存/磁碟空間使用率、網路延遲、帶寬佔用、資料庫死鎖、磁碟IOPS等,可理解為IaaS層的監控;安全監控包括對內網用戶訪問的審計和外部攻擊的監控等。對於金融企業而言,信息安全永遠是最重要的話題之一,所以要單獨把安全監控列出來,作為單獨的一個領域;應用監控是在基礎和安全監控之上的領域,側重應用系統的運行指標,如訪問量、交易時長、交易佔比、業務指標等,可理解為PaaS或SaaS層的監控。尤其是業務指標,每個系統的功能不一樣,有業務系統、有客戶服務系統、有辦公系統,關注的業務指標也不一而足。因此,除了些共性的指標,針對每一個應用系統設計不同的監控指標,也是一件龐大而複雜的工作。

基礎環境監控、安全監控、應用監控室最主要的三大領域,撐起這些領域的,是廣泛部署的監控探針。就像汽車的感測器,道路的攝像頭一樣,探針作為監控系統的末梢,接入大量的被採集伺服器,肩負起了獲取最原始監控數據的重任。再好的監控演算法、再牛X的實時計算平台,若原始數據都無法準確、實時獲取,都是白費。很多人問筆者如何衡量一套監控系統的好壞,筆者的回答是,先看探針!

如何選擇使用開源軟體建立監控體系

圖一、監控系統的金字塔體系

二、智能預警——金字塔頂的明珠

探針、三大監控領域(基礎環境、安全、應用)共同組成了中國人壽的IT監控金字塔體系,不過我們不能忘了,在塔的頂端,還有一個領域,這就是需要著重強調的智能預警。

前文提到的監控,均是在系統發生故障後或指標達到預設的閾值後才發出告警,閾值是事先固定的,例如java進程down,CPU使用率超過85%等,是一個固定的值,不會隨著系統及時間的變化而變化。固定值會有一個問題:假如我們設定CPU使用率超過85%就告警,那麼請問系統在凌晨沒什麼人使用的時候,CPU使用率超過了50%,系統是正常還是異常的?按照固定閾值演算法,CPU使用率未超過85%,系統正常,不觸發告警。但是用常識想一想,業務閑時系統的CPU使用率也超過50%,明顯不正常啊!

這個問題怎麼破?有人會說,把告警閾值動態調整,閑時設低一點,忙時設高一點。這個想法不錯,但是會有兩個問題:1、怎麼識別閑時和忙時?2、每個指標都動態調整的話,自定義的量太大。所以,智能預警就非常重要。簡單地說,所謂智能預警,就是根據該指標歷史數據,動態調整當前的告警閾值,做到早發現、早追蹤、早處理。智能預警引入了時間的維度,利用大數據和實時計算技術,將之前幾周甚至幾個月的指標進行聚合計算,得出當前時間的動態告警閾值,並根據時間的變化而不斷調整。如果說監控是看現在,那麼智能預警就是觀過去,測未來。別小看智能預警,中國人壽自主開發的智能預警系統「響尾蛇」,在2016年成功預測了12起潛在的故障,避免了嚴重的生產事故。

如何選擇使用開源軟體建立監控體系

圖二、中國人壽預警系統——「響尾蛇」智能預警系統

三、監控的平台化思路

監控系統是一個統一的平台,其輸入為各種原始監控數據和配置信息,輸出為各類業務和告警信息,監控系統負責將輸入數據經過處理和計算,輸出需要的信息。監控系統平台化架構如下圖所示:

圖三、監控系統的平台化思路

其中輸入的監控數據可通過本地、遠程或手工錄入的方式獲取,配置信息(伺服器類別、用途、通知人、聯繫方式等)從CMDB獲取;輸出的信息除發送至簡訊、郵件系統外,也可以通過REST API供第三方系統調用,或對接自動化運維平台。

平台化架構的優勢在於開放。除了監控系統配套的探針傳來的數據,也可以通過API接收合規的第三方的數據,大大拓展了監控平台的業務場景。

四、中國人壽的監控選型

市場上的監控產品種類繁多,收費的有,開源的也有。中國人壽根據自身特點,結合長期的運維經驗,走出了最適合自身的一條監控選型道路。

基礎環境監控方面,我們選用了zabbix。眾所周知,在開源的伺服器和網路監控產品中,zabbix是較為突出的一個。它具有自主發現伺服器、分散式監控、可視化配置等功能。同時zabbix社區會員眾多,一般的問題都可以直接解決。同時,我們針對zabbix進行了二次開發,增加了諸如統一告警頁面、對接cmdb、對接雲助理(一款內部辦公軟體)等功能。目前zabbix已接入近萬台伺服器,為中國人壽基礎環境穩定運行提供監控保障。

安全監控方面,我們採用了ELK技術棧對大量的安全設備日誌進行統一採集和管理。ELK是ElasticSearch、Logstash、Kibana三款開源系統的統稱,其一般作為套件統一使用,提供日誌檢索服務。作為國內市值最大的保險集團,我們每天都會受到大量的外部網路攻擊,部署的安全設備每天會生成大量的防護日誌。因為品牌不同,日誌格式不一致,監控界面也不盡相同。因此,我們以ELK為核心,將分布在各品牌安全設備中的日誌統一收集,統一展現,統一管理,提高了公司整體的安全防護能力。

如何選擇使用開源軟體建立監控體系

圖四、中國人壽安全監控——「大黃蜂」安全監控

應用監控方面,針對不同的業務場景,我們選用了兩套不同的方案。對於運維人員,我們採用了和安全監控相同的ELK方案,並在此基礎上增加了Filebeat作為agent,採集應用系統的access log和server log,並根據統一模板定製展示。ElasticSearch強大的實時搜索能力可在毫秒內搜索上億的業務日誌信息,為告警和展現提供強有力的引擎支撐。同時,我們也自開發了遠程採集介面,可以做到無agent監控,減少對被管機的壓力。

如何選擇使用開源軟體建立監控體系

圖五、中國人壽應用監控——「全球鷹」應用監控(應用監控界面)

針對業務管理人員,我們自開發了業務監控系統,展現渠道保費、區域分布、用戶數量、訪問量等信息,便於管理層實時決策;同時大屏監控系統在每年開門紅期間(保險業的「雙十一」)提供強大的業務決策支撐。

如何選擇使用開源軟體建立監控體系

圖六、中國人壽應用監控——「全球鷹」應用監控(業務監控界面)

五、結語

監控的目的是更早、更準確地預測及發現系統故障,為運維人員爭取恢復時間。同時針對保險行業,監控系統也被賦予了安全監測、實時業務展現和智能預警等功能。不論是開源還是商業產品,在引入前都必須針對保險行業的特殊性進行本地化改造,打破單監控產品的壁壘,形成統一的體系。

參考閱讀

高可用架構

改變互聯網的構建方式

長按二維碼 關注「高可用架構」公眾號

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 高可用架構 的精彩文章:

如何快速落地數據分析平台 大數據在他趣的應用實踐
微服務的實踐:爆棚的CCF TF第一期技術分享都講了什麼(含PPT)
微博開源的Motan RPC最新進展:新增跨語言及服務治理支持
如何選擇合適的分散式機器學習平台
從一道簡單的面試題考查應聘者的技術能力

TAG:高可用架構 |

您可能感興趣

C+環境下調用銳視開源測控軟體
什麼是開源軟體
開源測試軟體是解決國防通用測試軟體的最佳途徑!
手機字體推薦——開源免費的沐研黑體
開放不等於自由,隨意使用開源軟體可能違規
各有利弊,開源和商業軟體應該怎麼選?
微軟:開源軟體和雲計算是推動人工智慧和機器學習的主要方式
講個「如何讀懂開源軟體定義存儲」的故事
開源如何佔領軟體世界?
開源軟體的中年危機如何破解?
AWS等雲服務商威脅開源軟體的生存:共用條款終止開源濫用現象
開源軟體與中國式開源的演進
開源的機器學習框架應當如何選擇?
雲會殺死開源軟體嗎?
開源軟體漏洞頻發,運維如何避免背鍋?
特斯拉開始遵守開源軟體許可條款 發布部分軟體源代碼
CES熱點:開源管理系統 蘇寧智慧零售成生態體系構建源動力
開源硬體助力採購工作,增強供應模式的靈活性
解密機械腕錶長動力之開源
用開源「瀏覽器」遠程控制你的 PC