全部產品
Search
文件中心

Application Real-Time Monitoring Service:調用鏈分析

更新時間:Sep 21, 2024

ARMS應用監控的調用鏈分析功能是基於已儲存的全量鏈路詳細資料,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。

功能入口

  1. 登入ARMS控制台

  2. 在左側導覽列選擇應用監控 > 調用鏈分析,然後在頂部功能表列選擇目標地區。

  3. 調用鏈分析頁面右上方的時間選擇框設定需要查詢的時間段。

  4. 篩選鏈路。

    • 在左側快捷篩選地區,通過狀態、耗時、應用程式名稱、介面名稱和主機地址維度快速篩選鏈路。

      篩選條件將會顯示在頁面頂部文字框內。

    • 單擊頂部文字框,在下拉彈窗中修改篩選條件或設定其他維度篩選條件。

    • 在右側頂部文字框直接輸入查詢條件。查詢文法說明,請參見調用鏈分析查詢用法說明

      說明
      • 單擊文字框右側的儲存表徵圖可以儲存當前篩選條件。

      • 單擊文字框右側已儲存視圖可以查看已儲存的篩選條件,單擊目標的篩選條件可以快速查看對應篩選條件下的鏈路資訊。

      • 選擇彙總維度,可以將篩選後的資料按照指定維度彙總。

鏈路列表

篩選設定完成後,調用鏈分析頁面將會顯示篩選過濾後的鏈路查詢資訊,包括調用次數和HTTP錯誤數的柱狀圖,調用耗時的時序曲線,以及調用鏈列表。

Span資料資訊

在調用鏈列表地區,您可以執行以下操作:

  • 單擊目標調用鏈的TraceId或右側操作列的詳情,可以查看調用鏈詳情和拓撲視圖。更多資訊,請參見Trace詳情

  • 單擊目標調用鏈右側操作列的日誌,可以查看鏈路對應的日誌資訊。更多資訊,請參見日誌分析

  • 單擊右上方的設定表徵圖可以增加或隱藏列表顯示的參數。

  • 將滑鼠懸浮於調用鏈參數上,單擊右側的過濾表徵圖,可以將當前參數值添加為篩選條件。添加篩選條件

散佈圖

散佈圖頁面以時間為橫軸,耗時指標為縱軸,顯示調用鏈的耗時分布情況。將滑鼠懸浮於散點上,可以顯示散點對應的調用鏈的基本資料。單擊散點可以查看調用鏈對應的調用詳情。更多資訊,請參見Trace詳情

image.png

全鏈路彙總

調用鏈分析對查詢到的Span可以按照各個維度進行分析,但這些分析是針對單個Span,並未在鏈路層級深度分析。而全鏈路彙總功能支援通過指定條件查詢分布式調用鏈路的TraceId(最多5000個),然後基於這些TraceId查詢對應的Span,並彙總這些Span得出最終結果,整個過程保證彙總的鏈路完整性。

說明

由於全鏈路彙總是按照查詢條件後彙總計算相應資料的,當您選擇的條件比較多時,查詢計算存在一定延遲,請耐心等待。

image

參數

說明

spanName

Span名稱。

serviceName

Span對應的應用程式名稱。

請求數/請求比例

請求比例表示調用當前Span節點的請求比例數。

例如10%表示10%的請求會調用當前Span。

計算公式:請求比例=當前Span的請求數/總請求數*100%

span數/請求倍數

請求倍數表示平均每個請求調用當前Span的次數。

例如1.5表示每個請求會調用當前Span 1.5次 。

計算公式:請求倍數=Span數/Span的請求數

平均自身耗時/比例

平均自身耗時表示不包括子Span的耗時。

例如,對於Span A和其子Span B, 其中A耗時為10 ms, B耗時為8 ms,那麼A的自身耗時為2 ms。

計算公式:自身耗時=Span耗時-所有子Span耗時總和

重要

如果是非同步呼叫,自身耗時即Span耗時,無需減去子Span耗時。

平均耗時

該Span的平均耗時。

異常數/異常比例

異常比例表示出現異常的請求比例。

例如3%表示有3%的請求出現異常。

計算公式:異常比例=異常請求數/總請求數

重要

異常請求數不等於異常數(Span調用異常的次數),當請求倍數大於1時, 一個異常請求可能對應多個異常數。

樣本:如下表所示,Span A調用Span B和Span C,各參數含義如下。

spanName

serviceName

請求數/請求比例

span數/請求倍數

平均自身耗時/比例

平均耗時

異常數/異常比例

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的請求數/請求比例表示A的請求總數為10次,比例為100%。B的請求數/請求比例為4/40.00%,表示只有4次請求調用了B,同理只有1次請求調用了C,對應的請求比例分別為40%和10%。其餘的請求可能因邏輯判斷或者異常而未調用B和C。這裡反映了請求的分布比例。

