可觀測性(二)

上一期可觀測性文章《可觀測性(一)》里面聊了可觀測性的定義直撤、價值和三大支柱非竿。

其中值得再次提及的是,可觀測性的核心目的是以量化的方式管理企業(yè)的基礎(chǔ)設(shè)施(包括中間件等)谋竖、平臺和應(yīng)用程序红柱。

正所謂 “如果你無法量化它,你就無法管理它” -- 彼得·德魯克蓖乘。

同時還有一個要點(diǎn)锤悄,就是可觀測性要完成閉環(huán),終究需要告警管理平臺來做連接--將問題指標(biāo)即時反映給相關(guān)維護(hù)人員嘉抒,以解決系統(tǒng)無法自修復(fù)的問題零聚,同時提高系統(tǒng)自修復(fù)能力。

接著這個話題些侍,這期我整理了構(gòu)建一個優(yōu)秀的可觀測系統(tǒng)需要哪些核心能力隶症。

由于這個話題近乎實(shí)操,太過深入岗宣,本人暫時力不能及蚂会,但學(xué)習(xí)完之后又覺得很有價值,想分享給大家狈定,同時留作日后回顧颂龙。因此以引用的方式將精髓呈現(xiàn)出來挡篓。

原文來自公眾號《成哥的世界》防楷,作者:Cheng哥蜂厅。有刪改蛙酪。

通常我們在IT領(lǐng)域看到的關(guān)于可觀測性概念的介紹奏纪,都會提到它是Metrics, Traces以及Logs的結(jié)合棠赛,通常會以下圖來呈現(xiàn)榔袋。

1.png

這里我找了一個Splunk的Demo丑念,我們可以直觀的感受一下让蕾,可觀測性的實(shí)際效果是怎樣的浪规。

Splunk可觀測性gif.gif

大家看完這個示意,對可觀測性就有更直觀的理解了探孝,不做贅述笋婿。
但是這個Demo就只能作為Demo看一下,現(xiàn)實(shí)情況遠(yuǎn)比這個要復(fù)雜的多顿颅,原因我們后面會講到缸濒。
不過,這里就有問題了粱腻,監(jiān)控做了這么多年庇配,Metric都是全的,日志系統(tǒng)也上了绍些,Log一條都沒拉下捞慌,調(diào)用鏈工具也引入了,Trace拓?fù)湟材墚嫵鰜砑砼巧厦孢@個效果是不是將三者結(jié)合一下就有了呢啸澡?
答案顯而易見,是否定的氮帐。相反锻霎,現(xiàn)實(shí)情況下上述的效果并不容易達(dá)成,這里不僅僅是Metric揪漩、Trace和Log三者的技術(shù)結(jié)合在一起就OK旋恼,這只是外在的形,要想達(dá)成這個效果奄容,其實(shí)更關(guān)鍵的是背后的神冰更。
那這個神到底是什么,接下來我就換一個方式描述一下這個過程昂勒,把背后更為核心的內(nèi)容呈現(xiàn)出來蜀细。

可觀測性O(shè)bservability的剖析

一圖勝千言,我直接用一張圖來描述戈盈,如下所示:

2.png

其實(shí)有了這張圖奠衔,對Observability有一定理解的同學(xué)谆刨,應(yīng)該就看的差不多了。
如果說Observability的內(nèi)在的神是什么归斤,總結(jié)下來就是3部分內(nèi)容:
1.SRE方法論
2.AIOps算法能力
3.業(yè)務(wù)架構(gòu)的理解痊夭,這里暗含著對領(lǐng)域知識的掌握


3.png

我們可以看到,這三部分的核心能力的掌握就不單純是技術(shù)能力的體現(xiàn)了脏里,這里要有非常深厚經(jīng)驗積累和時間她我,以及長時間對業(yè)務(wù)架構(gòu)摸索和理解。
也只有在這三部分核心能力的指導(dǎo)下迫横,像Metric番舆、Trace和Log這樣的技術(shù)手段才能發(fā)揮最大價值。

接下來我們再談?wù)劄槭裁催@三個核心能力非常重要:

可觀測性之SRE方法論

這里面要用到SLO的方法矾踱,幫助我們識別關(guān)鍵Metrics恨狈,快速感知問題發(fā)生,主要是在Detect階段呛讲。

我們知道復(fù)雜系統(tǒng)下拴事,會包含網(wǎng)絡(luò)、應(yīng)用圣蝎、分布式中間件刃宵、容器、主機(jī)徘公、存儲牲证、數(shù)據(jù)庫等等多層設(shè)備和部件,每個部件都會有自己的各類指標(biāo)关面。

但是指標(biāo)這么多坦袍,出問題同時告警,那就告警風(fēng)暴了等太,一個是會造成關(guān)鍵信息淹沒捂齐,再就是信息多了,告警就變成了“狼來了”缩抡,接收告警的人就麻木了奠宜。

這個時候就要設(shè)定SLO,而且SLO得是要分層設(shè)定瞻想,業(yè)務(wù)層面压真,要關(guān)注業(yè)務(wù)SLO,比如GMV蘑险、訂單量滴肿、支付成功率等等。

系統(tǒng)層面就要關(guān)注系統(tǒng)SLO佃迄,比如訂單接口成功率泼差、時延和TPS等等贵少,應(yīng)用就要關(guān)注應(yīng)用的SLO,緩存堆缘、消息滔灶、存儲、數(shù)據(jù)庫套啤,以及底層的網(wǎng)絡(luò)、容器随常、虛擬機(jī)潜沦、硬件主機(jī)要也要有自己的SLO。

SLO怎么設(shè)計绪氛,我不詳述了唆鸡,之前講了很多,大家自行了解SRE的SLO機(jī)制就好了枣察。
不過争占,即使做分層設(shè)定,出問題告警依然很多序目,我可以通過選定最上層的業(yè)務(wù)SLO來感知出問題了臂痕,提升響應(yīng)速度,但是問題出在哪兒依然未知猿涨,這個時候在這種復(fù)雜系統(tǒng)中握童,就必須依賴AIOps的能力了。

可觀測性之AIOps

AIOps領(lǐng)域叛赚,針對Metric澡绩、Trace和Log,都有專門的算法來應(yīng)對支持俺附,對應(yīng)三類肥卡,比如針對Metric,就是KPI Anomaly Detection事镣,針對Trace就是Tracing Anomaly Detection步鉴,針對Log就是Log Anomaly Detecion。

所以璃哟,AIOps是會始終貫穿整個Observability過程的唠叛,關(guān)于AIOps推薦看一下清華裴丹教授的文章和課程,會有更詳細(xì)的分享沮稚。

可觀測性之業(yè)務(wù)架構(gòu)的理解

如果SRE方法論和AIOps是落地Observability的兩個核心艺沼,那對業(yè)務(wù)架構(gòu)的理解,我對它的定位就是核心中的核心蕴掏。

我們在架構(gòu)領(lǐng)域經(jīng)常聽到的一句話就是障般,“脫離業(yè)務(wù)談架構(gòu)就是耍流氓”调鲸,其實(shí)也適用于Observability,適用于SRE和AIOps挽荡,脫離業(yè)務(wù)架構(gòu)談Observability就是耍流氓藐石。

那對業(yè)務(wù)架構(gòu)的理解為什么這么重要呢?我們看兩個場景:

第一個定拟,還是回到SLO設(shè)定上于微,當(dāng)我們設(shè)定業(yè)務(wù)SLO時,我們是要根據(jù)業(yè)務(wù)類型和特點(diǎn)來的青自,或者換種說法株依,用戶對我們業(yè)務(wù)的感知,是通過哪些指標(biāo)來體現(xiàn)的延窜?

首先恋腕,我們得能定義出來,比如電商可以是可以訂單和支付維度來判定逆瑞,對應(yīng)會有下單成功率荠藤、下單量,支付成功率获高,支付筆數(shù)等等哈肖。

