You need to enable JavaScript to run this app.
导航

采集容器日志(Sidecar-控制台方式)

最近更新时间2023.11.13 16:31:31

首次发布时间2022.08.16 11:17:17

日志服务支持通过 Sidecar 方式采集 Kubernetes 集群的容器文本日志,本文档演示控制台创建采集配置的相关操作步骤。

背景信息

LogCollector 支持通过 Sidecar 模式采集容器的文本日志,将采集到的日志数据和容器的元数据一起上传到服务端。
通过 Sidecar 模式采集容器的文本日志时,LogCollector 具备以下功能特点:

  • 支持物理机部署 LogCollector 所支持的全部功能,支持单行、多行、分隔符、JSON 和完全正则等种采集模式。

  • 除各种采集配置默认附加的预留字段之外,还支持携带容器元数据信息(例如 Namespace、Pod 名称、Pod 的 IP 地址等),一起上传到日志服务,并默认为其创建索引。
    附加的预留字段如下。

    预留字段

    说明

    __image_name__

    镜像名称。

    __container_name__

    容器名称。

    __container_ip__

    容器或 Pod 的 IP 地址。

    __pod_name__

    Pod 名称。

    __pod_uid__

    Pod 的唯一标识。

    __namespace__

    Pod 所属的 Namespace。

前提条件

  • 已在待采集的容器中安装了 LogCollector。相关操作步骤请参考Sidecar 方式部署 LogCollector
  • 已创建了机器组,并在机器组中添加了容器所在的宿主机。
    推荐使用机器标识类型的机器组,机器标识可配置为您在安装 LogCollector 时配置的用户自定义标识,即需与 ConfigMap 中设置的 ${your_labels} 的值一致,例如 nginx-log。相关操作步骤请参考创建机器组(机器标识)

限制说明

  • Sidecar 模式不支持采集业务容器的标准输出、标准错误。
  • 通过 Sidecar 模式采集业务容器的文本日志时,需要从 LogCollector 容器和业务容器共享的日志目录中采集。需注意:
    • 业务容器将日志写入共享目录中,LogCollector 周期性地扫描共享目录中的日志文件并采集日志。所以,控制台中配置的采集路径必须是 LogCollector 容器视角下的日志文件的路径。
    • 推荐使用 emptyDir 挂载采集路径,挂载方式请参考 Sidecar 方式部署 LogCollector。
    • 支持采集软链接,前提是 LogCollector 容器能够访问软链接指向业务容器的日志文件。
  • LogCollector 容器和业务容器所属于的 Pod 停止之后,LogCollector 容器将停止,进而停止采集业务容器的日志。如果此时 LogCollector 采集业务容器的日志出现延迟,则可能丢失停止采集之前的部分日志。
  • 获取容器元数据信息,依赖于 LogCollector 容器中配置的环境变量。LogCollector 首先读取环境变量 LOG_COLLECTOR_ENV_TAGS,然后按照竖线(|)将其切割为多个环境变量键,最后读取这些环境变量键对应的值,并且在日志中携带键值对。所以,需要在 LogCollector 容器中设置所需要的容器元数据信息。需要注意的是,除了__namespace____node_ip____node_name____pod_ip____pod_name__ 五个容器元数据之外,其他元数据不能以双下划线(__)开头或结尾,否则采集时将被忽略。

创建 LogCollector 采集配置

步骤一 填写初始配置

  1. 登录日志服务控制台
  2. 在顶部导航栏中选择日志服务所在的地域。
  3. 在左侧导航栏中选择日志服务 > 日志项目管理,并单击指定的日志项目名称。
  4. 在左侧导航栏中单击日志接入
  5. LogCollector日志采集区域选择日志采集的模式。
  6. 填写初始配置。
    1. 选择日志主题。
      选择日志主题,采集到的日志数据会存储在指定主题中,以日志主题为维度进行查询和分析。 如果没有合适的日志主题,可以根据页面提示创建新的日志主题。
    2. 配置机器组。
      全部机器组区域中选择需要采集日志的机器组,并在已选机器组区域中确认选择的机器组是否正确。
    3. 单击下一步

步骤二 配置采集规则

采集模式决定了 LogCollector 解析日志文件的模式,您可以根据实际业务场景选择对应的采集模式,并配置指定模式下的日志解析规则。通过 Sidecar 模式采集采集容器日志时,支持的日志采集模式如下,您可以参考对应的文档完成日志采集。

说明

Sidecar模式下无需启用容器日志采集选项。

步骤三 更新索引

  1. 更新索引。
    根据页面提示,按需设置或更新索引。索引默认为关闭状态,启用索引后才能检索分析采集到的日志数据。

    • 若此日志主题未设置索引,可以参考文档配置索引进行设置。
    • 若此日志主题已设置索引,可以根据采集规则中解析的日志字段判断是否需要更新索引。

    说明

    更新后的索引设置仅对后续写入的新数据生效。其他检索分析的使用说明及限制请参考检索概述分析概述

  2. 确认索引配置,并单击提交

后续步骤

创建采集配置之后,LogCollector 会根据指定规则开始监听日志文件并采集日志,日志数据将保存在指定的日志主题中。
日志索引默认为关闭状态,您需要为日志主题开启索引功能,并配置索引,才能在控制台中对采集到的日志数据进行查询分析。