A的span數/請求倍數為10/1.00,表示每次請求只調用了一次A,但是對於B而言,4次請求有8個Span,每次請求調用了2次B。這裡反映了一次請求中Span的分布比例。

A的平均自身耗時/比例為5.00ms/25.00%,表示A除了B和C之外的平均耗時為5ms,只佔整體平均耗時的25%。而子Span B和C因為沒有子Span,所以自身耗時即整體耗時。這裡反映了耗時的分布比例。

A的異常數/異常比例為2/20.00%,表示A發生了2次異常,佔整體請求的20%。B的異常數/異常比例為2/50.00%,因為每次請求調用了2次B,總的請求數是4,異常比例是50%,那麼2次請求發生了異常。所以B的分布可能是:一共有4次請求,其中有2次請求調用的4個Span B都是正常的,剩下2次請求中,首次Span B的調用都發生異常,然後重新調用成功。

說明

如果需要查看具體的調用鏈詳情,可以將滑鼠懸浮於藍色的Span名稱上,在懸浮框中可以看到推薦的調用鏈ID,單擊TraceId即可查看。

全鏈路拓撲

全鏈路拓撲頁簽顯示調用鏈彙總後的應用間拓撲。如下圖所示,表示兩個應用間存在調用關係,同時展示相應的請求數、錯誤數、回應時間等資料。

全鏈路拓撲

錯/慢Trace分析

錯/慢Trace分析旨在協助使用者分析批量異常調用鏈的共有維度特徵,例如錯/慢調用都來自同一個主機、同一個介面,可以分別篩選對應的主機、介面下的Trace,或通過組合維度(例如serviceName="arms-demo" AND ip="192.168.1.1")篩選Trace,快速定位系統異常。錯/慢Trace分析也可以用於梳理慢介面,對系統進行定向最佳化等。

慢Trace分析

ARMS對1000條耗時最長的Trace進行分析,展示與慢Trace顯著相關的Top 5維度資訊。

image

上圖的樣本表示,在1000條耗時最長的Trace中,有488條Trace的IP為10.219.152.24,且這些Trace的平均耗時為16.3s,說明IP為10.219.152.24的主機可能負載過高,導致回應時間較長。建議進入錯/慢Trace分析頁簽進行深入分析。

右側的164是該維度異常分數,分數越高,該維度是慢調用根因的可能性越大。

慢Trace分析詳情

在慢Trace分析功能中,ARMS會在當前查詢條件下,以耗時大於耗時對比臨界值的Trace中耗時最高的1000條Trace作為樣本,與隨機抽樣的耗時小於耗時對比臨界值的1000條Trace進行對比,分析並識別出與慢調用顯著性相關的Top 3關鍵特徵。

說明

您可以根據需求,自訂耗時對比臨界值。例如,如果您想分析耗時超過1分鐘的Trace的維度特徵,可以修改閾值為60000ms。

image

上圖樣本中可以看到,IP為10.219.152.24的Trace在慢Trace樣本中佔比最高,達到46.8%,並且IP為10.219.152.24的Trace僅占正常Trace的6.8%,說明大量的慢調用經過這個IP,且經過這個IP的調用鏈耗時都比較高,也許這個IP對應的主機出現了異常,值得深入分析。

說明

同樣,經過IP為10.219.154.56的Trace和介面名為/eventCenter的Trace也值得深入分析。

單擊柱狀圖表徵圖,對IP為10.219.152.24的Trace進行下鑽分析。

image

可以發現大量慢調用都來自/eventCenter介面,單擊/eventCenter介面的柱狀圖,繼續下鑽分析。

image

最終可以定位到根因ip="10.219.152.24" AND spanName="/eventCenter"

說明

您也可以直接在搜尋方塊中填入任意篩選條件,ARMS會對您指定的Trace進行分析。查詢文法說明,請參見調用鏈分析查詢用法說明

image

錯Trace分析

ARMS隨機播放1000條錯Trace進行分析,展示與錯Trace顯著相關的Top 5維度資訊。

image

上圖的樣本表示,在1000條錯Trace樣本中,來自openVPromCluster介面的Trace佔24.3%,並且這些Trace的錯誤率達到了98.78%,說明openVPromCluster介面很可能出現了異常,導致大量錯誤調用。建議進入錯/慢Trace分析頁簽進行深入分析。

右側的92是該維度異常分數,分數越高,該維度是錯調用根因的可能性越大。

錯Trace分析詳情

在錯Trace分析功能中,ARMS會隨機抽樣1000條錯Trace和1000條正常Trace,分析識別出與錯調用顯著性相關的Top 3關鍵特徵。

image

上圖樣本中可以看到,在1000條錯Trace樣本中,介面名為/components/api/v1/mall/product的Trace佔100%,且僅有9.8%的正常Trace介面名為/components/api/v1/mall/product,這說明所有的錯Trace都來自介面/components/api/v1/mall/product,並且經過這個介面的Trace幾乎都出錯了,該介面很有可能出現了異常,值得深入分析。

說明

同樣,經過IP為10.0.0.47和10.0.0.37的Trace大部分調用都出錯了,也值得深入分析。

單擊spanName = "/components/api/v1/mall/product"的柱狀圖表徵圖,可以過濾出介面名為/components/api/v1/mall/product的Trace,然後對相關Trace進行下鑽分析。

image

可以發現錯誤調用集中在10.0.0.47、10.0.0.37和10.0.0.50的IP上,繼續下鑽。

image

發現在serviceName="mall-gateway" AND spanName="/components/api/v1/mall/product" AND ip="10.0.0.47"篩選條件下檢索的所有Trace都是錯Trace,說明在10.0.0.47主機中,mall-gateway應用的/components/api/v1/mall/product介面在該時段出現了異常。

image

說明

錯/慢Trace分析更多使用案例,請參見通過錯/慢調用鏈排查應用產生異常的原因

Trace詳情

2024-09-20_13-22-40

組件標籤(圖示①)

  • 標籤中展示了調用類型以及調用鏈中該類型Span的數量。

  • 調用類型通過Span屬性中的component.name來區分(attributes.component.name)。

  • 單擊組件標籤,可以在調用鏈中隱藏對應類型的Span,方便您過濾不需要關注的Span。再次單擊即可恢複顯示。

調用鏈軌跡圖(圖示②)

Trace軌跡圖用於展示整個跟蹤鏈路及Span資料分布情況。

  • Trace軌跡圖中每個條形均代表一個Span(僅展示耗時佔總耗時比例大於1%的Span)。

  • 不同的應用通過不同的顏色進行區分。例如,在上文樣本圖中,藍色代表opentelemetry-demo-adservice應用。

  • 軌跡圖中的黑線長度代表Span自身耗時,即Span耗時減去Sum(子Span耗時)。例如Span A調用Span B,A耗時為10毫秒,B耗時為8毫秒,那麼A的自身耗時為2毫秒。

  • 時間軸表示整條Trace資料的時間跨度。

調用鏈聚焦與過濾(圖示③)

該地區中的每一行代表一條Span資料,並展示父級Span和子級Span之間的層級關係。Span資料前面的標號表示該父級Span所擁有的子級Span數量。在該地區,您可以執行如下操作:

  • 摺疊:單擊image表徵圖,摺疊或展開Span資料。

  • 聚焦:選中目標Span資料,單擊image表徵圖,系統將只顯示該Span以及該Span下遊的資料,實現Span資料聚焦。

  • 取消聚焦:單擊image表徵圖,取消Span資料聚焦。

  • 過濾:在搜尋方塊中輸入目標Span攜帶的資訊(可以是Span名稱、應用程式名稱、屬性等內容),即可過濾目標Span,展示從入口Span到目標Span的調用路徑。如果要取消過濾,刪除搜尋方塊中的內容並單擊搜尋即可。

  • 放大與縮小:單擊image表徵圖,將會放大調用鏈,隱藏Trace軌跡圖。單擊image表徵圖將恢複Trace軌跡圖展示。

Span詳情(圖示④)

Span詳情地區包含了當前Span的詳細資料,以及關聯的指標、日誌和異常資訊,並能管理自訂互動事件和觸發互動事件。

  • 附加資訊:附加資訊包含Span的屬性(Attributes)、資源(Resources)、詳情(Details)和事件(Events)四種資訊,並按照類型進行分組。關於Span詳情中的欄位說明,請參考調用鏈分析參數說明

  • 指標:展示與Span關聯的指標。對於ARMS Java應用的調用鏈,將展示JVM 和主機維度指標;對於開源探針上報的調用鏈,將展示RED黃金三指標。

    image

  • 日誌關聯:如您為應用關聯了Log Service日誌庫,可快速跳轉至日誌庫並查詢當前TraceId對應的業務日誌。

  • 異常:當Span記錄了異常資訊時,此頁面會展示具體的異常資訊。

  • 事件配置:您可以為調用鏈的一個或多個屬性設定互動事件,方便查詢更詳盡的調用鏈或查看與調用鏈關聯的日誌、指標等資訊。自訂互動事件相關的配置說明請參見為調用鏈配置自訂互動事件

二次開發

鏈路資料儲存在您的SLS中,Project名稱為proj-xtrace-<encode>-<region-id>,logstore名稱為logstore-tracing。其中<region-id>是調用鏈分析對應的地區,例如cn-hangzhou。資料格式的含義,請參見調用鏈分析參數說明。您可以基於已儲存的全量鏈路詳細資料進行二次開發,自由組合篩選條件與彙總維度進行即時分析,可以滿足不同情境的自訂診斷需求。更多使用方法,請參見即時分析鏈路資料

相關文檔