優云Monitor:大規模Docker平臺自動化監控之路

本文介紹了通過優云Monitor,如何實現大規模容器運維平臺的自動化監控需求。

盡管Docker技術目前還處于不穩定的發展與標準制定階段,但這門技術已經呈現了極其火熱的增長狀態,卻已經是不爭的實事。到底有多火熱?讓我們先來看一張來自國外監控公司DataDog 2016年最新調查報告:

1.jpg

從圖中可以看出,自2015年5月后,采用容器技術的應用呈現了30%的大幅增長,放棄容器技術的的應用,則已經出現了平衡狀態。

此消彼長,隨著容器技術的推廣,本文的主人公老葛,某互聯網金融資深運維工程師,也開始受其波及。最近,老葛的公司開始也使用Docker來交付線上的應用了,一上來的第一個應用,就產生了50+的應用容器。老葛帶領著運維與研發團隊經過一趟艱難邁坑之旅,終于讓線上的應用跑起來了。但成功的喜悅轉瞬即逝,馬上老葛的臉上又出現了囧字,如何優雅地監控容器平臺,成了運維團隊的大問號?

讓我們跟隨老葛的視角,來逐個審視團隊面臨的挑戰,首先第一個問題是:

問題1:如何對容器的可用性與資源消耗進行監控?


經過一番選擇后,老葛采用優云Monitor來作線上的容器監控,通過在Docker宿主機上部署Agent,實現了所有容器的動態監控,如下圖所示:

2.jpg

監控代理通過獲取Docker Daemon API(其本質在Docker的容器管理API與cgroup資源統計),其監控到的指標包含:運行容器數(個),停止容器數(個),容器CPU使用率(%),容器RAM使用率(%),容器磁盤讀速率(B/S),容器磁盤寫速率(B/S),容器文件系統大小(B)、容器文件變更大?。˙)、容器網絡發送速率(B/S),容器網絡接收速率(B/S)。

同時Monitor Agent也針對操作系統本身進行監控,對OS、Docker的各類指標可以達到秒極的監測粒度,完全滿足了團隊的系統監控要求。

其次還面臨:


問題2:如何對容器內的應用進行監控?


通過Monitor Agent,可以針對每一種容器應用,啟用特定的采集插件,實現針對其特定應用的指標監控。如問題1中的圖形所示,Agent可以通過Net端口,訪問特定容器的應用,來實現應用的可用性監控與性能指標的監控。

優云Monitor支持大量的傳統資源與互聯網資源:


3.jpg

在解決上述兩個問題后,工作很快走上了正軌。但應用是有生命的,它在不斷發展,隨著實例的增加、容器編排能力的使用,應用開始做彈性擴縮,馬上新的問題又出現了:

問題3:如何對快速變更下的新增容器進行監控?


經過與優云的技術團隊的溝通,老葛團隊對Docker宿主機增加了容器變更觸發腳本,利用Monitor Agent易于自動化配置的特性,通過腳本自動生成新容器的監控配置項,滿足了對新增容器的應用自動監控。

4.jpg

最后,由于大量的應用使用了分布式微服務,相同的微服務在整個網絡中運行了多個實例,過去再以單個應用為單位的監控已經無法滿足要求,因為單個指標無法代表整個應用的性能水平,所以團隊又碰到了一個監控可視化的問題:

問題4:如何可視化分布式應用的整體性能指標?

比如,目前上線的應用有6個Jetty微服務,同時還會不斷增加,那么如何確認所有業務Jetty服務的負載是否均衡?

利用Agent監控時,可以為指標數據設置“來源標簽”的特性,我們可以將這個應用的6個Jetty服務以及自動新增的Jetty服務,都設置上“app=shop.portal”。

然后,通過優云Monitor的多種儀表盤,通過標簽可以提取到這些數據,結合奇妙的數據匯聚公式與豐富的圖表,對這6個Jetty服務進行了流量訪問趨勢、流量訪問合計、負載排名、資源消耗等可視化,如下圖所示:

