【原汁原味】Dynatrace Problem Resolution(一)

AI-powered, full stack, automated performance management

問題生命周期

問題生命周期

性能異常如何發(fā)現(xiàn)儡嘶?它會影響到哪些應(yīng)用或服務(wù)俩滥?Dynatrace 采用基準(zhǔn)性能偏差比較法來發(fā)現(xiàn)異常瑰剃,并通過依賴關(guān)系進(jìn)行關(guān)聯(lián)。下面通過一個基礎(chǔ)設(shè)施層的性能異常導(dǎo)致的故障案例來深入了解敲才。

1. Dynatrace 檢測到一個基礎(chǔ)設(shè)施層的性能異常孤钦,此時,創(chuàng)建一個新的問題以便追溯肴茄,并發(fā)送告警通知晌畅。

2. 幾分鐘后,這個基礎(chǔ)設(shè)施的問題導(dǎo)致某個應(yīng)用服務(wù)的性能出現(xiàn)下降寡痰。

3. 其他應(yīng)用服務(wù)的性能也相繼出現(xiàn)問題抗楔。此時,單個的基礎(chǔ)設(shè)施問題逐漸演變成了一系列的服務(wù)級問題氓癌,并且前者是后者的根因谓谦。

4. 最終,服務(wù)級問題開始影響終端用戶與應(yīng)用的交互體驗贪婉。在問題生命周期中反粥,此時轉(zhuǎn)化為一個應(yīng)用級問題,它包含一個基礎(chǔ)設(shè)施層的根因以及若干個服務(wù)級根因穗慕。

5. Dynatrace 感知整個環(huán)境的所有依賴關(guān)系沸伏,因此,可以將影響客戶體驗的性能異常與基礎(chǔ)設(shè)施的問題進(jìn)行關(guān)聯(lián)粗合,從而快速解決問題郑气。 您的環(huán)境中出現(xiàn)的每個問題都可以使用上述根因分析方法進(jìn)行定位幅垮,只需在問題詳情頁面點擊根因分析,就能看到 Dynatrace 對該問題執(zhí)行的分析結(jié)果尾组。

根因分析


問題檢測

Dynatrace 提供了一種全方位的應(yīng)用程序運(yùn)行狀態(tài)監(jiān)控忙芒,它從多個角度持續(xù)監(jiān)控你的應(yīng)用程序。

應(yīng)用程序(終端用戶)- 經(jīng)驗告訴我們讳侨,當(dāng)終端用戶訪問你的應(yīng)用程序時呵萨,最關(guān)注響應(yīng)時間與整體性能。

服務(wù)- 也就是你的應(yīng)用程序提供給客戶的各種服務(wù)跨跨,包括 Web 請求潮峦,數(shù)據(jù)庫請求和服務(wù)間通信。

基礎(chǔ)設(shè)施- 這一層包括為您的客戶提供服務(wù)的物理/虛擬機(jī)勇婴。具體可細(xì)分為服務(wù)器忱嘹,數(shù)據(jù)庫,主機(jī)和進(jìn)程等耕渴。

分層監(jiān)控體系

如何關(guān)聯(lián)各層間的異常事件拘悦?

Dynatrace 了解應(yīng)用程序棧中所有層與組件之間的依賴關(guān)系,比如應(yīng)用程序調(diào)用了哪些服務(wù)萨螺?該服務(wù)運(yùn)行在哪些主機(jī)的哪些進(jìn)程上窄做?

分析底層依賴關(guān)系

點擊問題詳情頁面的可視化解析路徑,可以查看導(dǎo)致問題發(fā)生的底層服務(wù)或基礎(chǔ)設(shè)施異常事件分析慰技。可視化解析路徑顯示了您的應(yīng)用程序與支持它的底層服務(wù)和基礎(chǔ)設(shè)施組件之間的依賴關(guān)系组砚。

依賴分析

每一個可視化解析路徑都包含一個問題演進(jìn)查看器吻商,可以使用它來回放問題隨時間的演變情況。在這里糟红,我們可以非常詳細(xì)地看到問題發(fā)生期間艾帐,應(yīng)用依賴關(guān)系的交互與執(zhí)行情況。比如盆偿,你可以看到哪些服務(wù)調(diào)用失敗或基礎(chǔ)設(shè)施健康問題導(dǎo)致了其他服務(wù)調(diào)用失敗柒爸,并最終導(dǎo)致影響客戶體驗的應(yīng)用異常。


