當前位置:
首頁 > 最新 > 用友雲普羅米修斯全範圍監控體系

用友雲普羅米修斯全範圍監控體系

作者:(雲平台-基礎平台服務[gPaaS]-容器雲平台)運維工程師-於浩洋

導讀:「一入IT深似海,從此愜意是笑談。」相信每個人都能深深體會到這句話的含義,在你追我趕的互聯網時代,從業者身上的擔子不可謂不重。各家都在取長補短、吸收營養來壯大自己,彷彿一夜之間最寶貴的資源變成了時間。在日常工作中,慢慢發現做好一件事就可以節約很多時間,收穫到立竿見影的效果,那就是——監控。把大家的工作從被動的應急狀態解救出來,本文從實際應用出發,以生產實用說話,為大家介紹一套比較前衛的監控體系,哪怕對一個人的工作有啟發作用,也就實現了本文的價值。

進入21世紀後,國內的互聯網事業進入快速、穩步發展階段,日新月異的科技進步催生了一批又一批的新型應用模式,概念與生產使用間的距離也在逐漸縮短。近幾年公有雲、私有雲以及混合雲已經普遍走進生產階段,甚至在潛移默化的影響著人們的生活,催生並促進了IaaS(基礎設施及服務)、Paas(平台即服務)、Saas(軟體即服務)等技術的不斷更替迭代。

在生產實踐中人們發現,技術選型變得越來越寬泛,實現手段變得越來越多。這雖然帶來了多樣性,也給人一種「亂花漸欲迷人眼」的感覺。隨著伺服器以及服務規模的擴大,監控體系也面臨同樣的問題,如何更好的在監控層面為日常營運而服務,如何預防並快速定位問題從而解決問題就顯得尤為重要了。

在以往的生產實踐中,人們普遍採用的監控方式如:主動監控、被動監控、旁路監控等。相應出現了Nagios、Cacti、Zabbix等人們耳熟能詳的監控工具,以及第三方監控平台。在步入以雲、容器化為主體的新型應用模式後,它們各自的優缺點也逐步凸顯。為了迎合自己的業務需求,有的公司甚至會從基礎開始研發監控系統(如Open-Falcon),監控的功用與魅力可見一斑。

雲平台的整體體量也在不斷增加,在開發、測試、灰度、生產等各個環節,監控體系穿插其中,逐步完善並形成了自己特有的監控體系。該體系以普羅米修斯為系統核心,根據生產需要增加並調整模塊進行對接,易擴展、低耦合、快速部署等特性決定了它的可應用性,數據可定製、繪圖功能強大、可自定義等特性決定了它的生產實用性。

目前雲平台存在眾多的公有雲、私有雲、混合雲伺服器,且眾多服務大多以容器化方式運行。這就給要獲取的監控數據帶來了要求,決定了監控要站在公司的業務角度考慮,而不是某種手段、某個服務;而對於輔助解決問題,又要細化到伺服器、服務、容器甚至是進程,站在服務提供的角度發現、定位、解決問題。

好的監控體系往往可以一針見血的點出使用者以往的痛點,比如:配置複雜,可定製化低,組件間耦合度高,數據生澀,展示化程度低,通知信息不完善等。監控系統作為一種輔助手段,本身屬於錦上添花的存在,不需要花費太多的精力在上面,而忽視了根本以及它存在的意義。

首先從監控體系整體構成方面了解一下該體系的組成模塊,對普羅米修斯監控體系有一個整體的認識。監控體系的建立離不開功能模塊的加入,不斷增加監控模塊、類別、參數,進行過濾、整合達到合理的產出。

圖1

模塊化結構分析:

1.探針服務:靈活的收集伺服器、容器、服務的各種運行數據,對自己從屬節點進行全方位的數據匯總。

2.監控主體:以PULL的方式根據服務自身當前負載實時獲取監控數據,對各節點的數據進行匯總,再帶存儲機制並以時序格式處理數據,可以通過獨特的PromQL語言對數據進行複雜的運算處理,並繪製成構圖。

3.服務發現:探針節點上線會自動向服務發現中心註冊,服務中心通過模塊向監控主體進行通知,此時就實現了各個節點的監控上線、下線管理。

4.數據展示:可以對數據進行文本、繪圖、儀錶等方式的展示,並支持時間段過濾。

5.告警通知:對預期進行判別,觸發郵件、簡訊、微信、釘釘等的消息通知,提供詳細的問題通知。

6.外部調用:已經存在的數據或結果可以通過Api或者分享繪圖的方式調用,將數據引入到需要的地方。

「工欲善其事,必先利其器。」有了理論知識和結構邏輯作為「器」,下一步就是付諸於建設,根據實際業務場景、應用運行環境打磨出適合自己的一套服務才是好的監控體系,如果不然,再優秀的監控也只是擺設而已。下面根據云平台在生產中的實際使用經驗進行進一步探討。

圖2

實際生產使用:

1.自動發現服務負載化:數據的自動發現採用Consul作為服務主體,前端SLB方式引入Consul集群,以SLB作為數據的註冊及取用點,可以很好的處理大批量節點的高註冊(註銷)請求。

2.主機探針:系統層面的負載參數化,可以及時發現系統運行的異常,在系統層面消除隱患,配合消息推送機制,有問題及時處理。

3.容器探針:容器層面的負載參數化,了解容器運行的負載情況,探知運行異常,可以配合消息機制進行告警。

4.服務探針:將Mesos、kubernetes、MySQL、Redis、Jenkins等的運行情況參數化,比如調用、負載、登錄等等。

5.應用探針:定製專屬服務探針,獲取服務存活信息,埠存活信息,Api調用情況等等。

6.ICMP探針:對於遠端伺服器存活,可以使用ping檢測進行定期檢測,確保伺服器的存活。

7.URL探針:對定製的URL地址群進行監測,可以有效發現404、502等錯誤碼,同時可以檢測到HTTPS加密證書的到期日期。

8.告警通知:以郵件作為工作時的有效通知及事件記錄手段,輔以簡訊、微信告警實現24小時最便捷的消息告知方式。

這套全範圍監控體系是用友雲從生產實踐中總結而來,比較有普遍適用性,同時也經過了時間的檢驗,為大家的工作帶來了不少便捷,也在危急時刻發揮過重要作用。在實際生產中監控作為一種必要手段,貫穿於開發、運維、營運的整個階段,根據使用場景的不同、應用種類的變化也許會做相應修改,但是萬變不離其宗,只要領略到監控的精髓,也就可以更好的貫穿和服務於工作,也正是因為監控手段的駁雜、監控模塊的多樣、監控點的各具特色使其形成了自己特有的體系,也就是本文探討的監控體系。相信,隨著技術的不斷進步,監控也一定會變得更為全面、智能和人性化。


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

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


請您繼續閱讀更多來自 天津用友 的精彩文章:

TAG:天津用友 |