運(yùn)維 2.0 時(shí)代
運(yùn)維 2.0 是指宋舷,從技術(shù)運(yùn)維升級(jí)為服務(wù)運(yùn)維巷怜,向公司提供可依賴(lài)的專(zhuān)業(yè)服務(wù)葛超。運(yùn)維 2.0 強(qiáng)調(diào)服務(wù)交付能力,而不是技術(shù)能力延塑,需求可依賴(lài)绣张、懂業(yè)務(wù)、服務(wù)化的專(zhuān)業(yè)運(yùn)維关带。
為了了解運(yùn)維 2.0 時(shí)代的監(jiān)控方式侥涵,我們不妨從以前的監(jiān)控手段說(shuō)起。首先來(lái)了解一下 Zabbix 宋雏,通過(guò) Zabbix 能夠監(jiān)視各種網(wǎng)絡(luò)參數(shù)芜飘,保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位和解決存在的各種問(wèn)題好芭。但時(shí)代在推進(jìn)燃箭,如今 Zabbix 的功能真的就能滿(mǎn)足廣大開(kāi)發(fā)者們么?
如果你是阿里云的用戶(hù)舍败,或者使用過(guò) Zabbix招狸,你將明顯感受到一個(gè)痛點(diǎn):沒(méi)有辦法對(duì)數(shù)據(jù)做聚合,只能挨個(gè)查看主機(jī)的性能指標(biāo)邻薯,更不用說(shuō)有管理的功能了裙戏。
如上圖,Zabbix 只提供單臺(tái) Host 的 Disk 使用量厕诡。如果 3 臺(tái)主機(jī)累榜,同屬于一個(gè)組 Mi-Kafka,就沒(méi)法知道這個(gè)組總體 Disk 使用量了灵嫌。
因此壹罚,就算線(xiàn)上系統(tǒng)發(fā)生了故障,要在短期內(nèi)知道寿羞,到底是哪個(gè)模塊的哪個(gè)部分出了什么樣的問(wèn)題猖凛,所需要的經(jīng)驗(yàn)和時(shí)長(zhǎng)都是巨大的。
而 OpenTSDB 和 StatsD 的出現(xiàn)改變了現(xiàn)狀绪穆。
OpenTSDB 是什么呢辨泳,一個(gè)開(kāi)源監(jiān)控系統(tǒng)虱岂,可以從大規(guī)模的集群(包括集群中的網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)菠红、應(yīng)用程序)中獲取相應(yīng)的 Metrics 同時(shí)進(jìn)行存儲(chǔ)第岖、索引以及服務(wù),從而使得這些數(shù)據(jù)更容易讓人理解试溯。
集群監(jiān)控
如今越來(lái)越多的企業(yè)開(kāi)始使用混合云模式蔑滓,來(lái)建設(shè)數(shù)據(jù)中心。私有云和公有云耍共,以及集群系統(tǒng)烫饼,讓監(jiān)控工作變得異常復(fù)雜。所以试读,以下幾個(gè)方面在運(yùn)維監(jiān)控中顯得尤為重要:
- 性能指標(biāo)的采集的輕量化杠纵;
- 性能指標(biāo)能夠集中在一個(gè)平臺(tái)進(jìn)行管理和可視化;
- 能夠?qū)π阅苤笜?biāo)進(jìn)行靈活的組合和計(jì)算钩骇。
打個(gè)簡(jiǎn)單的比方比藻,一家廣告監(jiān)控平臺(tái)購(gòu)買(mǎi) AWS 的 50 臺(tái) EC2 來(lái)進(jìn)行數(shù)據(jù)的采集,而數(shù)據(jù)分析則是本地的 10 臺(tái)服務(wù)器來(lái)支持倘屹。
如果還在使用傳統(tǒng)運(yùn)維工具 Zabbix银亲,這時(shí)候就會(huì)遇到一個(gè)問(wèn)題,AWS 控制臺(tái)可以看到這 50 臺(tái)的監(jiān)控指標(biāo)纽匙。也就意味著务蝠,運(yùn)維工程師需要使用 Zabbix 和 AWS 控制臺(tái)來(lái)同時(shí)管理監(jiān)控?cái)?shù)據(jù)。
同時(shí)關(guān)注多集群中多個(gè)節(jié)點(diǎn)的運(yùn)行情況烛缔,以及需要查看不同中間件的指標(biāo)來(lái)發(fā)現(xiàn)問(wèn)題馏段,或者想要通過(guò) Zabbix 集成短信報(bào)警渠道,這些讓運(yùn)維工作變得不堪重負(fù)践瓷。
而在非常早期的時(shí)候院喜,淘寶團(tuán)隊(duì)就引入了 OpenTSDB 來(lái)輔助他們的運(yùn)維監(jiān)控。
隨后的幾年晕翠,云計(jì)算和 SaaS 的興起喷舀,國(guó)外也出現(xiàn)了多種采用 StatsD 和 OpenTSDB 的開(kāi)源工具搭建的 SaaS 服務(wù):Boundary、CopperEgg淋肾、Datadog 等等硫麻。
他們都不約而同地采用了同一種產(chǎn)品邏輯,也是 Cloud Insight 的產(chǎn)品邏輯————時(shí)間序列數(shù)據(jù)庫(kù)的邏輯樊卓。
- 任何的性能指標(biāo)庶香,都作為時(shí)間序列數(shù)據(jù)被采集和處理;
- 任何的 Host 等歸屬于性能指標(biāo)的屬性简识,都作為指標(biāo)的標(biāo)簽信息赶掖。
而在產(chǎn)品邏輯上,則表現(xiàn)為:
Cloud Insight
運(yùn)維 2.0 時(shí)代有一款有趣的監(jiān)控產(chǎn)品——Cloud Insight七扰,它支持多種操作系統(tǒng)奢赂、云主機(jī)、數(shù)據(jù)庫(kù)和中間件的監(jiān)控颈走,通過(guò)標(biāo)簽膳灶,對(duì)基礎(chǔ)設(shè)施進(jìn)行有效地管理,讓您輕松應(yīng)對(duì)復(fù)雜的基礎(chǔ)設(shè)施架構(gòu)立由。來(lái)幫助所有的 IT 公司轧钓,減少在系統(tǒng)監(jiān)控上的人力和時(shí)間成本投入,讓運(yùn)維工作變得更加高效锐膜、簡(jiǎn)單毕箍。
視角決定高度,在此基礎(chǔ)之上道盏,Cloud Insight 還能夠?qū)?shù)據(jù)指標(biāo)進(jìn)行聚合而柑、分組、過(guò)濾荷逞、管理媒咳、計(jì)算;并提供團(tuán)隊(duì)協(xié)作功能种远,共同管理數(shù)據(jù)和報(bào)警事件涩澡。所以,Cloud Insight 也是一個(gè)數(shù)據(jù)管理平臺(tái)坠敷,幫助企業(yè)內(nèi)部加強(qiáng)溝通和協(xié)作妙同,填補(bǔ)部門(mén)間、人員間常拓、技能間的溝通鴻溝渐溶。
Cloud Insight 通過(guò) 3 個(gè)步驟深入操作系統(tǒng)、數(shù)據(jù)庫(kù)弄抬、中間件茎辐,以及未來(lái)通過(guò) Developer API 對(duì)接進(jìn)來(lái)的所有 Metric 進(jìn)行處理:
- Cloud Insight Agent 采集并處理 Metric;
- 在平臺(tái)服務(wù)儀表盤(pán)和自定義儀表盤(pán)中掂恕,提供 Metric 聚合拖陆、分組、統(tǒng)計(jì)運(yùn)算懊亡、基本數(shù)學(xué)運(yùn)算等操作依啰;
- 針對(duì)操作的結(jié)果,提供曲線(xiàn)圖店枣、柱狀圖等多樣化的展現(xiàn)形式速警。
Cloud Insight 的神奇功能
- 自定義儀表盤(pán)
- 數(shù)據(jù)聚合
遙想 2015 年 8 月 17 日叹誉,Cloud Insight 還在梳理功能原型,暢想 Cloud Insight 存在的意義闷旧,而一轉(zhuǎn)眼长豁,我們已經(jīng)實(shí)現(xiàn)了很有意思的功能:
- 自定義儀表盤(pán)
Cloud Insight 已經(jīng)可以自定義儀表盤(pán)了,除了在數(shù)據(jù)展現(xiàn)上清晰直觀(guān)忙灼,它還擁有一個(gè)炫酷的本事:隨意拖拽匠襟。
- 使用標(biāo)簽來(lái)實(shí)現(xiàn)數(shù)據(jù)聚合&分組
在 Beta v 0.2.1 中,我們實(shí)現(xiàn)了數(shù)據(jù)的聚合和分組该园。沿襲了 OpenTSDB 的查詢(xún)方式:用一種類(lèi) SQL 的方式來(lái)查詢(xún)指標(biāo)酸舍。
具體操作可以訪(fǎng)問(wèn) Cloud Insight 文檔中心 ? Metric 查詢(xún)。
Cloud Insight 還支持類(lèi)似 SQL 的 group_by 查詢(xún)語(yǔ)法里初。這個(gè)在查看多個(gè)磁盤(pán)分區(qū)的容量和Docker 中不同 Container 的性能消耗時(shí)都是非常有用的啃勉。
例子舉例,如果我們想要看每個(gè) host 的 CPU 空閑率:
avg: system.cpu.idle {} by {host}
此時(shí)青瀑,第一個(gè) {FromTag} 缺省代表從所有 Metrics 中查詢(xún)數(shù)據(jù)璧亮。如圖所示,得到以下圖表:
在實(shí)際的測(cè)試環(huán)境中斥难,由于我們有 6 臺(tái)測(cè)試主機(jī)枝嘶,所以會(huì)得到如下的曲線(xiàn)。并且哑诊,當(dāng)鼠標(biāo)懸停至曲線(xiàn)時(shí)群扶,下方的懸停窗口會(huì)分別顯示 6 臺(tái)主機(jī)的 system.cpu.idle。
靈活查詢(xún)镀裤,聚合&分組并存
除開(kāi)單純的聚合和分組竞阐,Cloud Insight 還支持聚合和分組的復(fù)合查詢(xún)。如:
avg: system.cpu.idle {} by {owner}
此時(shí)暑劝,雖然有 3 個(gè) host骆莹,但是分組是以 owner
來(lái)進(jìn)行的。所以担猛,A 與 B 會(huì)聚合為一條曲線(xiàn)幕垦,而 C 和 A&B 的關(guān)系則是分組的關(guān)系。
當(dāng)然傅联,Cloud Insight 的功能在未來(lái)先改,還遠(yuǎn)遠(yuǎn)不止這些,高效運(yùn)維的時(shí)代才剛剛開(kāi)啟蒸走。