問題演進(jìn)查看器

為什么要關(guān)注最慢的 10% 的響應(yīng)時間事扭?

雖然大部分 APM 工具專注于平均響應(yīng)時間捎稚,但 Dynatrace 特別強(qiáng)調(diào)最慢的 10% 的響應(yīng)時間,這是因為,如果你只知道大多數(shù)用戶的平均(中位數(shù)或平均值)響應(yīng)時間今野,你可能就會遺漏一個嚴(yán)重問題:某些用戶正在遭受無法容忍的性能問題葡公。

比如一個典型的搜索服務(wù),它會執(zhí)行一些數(shù)據(jù)庫調(diào)用条霜,這些數(shù)據(jù)庫調(diào)用的響應(yīng)時間可能會有很大差異催什,這取決于它們的數(shù)據(jù)是走緩存 or 數(shù)據(jù)庫?中位數(shù)度量方法在這種場景也難以勝任宰睡,盡管你的大多數(shù)用戶(走緩存)的響應(yīng)時間還不錯蒲凶,但少數(shù)用戶(走數(shù)據(jù)庫)將遭受無法容忍的性能問題,因此拆内,將監(jiān)控的重點放在最慢的 10% 的客戶上旋圆,可以解決這類問題。

如何有效發(fā)揮時間相關(guān)性矛纹?

單看時間相關(guān)性臂聋,難以有效地識別大部分性能問題的根因。因此或南,Dynatrace 更強(qiáng)調(diào)事件序列孩等。

首先,讓我們來看一個簡單的時間相關(guān)性的例子采够,服務(wù) A 調(diào)用了服務(wù) B肄方。在問題演變過程中,第一個發(fā)生的異常事件是服務(wù) B 性能下降蹬癌,然后权她,出現(xiàn)了服務(wù) A 性能下降的事件。在這個案例中逝薪,時間相關(guān)性似乎很好地表明了問題的根因:服務(wù) B 的性能下降導(dǎo)致了服務(wù) A 的性能下降隅要,但這只是一個簡單的場景。

如果問題演變序列中的事件更加細(xì)化董济,交叉更緊密怎么辦步清?如果示例中的服務(wù) A 有一段很長的性能問題歷史怎么辦?在這些場景下虏肾,就無法斷定服務(wù) A 的問題是由服務(wù) B 導(dǎo)致的廓啊,可能服務(wù) A 只是周期性歷史問題的又一次呈現(xiàn)。這些細(xì)微之處導(dǎo)致了單獨的時間相關(guān)性無法有效確定問題的根因封豪。


問題與事件

問題

Dynatrace 的問題包括 AI 驅(qū)動分析谴轮,環(huán)境上下文,根因分析以及細(xì)節(jié)信息吹埠。問題能夠自我表述第步,比如性能下降疮装,功能不當(dāng)和服務(wù)不可用等。一個問題可能是單個事件或多個事件的結(jié)果雌续。

事件

Dynatrace 中的事件是指手動執(zhí)行操作斩个,比如機(jī)器重啟,系統(tǒng)關(guān)機(jī)驯杜,進(jìn)程重啟或代碼部署等受啥。在服務(wù)器上執(zhí)行的任何手動操作都是一個事件,即使它是一種周期性調(diào)度事件鸽心。

你可以在事件模塊找到每一個獨立主機(jī)滚局、虛擬機(jī)或服務(wù)的事件列表。

事件示例

代碼部署事件

軟件代碼的部署也屬于一種事件顽频,這種部署事件有時會導(dǎo)致性能問題藤肢。Dynatrace 將跟蹤所有事件,并關(guān)聯(lián)所有發(fā)現(xiàn)的性能事件糯景。如果我們注意到新代碼部署或系統(tǒng)重啟后嘁圈,立即出現(xiàn)了性能下降,我們將通知你蟀淮,并提供部署前后的性能測量比較最住。這些信息可以直接發(fā)送給軟件開發(fā)者,以便快速修復(fù)怠惶。

問題如何提出與評估涨缚?

Dynatrace 通過指定閾值持續(xù)檢測服務(wù)水位,如果發(fā)現(xiàn)性能下降或錯誤率升高策治,就生成一個新的問題事件脓魏。采用5分鐘滑動窗口來評估響應(yīng)時間的劇烈上升,采用15分鐘滑動窗口來評估響應(yīng)時間的緩慢上升通惫。


檢測閾值

Dynatrace 采用三種類型的閾值:

動態(tài)基線:多維度的動態(tài)基線根據(jù)歷史數(shù)據(jù)自動生成檢測閾值茂翔,這類基線主要用于檢測響應(yīng)時間、錯誤率和負(fù)載等指標(biāo)履腋。

內(nèi)置的靜態(tài)閾值:Dynatrace 采用內(nèi)置的靜態(tài)閾值來檢測所有的基礎(chǔ)設(shè)施異常事件檩电,比如 CPU 過高、磁盤空間不足府树,或內(nèi)存不足等。

用戶自定義靜態(tài)閾值:你可以更改基礎(chǔ)設(shè)施的默認(rèn)檢測閾值料按,也可以將應(yīng)用程序和服務(wù)的動態(tài)基線切換為靜態(tài)閾值奄侠。

通過動態(tài)基線生成的異常事件與靜態(tài)閾值方法有較大差異,下面將提供兩種方法的詳細(xì)介紹载矿。

動態(tài)基線

Dynatrace 通過動態(tài)基線來自動學(xué)習(xí)應(yīng)用/服務(wù)的響應(yīng)時間垄潮、錯誤率和負(fù)載等指標(biāo)的檢測閾值烹卒。

針對響應(yīng)時間,Dynatrace 同時采集了中位數(shù)與90線(最慢的10%)的值弯洗,如果中位數(shù)和90線同時出現(xiàn)異常上升旅急,則提出一個減速(響應(yīng)慢)的事件。

應(yīng)用基線用來預(yù)測下述4個維度的指標(biāo):

用戶行為:應(yīng)用程序的用戶操作牡整,例如登錄藐吮、注銷等。

地理位置:將用戶會話來源的地理位置進(jìn)行層次化組織逃贝,可以分為大陸谣辞、國家、地區(qū)和城市沐扳。

瀏覽器:瀏覽器層次劃分泥从,先區(qū)分類型,如 Firefox 和 Chrome沪摄,在同一類型下再區(qū)分版本號

操作系統(tǒng):操作系統(tǒng)層次劃分躯嫉,先區(qū)分類型,例如 Windows 和 Linux 杨拐,同一類型下再區(qū)分版本號

服務(wù)基線用戶預(yù)測服務(wù)方法維度指標(biāo)

服務(wù)方法:一個服務(wù)的某個方法祈餐,如 getBookingPage 或 getReportPage

在數(shù)據(jù)庫服務(wù)中,不同的服務(wù)方法表示不同的 SQL 語句戏阅,比如 (call verify_location(?) select booking0_.id from Booking booking0_ where booking0_.user_name<>?)

針對預(yù)定義的組別昼弟、靜態(tài)請求和動態(tài)請求可以計算額外的基線閾值,比如分別計算預(yù)定義組別 insert奕筐、update 和 select 多維組合數(shù)據(jù)會分別計算所屬組合的動態(tài)基線舱痘,下面這個案例描述了來自紐約和北京的用戶指標(biāo)閾值:

bash `USA - New York – Chrome – Reference response time : 2sek, error rate: 0%, load: 2 actions/min`?

