日志服务支持采集 Kubernetes 集群的容器文本日志与标准输出,并提供 DaemonSet 和 Sidecar 两种采集方式。本文介绍 Kubernetes 容器日志的采集方式与采集流程。
功能特点
日志服务 LogCollector 支持采集容器内的日志文件和标准输出,将采集到的日志数据和容器中的元数据一起上传到服务端。采集容器日志时,LogCollector 具备以下多种采集能力:
- 支持通用容器采集规则。
- 可通过容器 Label 和环境变量黑白名单指定采集的容器范围。
- 容器名称、镜像等元数据将作为日志字段,和采集到的日志数据一起上传到日志服务。
- 支持指定 K8s 采集规则,当容器运行于 Kubernetes 时,LogCollector 还具备以下功能。
- 支持通过 Kubernetes Namespace 名称、Pod 名称、工作负载的类型和名称指定待采集的容器。
- 支持通过 Pod Label 黑白名单指定采集的容器范围。
- 容器的 Namespace、Pod 名称、Pod 的唯一标识、Pod 的IP地址等容器元数据信息将作为日志字段一起上传到日志服务。
- 可配置单行、多行、分隔符等多种日志采集模式,兼容多种采集配置。
- 采集容器文本日志时,可以直接指定容器内的日志文件路径,采集该路径中的日志数据。
采集方式
日志服务提供 DaemonSet 和 Sidecar 两种方式采集 Kubernetes 集群的容器日志。
采集方式 | 说明 | 文档 |
---|
DaemonSet | K8s 集群每个节点都部署 LogCollector,由 LogCollector 采集该节点所有需要采集的容器日志到服务端。
每个节点上的 LogCollector 需要采集所有的日志,可定制性相对较低,所以更适用于功能相对单一的集群。
支持采集容器标准输出和容器文本日志。 | |
Sidecar | 一个 POD 中运行一个 Sidecar 的 LogCollector 容器,用于采集该 POD 产生的日志。
具备高隔离性,适用于多租户场景或对采集性能要求较高的场景。
支持采集容器文本日志。 | |
容器日志采集流程
DaemonSet 方式采集流程
请参考以下流程,安装 LogCollector 并配置容器日志采集规则。
- 在 Kubernetes 集群中安装 LogCollector。
详细操作请参考DaemonSet 方式部署 LogCollector。 - 创建机器组。
说明
推荐使用机器标识类型的机器组,其中机器标识应指定为安装 LogCollector 时配置的用户自定义标识。操作步骤请参考创建机器组。
- 在控制台创建日志采集配置。
日志服务支持通过 DaemonSet 方式采集文本日志,支持采集 Kubernetes 集群的容器文本日志和容器标准输出。
Sidecar 方式采集流程
请参考以下流程,安装 LogCollector 并配置容器日志采集规则。
- 在 Kubernetes 集群中安装 LogCollector。
详细操作请参考 Sidecar 方式部署 LogCollector 。 - 创建机器组。
推荐使用机器标识类型的机器组,其中机器标识应指定为安装 LogCollector 时配置的用户自定义标识。操作步骤请参考创建机器组(机器标识)。 - 在控制台创建日志采集配置。
通过 Sidecar 方式可以采集容器文本日志,创建采集配置时直接根据文本日志样式选择对应的采集配置模式即可,无需勾选容器日志选项。详细说明请参考: