全部產品
Search
文件中心

Application Real-Time Monitoring Service:Golang應用業務日誌關聯調用鏈TraceId

更新時間:Jun 03, 2026

您可以在Golang應用的業務日誌中關聯調用鏈的TraceId資訊,從而在應用出現問題時,能夠通過調用鏈的TraceId快速關聯到業務日誌,及時定位、分析並解決問題。

前提條件

  • 您已將應用通過Golang探針編譯並部署上線。

  • 已通過Log ServiceSLS完成日誌採集,具體操作,請參見資料擷取概述

背景資訊

ARMS在Golang微服務的業務日誌中關聯調用鏈TraceId的功能基於對日誌架構的埋點,目前支援的日誌架構如下:

組件

倉庫地址

低版本

高版本

Zerolog

https://github.com/rs/zerolog

v1.10.0

v1.33.0

Zap

https://github.com/uber-go/zap

v1.20.0

v1.27.0

Logrus

https://github.com/sirupsen/logrus

v1.5.0

v1.9.3

Log

https://pkg.go.dev/log

v1.21

無限制

Slog

https://pkg.go.dev/log/slog

v1.21

無限制

開啟關聯業務日誌與TraceId開關

  1. 登入ARMS控制台,在左側導覽列選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地區,然後單擊目標應用程式名稱。

    說明

    語言列的表徵圖含義如下:

    Java表徵圖:接入應用監控的Java應用。

    image:接入應用監控的Golang應用。

    image:接入應用監控的Python應用。

    -:接入Managed Service for OpenTelemetry的應用。

  3. 在上方導覽列選擇应用配置 > 自定义配置

  4. 自定义配置頁簽的應用日誌關聯配置地區,選擇日誌源為Log ServiceSLS,開啟關聯業務日誌與TraceId開關,選擇Log Service所在地區,然後綁定Project和Logstore。

    選擇關聯類別型日誌庫(Logstore)資料集(StoreView),設定關聯索引全文索引或指定欄位索引,然後單擊儲存

  5. 如果應用的業務日誌中成功列印出TraceId資訊,則說明業務日誌關聯調用鏈的TraceId關聯成功,如下所示。

    2024/12/09 11:14:39  trace_id=0c74ce6d96528xxx2 span_id=ae73xxx cedbrequest to mongon server
    $$$$$$$$$$$$$$
    map[Content-Length:[20] Content-Type:[text/plain; charset=utf-8] Date:[Mon, 09 Dec 2024 03:14:39 GMT] Eagleeye-Traceid:[0c74ce6d96528cxxx2]]
    $$$$$$$$$$$$$$
  6. (可選)配置SLS日誌採集接入,將應用日誌上傳至上述步驟綁定的Project和Logstore中。

    ARMS預設不會採集應用日誌。

    1  12-09 10:43:38  @ 10.36.45.83  cn-hangzhou.xxx.83  1733712219  k8s-group-c7ab2784bd...d17fa  c7ab2784bd8a84020b05...d17fa  xxx.101  ad-recommend-server
       registry.cn-hangzhou...erver  insights  xxx.83  cn-hangzhou.xxx.83  ad-recommend-server-...bc6xn  65c79c55-9e04-469f-9...9d636
       _source_: stderr
       _time_: 2024-12-09T10:43:38.366744191+08:00
       content: 2024/12/09 10:43:38  trace_id=cf6281bdde61f7xxx7dd span_id=7fc65xxx72e [grpc] SayHello message:"Hello Hello"