bash `China – Bejing - QQ Browser - Reference response time : 4sek, error rate: 1%, load: 1 actions/min

Dynatrace 通過 OneAgent 來收集數(shù)據(jù),并且需要兩個小時的歷史數(shù)據(jù)以計算動態(tài)基線离赫,因此芭逝,你可以在你的應(yīng)用接入 OneAgent 兩小時后,開始添加多維數(shù)據(jù)集進(jìn)行檢測渊胸。Dynatrace 每天都會重新計算一次基線旬盯,以便自適應(yīng)流量的變化。

為了避免過度報警并降低通知噪音翎猛,自動異常檢測模式不會對波動應(yīng)用或服務(wù)(每周運(yùn)行時間小于20%)發(fā)送通知胖翰。

Dynatrace 的流量異常檢測基于如下假設(shè):大多數(shù)業(yè)務(wù)流量遵循可預(yù)測的天/周流量模式。流量報警會在一周后開始啟用切厘,因為流量基線需要一周的歷史數(shù)據(jù)來進(jìn)行學(xué)習(xí)萨咳。

經(jīng)過一周的學(xué)習(xí)后,Dynatrace 可以預(yù)測下一周的流量疫稿,并將實際流量與預(yù)測值進(jìn)行比較培他,如果檢測到超出預(yù)測值合理統(tǒng)計區(qū)間的偏差點鹃两,Dynatrace 就會創(chuàng)建一個Unexpected low traffic 或 Unexpected high traffic 問題。

動態(tài)基線的優(yōu)點:

開箱即用舀凛,無需手動配置閾值

無需手動設(shè)置地理位置俊扳,瀏覽器等特定閾值

自適應(yīng)流量模型的變化

動態(tài)基線的缺點:

需要經(jīng)歷一段學(xué)習(xí)期,來學(xué)習(xí)正常流量模式

總結(jié)

基線通過 5分鐘和15分鐘的滑動時間窗口進(jìn)行評估

自動檢測響應(yīng)時間猛遍、錯誤率和負(fù)載的參考值

應(yīng)用有4個維度組合馋记,服務(wù)只有一個維度

多維數(shù)據(jù)集的基線計算需要在初次延遲兩小時,之后每天會自動執(zhí)行

應(yīng)用或服務(wù)每周至少要運(yùn)行20%的時間螃壤,才會對其發(fā)送報警

應(yīng)用至少需要運(yùn)行一周抗果,才會進(jìn)行流量模型的檢測與報警

減速(響應(yīng)慢)事件需要同時檢測中位值與90線

靜態(tài)閾值

Dynatrace 的基礎(chǔ)設(shè)施監(jiān)控基于大量的內(nèi)置、預(yù)定義靜態(tài)閾值奸晴。這些閾值涉及資源爭用冤馏,比如 CPU 尖峰,內(nèi)存和磁盤使用率等寄啼〈猓基線閾值和內(nèi)置閾值都支持用戶進(jìn)行覆蓋修改。

靜態(tài)閾值優(yōu)點:

無需學(xué)習(xí)期墩划,可以立即進(jìn)行告警

靜態(tài)閾值缺點:

需要大量的人工操作

為動態(tài)的服務(wù)設(shè)置固定閾值非常難

無法自適應(yīng)環(huán)境的變化

總結(jié)

基礎(chǔ)設(shè)施監(jiān)控基于許多指標(biāo)的預(yù)定義靜態(tài)閾值涕刚。

靜態(tài)閾值無需學(xué)習(xí)期,可以立即開啟檢測與告警

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末乙帮,一起剝皮案震驚了整個濱河市杜漠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌察净,老刑警劉巖驾茴,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異氢卡,居然都是意外死亡锈至,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門译秦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來峡捡,“玉大人,你說我怎么就攤上這事筑悴∶亲荆” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵阁吝,是天一觀的道長睛竣。 經(jīng)常有香客問我,道長求摇,這世上最難降的妖魔是什么射沟? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮与境,結(jié)果婚禮上验夯,老公的妹妹穿的比我還像新娘。我一直安慰自己摔刁,他們只是感情好挥转,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著共屈,像睡著了一般绑谣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拗引,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天借宵,我揣著相機(jī)與錄音,去河邊找鬼矾削。 笑死壤玫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哼凯。 我是一名探鬼主播欲间,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼断部!你這毒婦竟也來了猎贴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蝴光,失蹤者是張志新(化名)和其女友劉穎她渴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虱疏,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡惹骂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了做瞪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片对粪。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖装蓬,靈堂內(nèi)的尸體忽然破棺而出著拭,到底是詐尸還是另有隱情,我是刑警寧澤牍帚,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布儡遮,位于F島的核電站,受9級特大地震影響暗赶,放射性物質(zhì)發(fā)生泄漏鄙币。R本人自食惡果不足惜肃叶,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望十嘿。 院中可真熱鬧因惭,春花似錦、人聲如沸绩衷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咳燕。三九已至勿决,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間招盲,已是汗流浹背低缩。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留宪肖,地道東北人表制。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像控乾,于是被迫代替她去往敵國和親么介。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

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