5.jpg

同時類似的問題還包括,“集群中的多個Nginx服務,總共有多少HTTP連接會話?”,“集群中所有節點當前成功處理的交易量是多少?”,“集群中所有節點的CPU利用率排名是怎樣的?”等等。

從老葛團隊容器監控運維歷程,我們發現優云Monitor天然地支持對容器以及容器內應用的監控,并且可以敏捷的應對容器的彈性擴縮容,實現自動化容器監控。同時,Monitor還擁有非常棒的數據匯聚與可視化手段,擺脫了運維人員需要逐個面對監控指標的情況,實現監控整體應用,掌控全局。

作者簡介:

蔣君偉

IT運維領域資深專家,優云軟件產品總監,擁有10年運維實戰經驗;

先后研發了網絡管理、系統管理、CMDB、ITSM等產品,并成功建設了多個全國性的網絡運維管理項目;

其主導研發的產品廣泛應用于海關、稅務、公安、社保、銀行、保險、能源等20多個行業。

“活動期:現到2016年12月31日前使用優云產品免費,歡迎詳詢:https://uyun.cn

更多運維技術文章請關注優云官方微信(broada_ops)

優云Monitor:大規模Docker平臺自動化監控之路

原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/28844

(0)
uyunopsuyunops
上一篇 2016-08-05
下一篇 2016-08-05

相關推薦

  • puppet進階管理之終極應用

         上一篇博客寫了puppet操作file、cron、user、group、exec基礎資源的使用,連接地址為 http://www.www58058.com/13990  這次實驗puppet的操作Package、Server和puppet的特殊資源屬性Metaparameters。 回顧下…

    Linux干貨 2016-04-12
  • 三劍客-sed小結

     sed是一款流編輯器工具,通常我們用來對文本進行過濾與替換操作,特別是當你想要對幾十個配置文件做統一更改時,你會感受到sed的魅力。它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到…

    系統運維 2016-07-26
  • 日志分析工具Awstats實戰之Nginx篇-分析結果動態化

    上一篇博文“分析工具Awstats實戰之Nginx篇-分析結果靜態化”介紹了如何將awstats的日志分析信息用靜態頁面來進行顯示,不過顯示效果肯定沒有動態的好啦。本篇博文將帶大家一起來部署動態的分析結果查閱。 環境: CentOS 6.4 ip:192.168.1.113 域名:www.sunsky.com(server和client都通過hos…

    Linux干貨 2016-08-15
  • Btrfs文件系統的管理和應用

        Btrfs(我們稱之為Butter FS或者B-tree FS)被稱為新一代的linux文件系統。一直以來,EXT文件系統以其卓越的穩定性成為linux標準的文件系統。但近年來,EXT3暴露出一些擴展性的問題(如單一文件大小限制、總文件系統大小限制等),于是便催生了EXT4。但同時,Btrfs向人們展現出諸多優…

    Linux干貨 2016-02-14
  • RAID5的組建

        RAID5在實際場景中應用最多,RAID5最少使用3塊硬盤,3塊硬盤中允許1塊硬盤損壞,RAID5它的最大特點是可以有一塊硬盤做冗余,其使用率是 N-1存儲空間(N表示硬盤數量)     首先創建分區,然后轉換分區類型,最后保存退出。 注解:虛擬機總共有6塊硬盤,我是從第3塊硬盤開始做rai…

    Linux干貨 2016-02-14
  • linux權限詳解

    寫在前面: 本博客詳解命令chmod,  chowm,  chgrp,  umask,  install,  mktemp  權限管理: 進程文件訪問權限應用模型: 進程的屬主與文件屬主是否相同,如果相同,則應用屬主權限 否則,檢查文件的屬主是否屬于文件的屬組,如果是,則應用屬主權限 否則,應用ot…

    Linux干貨 2015-12-19
欧美性久久久久