調(diào)用鏈分析
將應(yīng)用數(shù)據(jù)上報至可觀測鏈路 OpenTelemetry 版后,可觀測鏈路 OpenTelemetry 版即可開始監(jiān)控應(yīng)用,可觀測鏈路 OpenTelemetry 版的調(diào)用鏈分析功能是基于已存儲的全量鏈路明細數(shù)據(jù),自由組合篩選條件與聚合維度進行實時分析,可以滿足不同場景的自定義診斷需求。
前提條件
已將應(yīng)用數(shù)據(jù)上報至可觀測鏈路 OpenTelemetry 版,具體操作,請參見接入指南。
篩選調(diào)用鏈
登錄可觀測鏈路 OpenTelemetry 版控制臺,在左側(cè)導(dǎo)航欄單擊應(yīng)用列表。
在應(yīng)用列表頁面頂部選擇目標地域,然后單擊目標應(yīng)用名稱。
在上方導(dǎo)航欄單擊調(diào)用鏈分析。
在調(diào)用鏈分析頁面右上角的時間選擇框設(shè)置需要查詢的時間段。
篩選鏈路。
在左側(cè)快捷篩選區(qū)域,通過狀態(tài)、耗時、接口名稱和主機地址維度快速篩選鏈路。
篩選條件將會顯示在頁面頂部文本框內(nèi)。
單擊頂部文本框,在下拉彈窗中修改篩選條件或設(shè)置其他維度的篩選條件。
在頂部文本框直接輸入查詢條件。查詢語法說明,請參見調(diào)用鏈分析查詢用法說明。
說明單擊文本框右側(cè)的圖標可以保存當(dāng)前篩選條件。
單擊文本框右側(cè)的已保存視圖可以查看已保存的篩選條件,單擊目標的篩選條件可以快速查看對應(yīng)篩選條件下的鏈路信息。
選擇聚合維度,可以將篩選后的數(shù)據(jù)按照指定維度聚合。
鏈路列表
篩選設(shè)置完成后,調(diào)用鏈分析頁面將會顯示篩選過濾后的鏈路查詢信息,包括Span數(shù)和HTTP錯誤數(shù)的柱狀圖,耗時百分位的時序曲線,以及Span列表。
在Span列表區(qū)域,您可以執(zhí)行以下操作:
單擊目標Span右側(cè)操作列的詳情,可以查看完整的鏈路信息。更多信息,請參見鏈路詳情。
單擊目標Span右側(cè)操作列的日志,可以查看鏈路對應(yīng)的日志信息。
單擊右上角的圖標可以增加或隱藏列表顯示的參數(shù)。
將鼠標懸浮于Span參數(shù)上,單擊右側(cè)的圖標,可以將當(dāng)前參數(shù)值添加為篩選條件。
散點圖
散點圖頁面以時間為橫軸,耗時指標為縱軸,顯示調(diào)用鏈的耗時分布情況。將鼠標懸浮于散點上,可以顯示散點對應(yīng)的調(diào)用鏈的基本信息。單擊散點可以查看調(diào)用鏈對應(yīng)的調(diào)用詳情。更多信息,請參見鏈路詳情。
全鏈路聚合
調(diào)用鏈分析對查詢到的Span可以按照各個維度進行分析,但這些分析是針對單個Span,并未在鏈路級別深度分析。而全鏈路聚合功能支持通過指定條件查詢分布式調(diào)用鏈路的TraceId(最多5000個),然后基于這些TraceId查詢對應(yīng)的Span,并聚合這些Span得出最終結(jié)果,整個過程保證聚合的鏈路完整性。
由于全鏈路聚合是按照查詢條件后聚合計算相應(yīng)數(shù)據(jù)的,當(dāng)您選擇的條件較多時,查詢計算存在一定延遲,請耐心等待。
參數(shù) | 說明 |
spanName | Span名稱。 |
serviceName | Span對應(yīng)的應(yīng)用名。 |
請求數(shù)/請求比例 | 請求比例表示調(diào)用當(dāng)前Span節(jié)點的請求比例數(shù)。 例如10%表示10%的請求會調(diào)用當(dāng)前Span。 計算公式:請求比例=當(dāng)前Span的請求數(shù)/總請求數(shù)*100% |
span數(shù)/請求倍數(shù) | 請求倍數(shù)表示平均每個請求調(diào)用當(dāng)前Span的次數(shù)。 例如1.5表示每個請求會調(diào)用當(dāng)前Span 1.5次 。 計算公式:請求倍數(shù)=Span數(shù)/Span的請求數(shù) |
平均自身耗時/比例 | 平均自身耗時表示不包括子Span的耗時。 例如,對于Span A和其子Span B, 其中A耗時為10 ms, B耗時為8 ms,那A的自身耗時為2 ms。 計算公式:自身耗時=Span耗時-所有子Span耗時總和 重要 如果是異步調(diào)用,自身耗時即Span耗時,無需減去子Span耗時。 |
平均耗時 | 該Span的平均耗時。 |
異常數(shù)/異常比例 | 異常比例表示出現(xiàn)異常的請求比例。 例如3%表示有3%的請求出現(xiàn)異常。 計算公式:異常比例=異常請求數(shù)/總請求數(shù) 重要 異常請求數(shù)不等于異常數(shù)(Span調(diào)用異常的次數(shù)),當(dāng)請求倍數(shù)大于1時, 一個異常請求可能對應(yīng)多個異常數(shù)。 |
示例:如下表所示,Span A調(diào)用Span B和Span C,各參數(shù)含義如下。
spanName | serviceName | 請求數(shù)/請求比例 | span數(shù)/請求倍數(shù) | 平均自身耗時/比例 | 平均耗時 | 異常數(shù)/異常比例 | |
A | - | demo | 10/100.00% | 10/1.00 | 5.00ms/25.00% | 20ms | 2/20.00% |
- | B | demo | 4/40.00% | 8/2.00 | 16.00ms/100.00% | 16ms | 2/50.00% |
- | C | demo | 1/10.00% | 1/1.00 | 4.00ms/100.00% | 4ms | 1/100.00% |
對于入口Span,A的請求數(shù)/請求比例表示A的請求總數(shù)為10次,比例為100%。B的請求數(shù)/請求比例為4/40.00%,表示只有4次請求調(diào)用了B,同理只有1次請求調(diào)用了C,對應(yīng)的請求比例分別為40%和10%。其余的請求可能因邏輯判斷或者異常而未調(diào)用B和C。這里反映了請求的分布比例。
A的span數(shù)/請求倍數(shù)為10/1.00,表示每次請求只調(diào)用了一次A,但是對于B而言,4次請求有8個Span,每次請求調(diào)用了2次B。這里反映了一次請求中Span的分布比例。
A的平均自身耗時/比例為5.00ms/25.00%,表示A除了B和C之外的平均耗時為5ms,只占整體平均耗時的25%。而子Span B和C因為沒有子Span,所以自身耗時即整體耗時。這里反映了耗時的分布比例。
A的異常數(shù)/異常比例為2/20.00%,表示A發(fā)生了2次異常,占整體請求的20%。B的異常數(shù)/異常比例為2/50.00%,因為每次請求調(diào)用了2次B,總的請求數(shù)是4,異常比例是50%,那么2次請求發(fā)生了異常。所以B的分布可能是:一共有4次請求,其中有2次請求調(diào)用的4個Span B都是正常的,剩下2次請求中,首次Span B的調(diào)用都發(fā)生異常,然后重新調(diào)用成功。
如果需要查看具體的調(diào)用鏈詳情,可以將鼠標懸浮于藍色的Span名稱上,在懸浮框中可以看到推薦的調(diào)用鏈ID,單擊TraceId即可查看。
全鏈路拓撲
全鏈路拓撲頁簽顯示調(diào)用鏈聚合后的應(yīng)用間拓撲。如下圖所示,表示兩個應(yīng)用間存在調(diào)用關(guān)系,同時展示相應(yīng)的請求數(shù)、錯誤數(shù)、響應(yīng)時間等數(shù)據(jù)。
鏈路詳情
在鏈路詳情面板可以查看鏈路下的所有接口、鏈路開始時間、總耗時、接口是否異常、以及每個接口的調(diào)用耗時。
在鏈路詳情面板,您可以執(zhí)行以下操作:
將鼠標懸浮于接口名稱上,可以查看接口對應(yīng)的應(yīng)用名、接口名、IP和開始時間。
單擊目標接口右側(cè)的圖標,可以查看目標接口下的方法棧和分析總覽信息。
方法棧
分析總覽
單擊接口名稱,可以在面板右側(cè)查看對應(yīng)接口的附加信息、指標詳情和日志。附加信息常見參數(shù)請參見調(diào)用鏈分析參數(shù)說明;指標詳情請參見JVM監(jiān)控和主機監(jiān)控;日志信息請參見日志關(guān)聯(lián)。
相關(guān)文檔
為避免在出現(xiàn)問題后被動診斷錯誤原因,您還可以使用告警功能針對一個接口或全部接口創(chuàng)建告警,即可在出現(xiàn)問題時向運維團隊發(fā)送通知。如何創(chuàng)建告警,請參見創(chuàng)建告警規(guī)則。