再進(jìn)一步,正常這些指標(biāo)都一個平滑的駝峰式曲線念秧,等但是在做活動時牡彻,它可能就是一個個的尖峰和突刺,在節(jié)假日它的同環(huán)比會下降出爹,遇到熱點(diǎn)商品庄吼,可能會出現(xiàn)一段時間的波動,但是這些場景并不意味著系統(tǒng)出問題了严就,這種就要在AIOps的算法里識別出來总寻。

那類似微信的IM又是什么指標(biāo)和特點(diǎn)?社交軟件微博又有什么不同梢为?跨行業(yè)的電信運(yùn)營商渐行,以及銀行、證券铸董、保險等金融行業(yè)又各是什么特點(diǎn)祟印。

這些都取決于對業(yè)務(wù)場景的深刻理解。

如果說第一個場景只要我懂業(yè)務(wù)就可以設(shè)定SLO粟害,那如果我往深里看蕴忆,那就不僅僅是對業(yè)務(wù)場景的理解了。

第二個悲幅,我們往業(yè)務(wù)架構(gòu)深里看套鹅,我們都知道復(fù)雜分布式系統(tǒng)里站蝠,調(diào)用關(guān)系是異常復(fù)雜的,會呈現(xiàn)密布的網(wǎng)狀調(diào)用關(guān)系卓鹿。

4.png

當(dāng)然現(xiàn)在有各類Trace工具能幫我們把調(diào)用拓?fù)涑尸F(xiàn)出來菱魔,也可以根據(jù)TraceID或業(yè)務(wù)ID單獨(dú)看某次的調(diào)用鏈,確實(shí)方便了很多吟孙。

但是這么復(fù)雜的調(diào)用關(guān)系全部呈現(xiàn)出來澜倦,我到底應(yīng)該怎么看?
答案是基本沒法看杰妓!

所以這個時候就必須得事先規(guī)劃出一條核心的業(yè)務(wù)鏈路藻治,也就是我們常說的業(yè)務(wù)關(guān)鍵路徑Critical Path,再進(jìn)一步稚失,關(guān)鍵路徑上就會有核心應(yīng)用栋艳,只有對照著這個路徑去看恰聘,Observability才會有針對性和指導(dǎo)意義句各。

所以上面的那個Splunk的Demo,我們?yōu)槭裁凑f就是個Demo晴叨,因為現(xiàn)實(shí)中的調(diào)用關(guān)系要比Demo復(fù)雜N多倍凿宾,但是它想呈現(xiàn)的效果,就是針對Critical Path關(guān)鍵路徑路來的兼蕊。
關(guān)于Critical Path初厚,核心應(yīng)用,強(qiáng)弱依賴關(guān)系等等孙技,在我的課程和之前的文章中都有产禾,可以自行查閱。

所以講到這里牵啦,我們可以看到亚情,Observability從業(yè)務(wù)來講,其實(shí)是需要事先定義出如下一條業(yè)務(wù)分析鏈路的:

業(yè)務(wù)SLO—Critical Path—核心應(yīng)用SLO—核心分布式組件SLO—容器SLO—IAAS SLO

只有這個鏈路清晰了哈雏,AIOps才會發(fā)揮最大的優(yōu)勢楞件,Observability的效果才會呈現(xiàn)出來。

一開始可以冗余裳瘪,不那么清晰土浸,但是必須得有,就像杭州到深圳彭羹,大家得知道杭州打車去機(jī)場黄伊,飛機(jī)去深圳機(jī)場,到了深圳再打車或地鐵去目的地派殷,這就是一條主線毅舆,這個都沒有西篓,基本就沒法出門了。

所以憋活,要做到這個程度岂津,你就得懂業(yè)務(wù)、懂業(yè)務(wù)架構(gòu)悦即、懂技術(shù)架構(gòu)吮成、還要有一定的經(jīng)驗積累和沉淀,不然沒法做判斷辜梳。

上面講了那么多粱甫,我放個示例,就不多講了作瞄。

5.png

