1. 程式人生 > >運維監控大數據的提取與分析

運維監控大數據的提取與分析

monitor 運維監控

本文內容整理來自【敏捷運維大講堂】蔣君偉老師的線上直播分享。分別從以下3個維度來分享:1、雲時代監控分析的窘境;2、使用標簽標記監控數據的維度;3、監控數據應用場景。

雲時代監控分析的窘境

在虛擬化與容器技術廣泛應用的情況下,運維對象大規模地增長,監控平臺每天存儲的指標都以億計,所以監控數據如今已經成了大數據。傳統的監控工具在這種場景下,對於數據的提取分析,已經力不從心,反而成為了運維的負擔。

我們用一個典型的互聯網檔案分析應用舉例說明:

技術分享

這個應用支持容災與負載均衡,它部署在三個數據中心,並同時提供服務;

應用按微服務思想設計,內部劃分為多個技術組件,包括APIGateway、檔案、登記、通知、支付及一些數據庫服務

技術組件可彈性擴縮容

這樣的應用目前很常見,它有這樣一些特征:

變:架構變、實例變

由於研發每周都在叠代,可能隨時都加增加新的技術組件種類,如增加一個MongoDB作為文檔類數據存儲;同時由於彈性擴縮容,每個技術組件的實例時刻也在變,比如下圖,就減少了一個檔案服務,增加了一個支付服務:

技術分享

這給監控帶來了難題:如何監控經常變化的目標? 答案是:監控配置自動化,隨基礎架構擴展,並標記監控目標。

在Zabbix與UYUN Monitor產品中,都可以使用自動部署與發現來實現自動擴展監控。Zabbix主要使用標記與自動分組的方式,而Monitor則使用標簽的方式:

技術分享

多:種類多、實例多

一個公司可能存在30多個這樣的集群應用,它使用上百種技術組件,數千個虛擬機或容器實例。如此大的規模,帶來了巨大的監控復雜度,新的難題是:我們變得更難預測的故障診斷場景!

我們舉幾個具體的場景來說明這點:

場景1:我想要知道所有的檔案查詢次數

檔案查詢次數是衡量整個應用業務量的一個重要指標,這個場景的難點是檔案服務是多實例的,並且分布在多個數據中心。針對這個場景,我們的解題思路是:合計所有數據中心的所有檔案服務的查詢API調用次數,即下圖中所有紅色部份:

技術分享

使用Zabbix時,可以按如下步驟:

創建一個檔案服務group,包含所有數據中心的所有檔案服務

創建一個item,使用匯聚 groupfunc 合計 group 內的所有查詢API調用次數

使用UYUM Monitor時,則配置如下字符串即可:

m=sum:查詢API調用次數{技術組件=檔案服務}

實現效果:

技術分享

場景2:我想知道APIGateway TCP連接數三個中心的各自占比

通過連接數占比,我們可以分析出各個數據中心的負載是否均衡。其解題思路是:獨立合計每個數據中心的APIGateway TCP連接數,即如下紅色部份:

技術分享

使用Zabbix時,可以按如下步驟配置:

創建三個數據中心APIGateway group g1. 杭州東 APIGateway group g2. 杭州西 APIGateway group g3. 寧波 APIGateway group

創建對應item 分別統計其TCP連接數合計

使用UYUM Monitor時,還是配置如下字符串即可:

m=sum:TCP連接數{數據中心=*,技術組件=APIGateway}

實現效果:

技術分享

場景3:我想知道各種服務的主機CPU平均利用率趨勢

通過將一些技術組件的CPU利用率在一個趨勢圖中顯示,我們可以利用指標間的正相關性,來分析組件間的影響,比如檔案服務的CPU利用率升高時,提供其數據的Redis服務CPU使用率也在升高。其解題思路為:分別為每種服務求得其主機CPU平均利用率,並在一個趨勢圖中展示。

使用Zabbix時,可以按如下步驟配置:

創建各個技術組件對應的group,包含:是APIGateway、檔案、登記、通知、支付、MySQL等等

創建對應item 分別統計其主機CPU利用率平均值

而使用UYUM Monitor時,依然是配置如下字符串:

起始時間=30分鐘前&m=avg:主機CPU利用率{技術組件=*}

實現效果:

技術分享

使用標簽標記監控數據的維度

我們可以看出,Zabbix與Monitor針對一些數據的提取方式是不一樣的。Zabbix更多的是使用Group分組的方式,來梳理某些維度同類型的信息,這種方式是我們過去慣用的,組織一棵樹來抽象世界。

但是,世界其實是平的,各種事物實際上是平等存在的,只是它們有著各自的特性而已。所以,我們所需要的只是按需用這些特性標簽來提取它們。舉例來說,下圖就可以看到兩個主機的各種標簽:

技術分享

使用UYUN Monitor時,可以按很多種不同的方式來建立標簽,包括:

1、安裝代理時指定

2、查看主機信息時指定

技術分享

技術分享

3、以及通過自定義腳本推送指標時指定 推送到本機代理:

技術分享

在為監控對象建立好這些標簽後,我們就可以充分使用標簽帶來的便利,隨需查詢,不預設場景。

監控數據應用場景

新一代的監控系統,其本質實際上是一個監控大數據收集與分析平臺,它不限定監控底層的數據來源以便全面覆蓋運維對象,通過海量存儲與靈活的數據提取能力,為上層的各種運維場景,提供如大屏可視化、報警、分析報表等功能。

技術分享

UYUN Monitor 也提供了多種上層的運維分析功能,包括:

1、個性豐富的儀表盤,能靈活提取各類監控數據按多種方式展現

技術分享

2、指標的閾值檢查策略,能對集群指標進行綜合匯聚與告警

技術分享

3、第三方數據查詢OpenAPI,提供數據的二次消費入口

技術分享

可以看出,面對雲時代,我們對監控系統的要求已經產生了變化,監控系統實際上已經轉變 為一個監控大數據收集與分析平臺,它不限定監控底層的數據來源以便全面覆蓋運維對象, 通過海量存儲與靈活的數據提取能力,為上層的各種運維場景,提供如大屏可視化、報警、 分析報表等功能。

本次主題《監控大數據的提取與分析》的分享希望對大家有所幫助,優雲敏捷運維大講堂面向運維領域的技術分享、最佳實踐將不定期與大家見面,敬請期待。

講師介紹

蔣君偉

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

本文出自 “優雲雙態運維” 博客,請務必保留此出處http://uyun2017.blog.51cto.com/12912719/1927541

運維監控大數據的提取與分析