摘要:而今,我們就已經(jīng)實(shí)現(xiàn)了這樣的功能使用標(biāo)簽來(lái)實(shí)現(xiàn)數(shù)據(jù)的聚合和分組。數(shù)據(jù)聚合和分組在中,我們實(shí)現(xiàn)了數(shù)據(jù)的聚合和分組。指所需聚合的的查詢條件。所以,與會(huì)聚合為一條曲線,而和的關(guān)系是分組的關(guān)系。
遙想 2015 年 8 月 17 日,Cloud Insight 還在梳理功能原型,暢想 Cloud Insight 存在的意義:為什么阿里云用戶需要使用 Cloud Insight 來(lái)加強(qiáng)管理。
而今,我們就已經(jīng)實(shí)現(xiàn)了這樣的功能:
使用標(biāo)簽來(lái)實(shí)現(xiàn)數(shù)據(jù)的聚合和分組。
相信使用過(guò) OpenTSDB 或者 InfluxDB 的人都知道標(biāo)簽的存在:Tag。這也是為什么越來(lái)越多 Zabbix 或者 Nagios 用戶遷移至 OpentsDB 來(lái)自建運(yùn)維監(jiān)控系統(tǒng)的原因。
如果所示,Zabbix 只提供單臺(tái) Host 的 Disk 使用量。如果 3 臺(tái)主機(jī),都同屬于一個(gè)組 Mi-Kafka,想要知道這個(gè)組的總體 Disk 使用量,是無(wú)法得知的。
從而,就算線上系統(tǒng)發(fā)生了故障,要在短期內(nèi)知道,到底是哪個(gè)模塊的哪個(gè)部分出了哪樣的問(wèn)題,所需要的經(jīng)驗(yàn)和時(shí)長(zhǎng)都是很大的。
而 OpenTSDB 和 StatsD 的出現(xiàn)改變了現(xiàn)狀。
運(yùn)維 2.0 時(shí)代在非常早期的時(shí)候,淘寶團(tuán)隊(duì)就引入了 OpenTSDB 來(lái)輔助他們的運(yùn)維監(jiān)控。詳情見(jiàn):OpenTSDB監(jiān)控系統(tǒng)的研究和介紹。
隨后的幾年,云計(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 通過(guò) 3 個(gè)步驟達(dá)到操作系統(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ù)儀表盤和自定義儀表盤中,提供 Metric 聚合、分組、統(tǒng)計(jì)運(yùn)算、基本數(shù)學(xué)運(yùn)算等操作;
針對(duì)操作的結(jié)果,提供曲線圖、柱狀圖等多樣化的展現(xiàn)形式。
數(shù)據(jù)聚合和分組在 Beta v 0.2.1 中,我們實(shí)現(xiàn)了數(shù)據(jù)的聚合和分組。沿襲了 OpenTSDB 的查詢方式:用一種類 SQL 的方式來(lái)查詢指標(biāo)。
具體操作可以訪問(wèn) Cloud Insight 文檔中心 ? Metric 查詢。
接下來(lái)我們會(huì)介紹 Cloud Insight 已經(jīng)實(shí)現(xiàn)的 Metric 的查詢,以及其中的數(shù)據(jù)聚合和分組。
語(yǔ)法Aggregation: MetricName {FromTag} by {TagKey}
在介紹語(yǔ)法前,我們先通過(guò)一組樣本來(lái)解釋 Metric 查詢的語(yǔ)法。
Series | MetricName | TagValue: Host | TagValue: Owner |
---|---|---|---|
A | system.cpu.idle | ChengMoMacAir | chengmo |
B | system.cpu.idle | UbuntuChengMo | chengmo |
C | system.cpu.idle | WZL-CentOS | wangzhili |
Series | 00:00 | 01:00 | 02:00 | 03:00 | 04:00 | 05:00 |
---|---|---|---|---|---|---|
A | 0.3 | 0.5 | 0.1 | 0.2 | 0.8 | 0.1 |
B | 0.8 | 0.3 | 0.7 | 0.8 | 0.9 | 0.3 |
C | 0.6 | 0.2 | 0.4 | 0.6 | 0.1 | 0.1 |
Aggregation:聚合算子。指 Metric 查詢范圍 FromTag 所查詢到的多條 series 通過(guò) avg、max、min、sum 哪種方式聚合。
FromTag:查詢范圍。指 Metric 所需聚合的 series 的查詢條件。
如:
max: system.cpu.idle {host:ChengMoMacAir, host:UbuntuChengMO}
所得的結(jié)果是:
Series | 00:00 | 01:00 | 02:00 | 03:00 | 04:00 | 05:00 |
---|---|---|---|---|---|---|
A | 0.3 | 0.5 | 0.1 | 0.2 | 0.8 | 0.1 |
B | 0.8 | 0.3 | 0.7 | 0.8 | 0.9 | 0.3 |
Output | 0.8 | 0.5 | 0.7 | 0.8 | 0.9 | 0.3 |
同樣,上述查詢也可以簡(jiǎn)化成:
max: system.cpu.idle {owner:chengmo}
這就是標(biāo)簽管理在 Cloud Insight 的重要性啦。
Cloud Insight 還支持類似 SQL 的 group_by 查詢語(yǔ)法。這個(gè)在查看:
多個(gè)磁盤分區(qū)的容量
Docker 中不同 Container 的性能消耗
都是非常有用的。還是以上訴例子舉例,如果我們想要看每個(gè) host 的 CPU 空閑率:
avg: system.cpu.idle {} by {host}
此時(shí),第一個(gè) {FromTag} 缺省代表從所有 Metrics 中查詢數(shù)據(jù)。如圖所示,得到以下圖表:
在實(shí)際的測(cè)試環(huán)境中,由于我們有 6 臺(tái)測(cè)試主機(jī),所以會(huì)得到如下的曲線。并且,當(dāng)鼠標(biāo)懸停至曲線時(shí),下方的懸停窗口會(huì)分別顯示 6 臺(tái)主機(jī)的 system.cpu.idle。
靈活查詢除開(kāi)單純的聚合和分組,Cloud Insight 還支持聚合和分組的復(fù)合查詢。如:
avg: system.cpu.idle {} by {owner}
Series | MetricName | TagValue: Host | TagValue: Owner |
---|---|---|---|
A | system.cpu.idle | ChengMoMacAir | chengmo |
B | system.cpu.idle | UbuntuChengMo | chengmo |
C | system.cpu.idle | WZL-CentOS | wangzhili |
此時(shí),雖然有 3 個(gè) host,但是分組是以 owner 來(lái)進(jìn)行分組。所以,A 與 B 會(huì)聚合為一條曲線,而 C 和 A&B 的關(guān)系是分組的關(guān)系。
Series | 00:00 | 01:00 | 02:00 | 03:00 | 04:00 | 05:00 |
---|---|---|---|---|---|---|
A | 0.3 | 0.5 | 0.1 | 0.2 | 0.8 | 0.1 |
B | 0.8 | 0.3 | 0.7 | 0.8 | 0.9 | 0.3 |
C | 0.6 | 0.2 | 0.4 | 0.6 | 0.1 | 0.1 |
Output A&B | 0.55 | 0.4 | 0.4 | 0.5 | 0.85 | 0.2 |
Output C | 0.6 | 0.2 | 0.4 | 0.6 | 0.1 | 0.1 |
FromTag 可以承接多個(gè)條件,如上文提到的:
max: system.cpu.idle {host:ChengMoMacAir, host:UbuntuChengMO}
查詢到是兩個(gè) Host 的聚合結(jié)果。那么,如果是以下查詢呢:
max: system.cpu.idle {host:ChengMoMacAir, owner:wangzhili}
此時(shí),查詢到結(jié)果為 NULL。因?yàn)?,Metric 查詢遵循以下原則:
同一 Tag Key,Metric 查詢求并集;
不同 Tag Key,Metric 查詢求交集。
也就是說(shuō),上述查詢分別代表:
我想查詢 host 為 ChengMoMacAir 和 host:UbuntuChengMO 的聚合結(jié)果
我想查詢 host 為 ChengMoMacAir 且 owner 為 wangzhili 的聚合結(jié)果
自然,根據(jù)表格,我們發(fā)現(xiàn)這樣的 Host 是不存在的,故而結(jié)果為 NULL。
我們之所以這么設(shè)計(jì),是因?yàn)榇祟愃伎几先说乃季S習(xí)慣:
當(dāng)人們選擇多個(gè) host 時(shí),自然而然想到的是這些 host 的求和結(jié)果,即:同一 Tag Key 求并集;
當(dāng)人們選擇某個(gè) host,又再次選擇另一個(gè) Tag 時(shí),想到的是在這個(gè) host 下滿足這些 tag 的結(jié)果,即:不同 Tag Key 求交集。
Cloud Insight 還添加了參數(shù)來(lái)提取出 {FromTag},可以讓用戶不用每次都修改 {FromTag} 來(lái)查看 Metric;而只需在參數(shù)下拉框中選擇 {FromTag} 來(lái)動(dòng)態(tài)查詢 Metric。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7950.html
摘要:由發(fā)明,適合于監(jiān)控基于容器的基礎(chǔ)架構(gòu)。有關(guān)其數(shù)據(jù)聚合的功能可以閱讀數(shù)據(jù)聚合分組新一代系統(tǒng)監(jiān)控的核心功能。所抓取的性能指標(biāo)算是較為全面,部署和展現(xiàn)方式都是相當(dāng)簡(jiǎn)單易懂的。 如今,越來(lái)越多的公司開(kāi)始使用 Docker 了,2 / 3 的公司在嘗試了 Docker 后最終使用了它。為了能夠更精確的分配每個(gè)容器能使用的資源,我們想要實(shí)時(shí)獲取容器運(yùn)行時(shí)使用資源的情況,怎樣對(duì) Docker 上的應(yīng)...
摘要:監(jiān)控告警是運(yùn)營(yíng)系統(tǒng)最核心的功能之一,騰訊內(nèi)部有一套很成熟的監(jiān)控告警平臺(tái),而且開(kāi)發(fā)運(yùn)維同學(xué)已經(jīng)習(xí)慣這套平臺(tái),如果我們針對(duì)容器再開(kāi)發(fā)一個(gè)監(jiān)控告警平臺(tái),會(huì)花費(fèi)很多精力,而且沒(méi)有太大的意義。也是一款付費(fèi)監(jiān)控解決方案,計(jì)劃收費(fèi)方案是美分小時(shí)。 如今,越來(lái)越多的公司開(kāi)始使用 Docker 了,現(xiàn)在來(lái)給大家看幾組數(shù)據(jù): 2 / 3 的公司在嘗試了 Docker 后最終使用了它 也就是說(shuō) Docker...
摘要:靈活查詢,聚合分組并存除開(kāi)單純的聚合和分組,還支持聚合和分組的復(fù)合查詢。所以,與會(huì)聚合為一條曲線,而和的關(guān)系則是分組的關(guān)系。當(dāng)然,的功能在未來(lái),還遠(yuǎn)遠(yuǎn)不止這些,高效運(yùn)維的時(shí)代才剛剛開(kāi)啟。 運(yùn)維 2.0 時(shí)代 運(yùn)維 2.0 是指,從技術(shù)運(yùn)維升級(jí)為服務(wù)運(yùn)維,向公司提供可依賴的專業(yè)服務(wù)。運(yùn)維 2.0 強(qiáng)調(diào)服務(wù)交付能力,而不是技術(shù)能力,需求可依賴、懂業(yè)務(wù)、服務(wù)化的專業(yè)運(yùn)維。 為了了解運(yùn)維 2....
摘要:每秒實(shí)時(shí)處理超過(guò)萬(wàn)項(xiàng)監(jiān)控指標(biāo),讓異常無(wú)所遁形。此外,對(duì)于復(fù)雜數(shù)據(jù)庫(kù)故障事后排查故障根源現(xiàn)場(chǎng)還原歷史事件追蹤也迫使我們建設(shè)一個(gè)覆蓋線上所有環(huán)境數(shù)據(jù)庫(kù)實(shí)例事件的監(jiān)控系統(tǒng),做到覆蓋阿里全球子公司所有機(jī)房。所有性能指標(biāo)做到秒級(jí)連續(xù)不間斷監(jiān)控。 摘要: 2017雙11再次創(chuàng)下了32.5萬(wàn)筆/秒交易創(chuàng)建的紀(jì)錄,在這個(gè)數(shù)字后面,更是每秒多達(dá)幾千萬(wàn)次的數(shù)據(jù)庫(kù)寫入,如何大規(guī)模進(jìn)行自動(dòng)化操作、保證數(shù)據(jù)庫(kù)的...
閱讀 3550·2021-11-22 15:22
閱讀 3337·2019-08-30 15:54
閱讀 2732·2019-08-30 15:53
閱讀 822·2019-08-29 11:22
閱讀 3541·2019-08-29 11:14
閱讀 2084·2019-08-26 13:46
閱讀 2219·2019-08-26 13:24
閱讀 2282·2019-08-26 12:22