- 文档首页
日志服务
用户指南
数据采集
LogCollector 采集
采集容器日志
采集容器文本日志(DaemonSet-控制台方式)
采集容器日志
采集容器文本日志(DaemonSet-控制台方式)
采集容器文本日志(DaemonSet-控制台方式)
日志服务支持通过 DaemonSet 方式采集 Kubernetes 集群的容器文本日志,本文档演示控制台创建采集配置的相关操作步骤。
背景信息
在容器中安装日志服务提供的采集插件 LogCollector、并创建采集配置之后,LogCollector 会根据容器中的 Label 和环境变量确定待采集的容器,持续采集指定容器路径内产生的文本日志,并将文本日志和容器名等容器相关的元数据信息一起上传至服务端。LogCollector 还支持断点续传,checkpoint 文件中会留存采集相关的位点信息,即使 LogCollector 停止后重新启动,也会从上一次保存的位点继续采集。
在 Kubernetes 集群中,各个 Pod 之间的资源相互隔离,因此 LogCollector 容器不能直接访问其他 Pod 中容器的文件。但是 Kubernetes 集群中容器的文件系统一般是基于宿主机的文件系统挂载形成,即您可以在宿主机上直接访问容器的 rootfs。因此,将宿主机根目录所在的文件系统挂载到 LogCollector 容器后,LogCollector 就可以访问宿主机上的相关文件目录进而实现业务容器文件系统中的文件采集。例如某个日志文件在业务容器中的路径为 /var/log/app.log,假设映射到宿主机的路径是 /var/lib/kubelet/pods/<pod-id>/xxx/var/log/app.log,LogCollector 会默认将宿主机根目录所在的文件系统挂载到自身的 /logcollector_host 目录下,因此 LogCollector 实际采集的文件路径为 /logcollector_host/var/lib/kubelet/pods/<pod-id>/xxx/var/log/app.log。
此外,LogCollector 采集容器文本日志时,支持单行、多行等多种采集配置,除各种采集配置默认附加的预留字段之外,日志服务还会对 LogCollector 采集到的容器文本日志添加以下预留字段,并默认为其创建索引。
限制说明
- Docker 容器引擎仅支持 JSON 类型的日志驱动。
- 如果某些容器匹配了多个采集配置,那么在该容器上仅最新的采集配置生效。
- 容器内日志文件的采集路径目前仅支持不挂载、emptyDir 挂载和 hostPath 挂载 3 种方式。
- 采集路径不支持设置为软链接,因为 LogCollector 无法访问容器内日志文件的软链接,请按照容器内日志文件的真实路径配置采集路径。
- 在容器停止之后,LogCollector 会收到该容器的 stop 事件,并随即停止采集该容器的日志。如果 LogCollector 采集该容器的日志有一定延迟,则容器停止之前产生的部分日志可能未被采集。
- LogCollector 支持的容器引擎包括 Docker 和 Containerd。不同类型容器引擎的访问路径限制如下:
- Docker:LogCollector 通过宿主机的 /run/docker.sock 访问 Docker 容器引擎,请确保该路径存在且 LogCollector 具备访问权限。
- Containerd:LogCollector 通过宿主机的 /run/containerd/containerd.sock 访问 Containerd 容器引擎,请确保该路径存在且 LogCollector 具备访问权限。
创建 LogCollector 采集配置
- 已创建了机器组,并在机器组中添加了容器所在的宿主机。
- 推荐使用机器标识类型的机器组,机器标识可配置为您在安装 LogCollector 时配置的用户自定义标识,即需与 ConfigMap 中设置的 ${your_labels} 的值一致,例如 nginx-log。
说明
如果采集火山引擎容器服务 VKE 的标准容器日志,请确保容器服务对应集群的网络正常,在对应集群中安装 LogCollector 后,默认会自动在该集群所在地域、所属同一个项目的日志服务中,创建一个名为k8s-vke-容器服务集群ID的机器标识类型的机器组。
步骤一 选择日志空间
- 在日志接入页面的 LogCollector日志采集页签中,单击创建采集配置。
说明
以下地域需在 LogCollector日志采集页签中,手动选择日志采集模式。
地域:中国香港、亚太东南(柔佛)、亚太东南(雅加达)。
- 选择日志项目和日志主题,单击下一步:选择机器组。
- 在全部机器组区域中,选择需要被采集日志的机器组。
- 在已选机器组区域中确认机器组无误后,单击下一步:采集规则。
步骤三 配置采集规则
- 通用容器采集规则通过容器的通用信息指定待采集的内容,也可以同时排除不采集的内容。
说明
未启用通用容器采集规则和K8s 采集规则时,表示采集范围为全部容器。同时配置两种采集规则时,两种规则的逻辑关系为与,即必须同时满足两种规则才能成功采集。
- K8s 采集规则用通过 Kubernetes 容器的信息指定待采集的内容,也可以同时排除不采集的内容。
说明
未启用通用容器采集规则和K8s 采集规则时,表示采集范围为全部容器。同时配置两种采集规则时,两种规则的逻辑关系为与,即必须同时满足两种规则才能成功采集。
- 采集路径即日志所在的目录和文件名,LogCollector 会按照采集路径中的目录部分匹配符合规则的目录,监听这些目录下符合规则的日志文件。最多设置 10 个不同的采集路径。
- 采集路径可以指定完整的目录和文件名,也可以通过通配符模糊匹配。
说明
- 默认情况下,一个日志文件只能被采集到一个日志主题中,且只能匹配一个采集配置,如果多个采集配置重复采集同一个文件,则以最新的采集配置规则为准。
- 日志服务目前支持的通配符包括星号(*)、双星号(**)和半角问号(?)。双星号(**)最多只能配置一个。
- DaemonSet 方式采集容器文本日志时,支持在采集路径中配置预留字段占位符,占位符格式为 {预留字段},用于动态匹配预留字段中 LogCollector 自动写入的容器元数据。支持的预留字段可参考背景信息,详细说明请参考容器日志路径占位符。
- 例如预留字段中包括字段 __pod_name__,则采集路径可配置为 /var/log/basic_log/POD_{__pod_name__}/tlsapi/access.log,其中{__pod_name__}为占位符,LogCollector 采集日志时会使用实际的 Pod 名称自动替换该占位符。
- 当同一采集路径中的日志文件被多个采集配置匹配时,可设置如下策略:
- 配置采集路径黑名单之后,日志服务通过 LogCollector 采集日志时,会忽略指定的目录和文件。选择启用后,请根据页面提示设置黑名单目录和文件。
说明
- 每个采集配置中最多设置 10 条采集路径黑名单。
- 如果您在配置日志路径时使用了通配符,但又需要过滤掉其中部分目录或文件时,需要在黑名单中填写对应的完整路径或文件名来保证过滤生效。例如采集路径为/var/log/project/*.log,需要过滤其中/var/log/project目录下的所有子目录,则采集路径黑名单应设置为目录路径,配置路径为/var/log/project/**。
- 采集路径黑名单中的路径类型支持设置为目录路径和文件路径。
-
- 采集策略表示 LogCollector 采集增量日志还是全量日志。默认为增量日志。
说明
如果采集策略设置为增量,触发 LogCollector 日志采集行为后,不支持通过修改采集策略为全量,来采集该文件的历史日志数据。
- 采集模式决定了 LogCollector 解析日志文件的模式,您可以根据实际业务场景选择对应的采集模式,并配置指定模式下的日志解析规则。详细说明请参考各个采集模式文档中的指定采集模式部分。
- 采集时间点:将采集日志时 LogCollector 所在服务器的系统时间作为日志时间戳。
- 自定义时间:提取原始日志中自带的时间作为日志时间戳。相关配置如下:
- 开启后,当日志文件更新时间不在您所指定的时间范围内时,LogCollector 会忽略该文件,不进行采集。
- 启用:启用后需同时配置失败日志键名称,默认为 LogParseFailed。所有解析失败的日志,均以配置的失败日志键名称字段作为键名称(Key),原始日志内容作为值(Value)上传到日志服务。
启用插件配置。
通过 LogCollector 采集文本日志时,如果业务日志结构复杂、格式不固定,无法通过 JSON 模式等常规的日志采集模式进行解析时,可以通过 LogCollector 插件进行采集后处理。详细说明请参考插件概述。 - 请根据您的需求选择高级配置。如果没有特殊需求,建议保持默认配置。
步骤四 检查索引配置
- 根据页面提示,按需设置或更新索引,您也可以单击导入已有索引配置,导入其他日志主题的索引。
- 若此日志主题未设置索引,可以参考配置索引进行设置。
- 若此日志主题已设置索引,可以根据采集规则中解析的日志字段判断是否需要更新索引。
说明
- 更新后的索引设置仅对后续写入的新数据生效。其他检索分析的使用说明及限制请参考检索概述和分析概述。
后续步骤
创建采集配置之后,LogCollector 将采集日志并保存至指定的日志主题中,您可以在日志主题中执行检索分析操作。具体操作,请参考检索分析流程。
最近更新时间:2026.08.26 16:00:46