全部產品
Search
文件中心

Managed Service for OpenTelemetry:Log ServiceSLS關聯調用鏈

更新時間:Aug 24, 2024

Log ServiceSLS的事件配置功能可以關聯日誌與調用鏈的TraceID,在應用出現問題時,即可通過業務日誌中寫入的traceId快速關聯到調用鏈,及時定位分析、解決問題。本文介紹如何在Log ServiceSLS中關聯調用鏈的TraceID。

前提條件

步驟一:提取traceId欄位

  • 如果您上報的日誌中的traceId已經是單獨的欄位,請跳過當前步驟。

  • 如果採集的日誌中,traceId是某個欄位(例如content欄位)的一部分,則需要從該欄位(content欄位)中提取出traceId作為單獨的欄位。

  1. 登入Log Service控制台

  2. 選擇應用日誌所在的Project和Logstore。

  3. 使用Logtail正則解析外掛程式,提取日誌中的traceId作為單獨的欄位。

    1. 選擇資料接入 > Logtail配置,然後單擊管理Logtail配置

      image

    2. 單擊編輯進入編輯模式,在資料處理設定項中新增類型為提取欄位(正則模式)的處理外掛程式。

      假設Logstore中某個日誌的content欄位內容如下,要從content欄位中提取traceId(或spanId)。

      2024-05-06 12:12:49.685 [http-nio-9190-exec-3] DEBUG io.lettuce.core.protocol.DefaultEndpoint - traceId:ea1a00002d17150191696858089d0007 - [channel=0x5d069239, /10.0.0.45:49614 -> redis/192.168.216.80:6379, epid=0x1] write() done

      基礎配置中的原始欄位設定為content,Regex可以設定為traceId:([a-zA-Z0-9]+),在結果欄位名中添加traceId(或spanId)。更多資訊請參見正則解析

      image.png配置完成後,成功提取traceId的日誌內容如下。

      image

步驟二:配置跳轉事件

  1. 單擊某條日誌中traceId(或spanId)的值,然後在彈出的視窗中單擊前往配置

  2. 在彈出的進階事件配置視窗中,為traceId(或spanId)欄位添加事件,然後單擊確認

    image

    • 配置名稱:自訂名稱,例如開啟調用鏈分析

    • 事件行為:選擇自訂HTTP連結。

    • 協議:選擇自訂,並設定為https

    • 連結地址:

      • 如果要用traceId過濾調用鏈,連結地址格式為trace.console.aliyun.com/#/${regionId}/tracing-explorer?source=XTRACE&filters=traceId="${traceId}",需要將${regionId}修改為您的應用接入Managed Service for OpenTelemetry的地區。

        例如應用接入到杭州地區,需要將${regionId}替換為cn-hangzhou。完整連結地址為trace.console.aliyun.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=traceId="${traceId}"

      • 如果要用spanId過濾調用鏈,需要將spanId提取為單獨的欄位,並將連結中的${traceId}替換為${spanId}。如果您希望同時對traceId和spanId進行過濾,完整連結地址為trace.console.aliyun.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=traceId="${traceId}" AND spanId="${spanId}"

      • 如果您希望使用自訂的屬性(Attributes和Resources)過濾調用鏈,連結地址格式為trace.console.aliyun.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=${調用鏈中自訂屬性的名稱}="${SLS日誌中的欄位名}"

        例如當您希望過濾某個命名空間的調用鏈時,SLS日誌中有一個表示命名空間的namespace欄位,並且調用鏈的Resources中包含k8s.namespace.name屬性,那麼完整連結地址為trace.console.aliyun.com/#/cn-hangzhou/tracing-explorer?source=XTRACE&filters=resources.k8s.namespace.name="${namespace}"

  3. 跳轉事件配置完成後,再次單擊traceId(或spanId)欄位值,在彈出的視窗單擊開啟調用鏈分析,跳轉至Managed Service for OpenTelemetry調用鏈分析頁面。

    image

    調用鏈分析頁面,您可以查詢traceId對應的調用鏈。更多資訊,請參見調用鏈分析

    image