全部產品
Search
文件中心

Simple Log Service:在K8s環境下接入Apache SkyWalking Trace資料到Log Service

更新時間:Jun 30, 2024

本文介紹如何在阿里雲K8s環境下將Apache SkyWalking Trace資料接入到Log Service中,實現Trace資料的儲存、分析、可視化、警示和人工智慧營運。

前提條件

步驟一:配置資料擷取鏡像

  1. 添加Logtail鏡像到K8s部署設定檔。
    配置模板如下。具體操作,請參見使用私人鏡像倉庫建立應用
          containers:    
          - name: logtail
            # more info: https://cr.console.aliyun.com/repository/cn-hangzhou/log-service/logtail/detail
            image: registry.cn-hangzhou.aliyuncs.com/log-service/logtail:v0.16.68.0-7a79f4e-aliyun
            command:
            - sh
            - -c
            - /usr/local/ilogtail/run_logtail.sh 10
            livenessProbe:
              exec:
                command:
                - /etc/init.d/ilogtaild
                - status
              initialDelaySeconds: 30
              periodSeconds: 30
            resources:
              limits:
                memory: 512Mi
              requests:
                cpu: 10m
                memory: 30Mi
            env:
              - name: "ALIYUN_LOGTAIL_USER_ID"
                value: "${your_aliyun_user_id}"
              - name: "ALIYUN_LOGTAIL_USER_DEFINED_ID"
                value: "${your_machine_group_user_defined_id} "
              - name: "ALIYUN_LOGTAIL_CONFIG"
                value: "/etc/ilogtail/conf/${your_region_config}/ilogtail_config.json"
              - name: "ALIYUN_LOG_ENV_TAGS"
                value: "_pod_name_|_pod_ip_|_namespace_|_node_name_|_node_ip_"
              - name: "_pod_name_"
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.name
              - name: "_pod_ip_"
                valueFrom:
                  fieldRef:
                    fieldPath: status.podIP
              - name: "_namespace_"
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              - name: "_node_name_"
                valueFrom:
                  fieldRef:
                    fieldPath: spec.nodeName
              - name: "_node_ip_"
                valueFrom:
                  fieldRef:
                    fieldPath: status.hostIP
    參數說明
    ${your_region_config}請根據Log ServiceProject所在地區及網路類型填寫。其中,地區資訊請參見安裝Logtail(Linux系統)
    • 如果為公網,格式為region-internet,例如:華東 1(杭州)cn-hangzhou-Internet
    • 如果為阿里雲內網,格式為region。例如:華東 1(杭州)cn-hangzhou
    ${your_aliyun_user_id}配置為您的阿里雲帳號ID。更多資訊,請參見步驟一:擷取Log ServiceProject所屬的阿里雲帳號ID
    ${your_machine_group_user_defined_id} 與您在建立機器組時所配置的自訂標識保持一致。
    重要 請確保該自訂標識在您Project所在地區內唯一。
  2. 重新部署容器。

步驟二:建立Logtail採集配置

  1. 登入Log Service控制台

  2. 接入資料地區,選擇SkyWalking
  3. 選擇日誌空間嚮導中,選擇您已建立的Project和Logstore,然後單擊下一步
  4. 建立機器組嚮導中,單擊使用現有機器組
  5. 機器組配置嚮導中,將您已建立的機器組從源機器組地區移動到應用機器組地區,然後單擊下一步
  6. 資料來源設定嚮導中,配置Logtail外掛程式資訊,然後單擊下一步
    外掛程式配置中已提供配置模板,其中${instance}為您的Trace執行個體ID,請根據實際情況替換。
    {
          "inputs" : [
            {
                "detail" : {
                    "Address" : "0.0.0.0:11800"
                },
                "type" : "service_skywalking_agent_v3"
            }
        ],
        "aggregators" : [
            {
                "detail" : {
                    "MetricsLogstore" : "${instance}-metrics",
                    "TraceLogstore" : "${instance}-traces"
                },
                "type" : "aggregator_skywalking"
            }
        ],
        "global" : {
            "AlwaysOnline" : true,
            "DelayStopSec" : 300
        }
    }
    單擊下一步即表示完成Logtail採集配置,Log Service開始採集資料。
    說明

常見問題

如何確認Logtail採集配置生效?

在Logtail容器內,執行cat /usr/local/ilogtail/user_log_config.json | grep skywalking命令。
  • 如果回顯資訊中包括SkyWalking字樣,則表示Logtail採集配置生效。
  • 如果回顯資訊中未包括SkyWalking字樣,則表示Logtail採集配置未生效。請檢查您配置資料擷取鏡像時所使用的機器組自訂標識與建立機器組時所使用的自訂標識是否一致。

後續步驟

完成上述配置後,您可以在目標Logstore中查詢與分析Apache SkyWalking Trace資料。具體操作,請參見查詢和分析Trace資料