當(dāng)然茶宵,可能會有人挑戰(zhàn)我說,AIOps可以做到無監(jiān)督學(xué)習(xí)宗挥,自行分析關(guān)鍵路徑乌庶,不用這么麻煩還要人工分析。

當(dāng)然契耿,我相信未來有一天或許會做到瞒大,但是到目前為止,我覺得這還不現(xiàn)實(shí)搪桂,即使能分析出鏈路來透敌,但是已然離不開架構(gòu)師的梳理和確認(rèn)。

這個狀態(tài)踢械,我覺得就跟現(xiàn)在的無人駕駛一樣酗电,絕大多數(shù)情況下,他可以自動巡航内列,但是關(guān)鍵時刻還是離不開人的判斷和控制撵术。而人的判斷又是來自于駕駛經(jīng)驗、交通法規(guī)德绿、倫理道德以及當(dāng)時的精神面貌等很多因素荷荤。

從這個角度,自動巡航能力只是人的決策依據(jù)的一部分而已移稳,只能做輔助蕴纳,永遠(yuǎn)離不開也取代不了人的判斷。

最后个粱,總結(jié)一下:

當(dāng)前看到的Observability的產(chǎn)品只有Metric古毛、Trace和Log的技術(shù)描述,額外再加上部分AIOps的加持,但是這些只是形稻薇,沒有神嫂冻。

要想有神,最關(guān)鍵不能離開業(yè)務(wù)和場景塞椎,所以SRE方法論桨仿、領(lǐng)域知識(業(yè)務(wù)和架構(gòu))以及AIOps才是Observability的落地的關(guān)鍵所在。

而這三者之中案狠,對業(yè)務(wù)場景及業(yè)務(wù)架構(gòu)的理解程度服傍,決定了SRE和AIOps可以發(fā)揮的效果如何,也最終決定了落地的效果骂铁。

再就是吹零,為什么之前很少有人提Observability,這兩天如此火熱拉庵,我覺得還是技術(shù)應(yīng)用發(fā)展到一定程度的結(jié)果灿椅,大家前幾年都在分頭搞監(jiān)控、鏈路跟蹤和日志系統(tǒng)钞支,這兩年搞差不多了茫蛹,自然就會有更高的應(yīng)用訴求。

所以伸辟,從技術(shù)上講麻惶,并無新鮮的東西馍刮,關(guān)鍵還是得有更清晰的判斷和思考信夫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卡啰,隨后出現(xiàn)的幾起案子静稻,更是在濱河造成了極大的恐慌,老刑警劉巖匈辱,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件振湾,死亡現(xiàn)場離奇詭異,居然都是意外死亡亡脸,警方通過查閱死者的電腦和手機(jī)押搪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浅碾,“玉大人大州,你說我怎么就攤上這事〈剐唬” “怎么了厦画?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我根暑,道長力试,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任排嫌,我火速辦了婚禮畸裳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淳地。我一直安慰自己躯畴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布薇芝。 她就那樣靜靜地躺著蓬抄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪夯到。 梳的紋絲不亂的頭發(fā)上嚷缭,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音耍贾,去河邊找鬼阅爽。 笑死,一個胖子當(dāng)著我的面吹牛荐开,可吹牛的內(nèi)容都是我干的付翁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晃听,長吁一口氣:“原來是場噩夢啊……” “哼百侧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起能扒,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤佣渴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后初斑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辛润,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年见秤,在試婚紗的時候發(fā)現(xiàn)自己被綠了砂竖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹃答,死狀恐怖乎澄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挣跋,我是刑警寧澤三圆,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響舟肉,放射性物質(zhì)發(fā)生泄漏修噪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一路媚、第九天 我趴在偏房一處隱蔽的房頂上張望黄琼。 院中可真熱鬧,春花似錦整慎、人聲如沸脏款。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撤师。三九已至,卻和暖如春拧揽,著一層夾襖步出監(jiān)牢的瞬間剃盾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工淤袜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痒谴,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓铡羡,卻偏偏與公主長得像积蔚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子烦周,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容