Aliyun Logtail 收集 JSON 格式日志

如果在 公众号 文章发现状态为 已更新, 建议点击 查看原文 查看最新内容。

状态: 未更新

原文链接: https://typonotes.com/posts/2023/05/08/aliyun-logtail-collect-json-format-logs/

本文针对性比较强, 仅仅适用于 Aliyun Logtail 配置。

在使用 Aliyun K8S 集群后, 可以安装 Logtail 服务进行日志收集。

默认文档中, 阿里云官方提供的是 正则模式 的采集方式 采集 Nginx Ingress Controller 日志

将日志改成 JSON 格式之后, 可以直接 使用 processor_json 采集 JSON 格式的日志

对应修改后的配置如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  # 配置名称,不能够重名
  name: k8s-nginx-ingress
  # 命名空间,放置于ingress controller所在命名空间,请按需修改
  namespace: kube-system
spec:
  # logstore名称
  logstore: your-example-logstore
  productCode: k8s-nginx-ingress
  # 详细配置
  logtailConfig:
    inputType: plugin
    # logtail配置名称,需要和metadata.name保持一致
    configName: k8s-nginx-ingress
    inputDetail:
      plugin:
        inputs:
        - type: service_docker_stdout
          detail:
            IncludeLabel: # docker容器中的标签信息
              # 容器名称为nginx-ingress-controller
              # 如果配置多个ingress controller请注意预防日志重复采集,详细请阅读注意事项中IncludeLabel释义
              io.kubernetes.container.name: nginx-ingress-controller
            Stderr: true
            Stdout: true
        processors:
          - type: processor_json
            detail:
              KeepSource: true  # KeepSource: 保留原始字段
              SourceKey: "content" # 信息来源字段
              ExpandConnector: ""

Aliyun Logtail processors

阿里云提供了各种各样的 Processors 进行日志处理, 访问页面 https://help.aliyun.com/document_detail/64957.html?spm=a2c4g.48869.0.0.2c88753emxLW3t