本文介绍如何在阿里云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采集报错,请参见诊断采集错误
  7. 查询分析配置向导中,预览数据及配置索引,然后单击下一步
    日志服务默认开启全文索引。您也可以根据采集到的日志,手动或者自动配置字段索引。更多信息,请参见 配置索引
    说明
    • 如果您要查询与分析日志,那么全文索引和字段索引属性必须至少启用一种。同时启用时,以字段索引为准。
    • 索引类型为long、double时,大小写敏感和分词符属性无效。

常见问题

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

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

后续步骤

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