本文介绍如何在阿里云K8s环境下将Apache SkyWalking Trace数据接入到日志服务中,实现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} 请根据日志服务Project所在地域及网络类型填写。其中,地域信息请参见表 1
    • 如果为公网,格式为region-internet,例如:华东 1(杭州)cn-hangzhou-Internet
    • 如果为阿里云内网,格式为region。例如:华东 1(杭州)cn-hangzhou
    ${your_aliyun_user_id} 配置为您的阿里云账号ID。更多信息,请参见获取阿里云账号ID
    ${your_machine_group_user_defined_id} 与您在创建机器组时所配置的自定义标识保持一致。
    注意 请确保该自定义标识在您Project所在地域内唯一。
  2. 重新部署容器。

步骤二:创建Logtail采集配置

  1. 登录日志服务控制台
  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采集配置,日志服务开始采集数据。
    说明
    • Logtail配置生效时间最长需要3分钟,请耐心等待。
    • 如果遇到Logtail采集报错,请参见诊断采集错误

常见问题

如何确认Logtail采集配置生效?

在Logtail容器内,执行cat /usr/local/ilogtail/user_log_config.json | grep skywalking命令。
  • 如果回显信息中包括SkyWalking字样,则表示Logtail采集配置生效。
  • 如果回显信息中未包括SkyWalking字样,则表示Logtail采集配置未生效。请检查您配置数据采集镜像时所使用的机器组自定义标识与创建机器组时所使用的自定义标识是否一致。

后续步骤

完成上述配置后,您可以在目标Logstore中查询与分析Apache SkyWalking Trace数据。具体操作,请参见查询和分析Trace数据