采集业务日志

最近更新时间:2025-12-01 18:59:32

我的收藏
本文介绍如何通过腾讯云 CLS(日志服务)在容器环境中创建并配置业务日志采集规则,完成日志的结构化采集与投递。

操作步骤

1. 登录 Serverless 控制台,在左侧导航中选择数据工程 > 工作流
2. 在工作流页面,单击服务名称,进入工作流详情。
3. 选择日志管理,单击新增采集配置
4. 在新建日志采集规则弹窗中配置收集规则名称,您可以自定义日志收集规则名称。
5. 参考如下配置日志服务消费端:
类型:CLS。
日志所在地域:CLS 支持跨地域日志投递,您可通过下拉框选择日志投递的目标地域。
日志集:根据日志所在地域展示您已经创建的日志集,若现有日志集不合适,您可以在 日志服务控制台 新建日志集。操作详情见 创建日志集
日志主题:选择日志集下已有的日志主题。
说明:
CLS 不支持国内和境外地域之间跨地域日志投递。
一个日志主题目前仅支持配置一类日志,即业务日志、事件日志不可采用同一个 topic,会产生覆盖情况,请确保所选日志主题没有被其他采集配置占用;若日志集下已存在500个日志主题,则不能新建日志主题。
6. 选择采集类型并配置日志源,目前采集类型支持容器标准输出、容器文件路径
容器标准输出日志
容器内文件日志
说明:
容器标准输出日志,仅支持 Stderr 和 Stdout 的日志。
日志源支持所有容器、指定 Pod Labels 。如下图所示:

所有容器


命名空间指定方式:选择命名空间指定方式,支持指定命名空间排除命名空间
所属 Namespace:指定命名空间。

指定 Pod Labels


命名空间指定方式:选择命名空间指定方式,支持指定命名空间排除命名空间
所属 Namespace:指定命名空间。
Pod Label:新增需匹配的 Pod 标签,默认采集符合此 Label的全部容器。
日志源支持指定 Pod Labels
采集文件路径支持文件路径和通配规则,例如当容器文件路径为 /opt/logs/*.log,可以指定采集路径为 /opt/logs,文件名为 *.log。如下图所示:

注意:
“容器文件路径” 不能为符号链接或硬链接,否则会导致软链接的实际路径在采集器的容器内不存在,采集日志失败。
7. 元数据配置:支持自定义元数据或选择全部元数据。
字段名
含义
container_id
日志所属的容器 ID。
container_name
日志所属的容器名称。如果 pod 下多个容器挂载相同路径,元数据会将多个容器名称通过‘ ; ’拼接。
image_name
日志所属容器的镜像名称 IP。
namespace
日志所属 pod 的 namespace。
pod_uid
日志所属 pod 的 UID。
pod_name
日志所属 pod 的名字。
pod_ip
日志所属 pod 的IP地址。
cluster_id
日志所属的集群 ID
pod_label_{label name}
日志所属 pod 的 label(例如一个 pod 带有两个 label:app=nginx,env=prod,则在上传的日志中会附带两个 metadata:pod_label_app:nginx,pod_label_env:prod)。
使用存量日志主题时,可根据实际需要配置合适的索引,建议配置pod_name、namespace、container_name,便于日志检索。
8. 配置采集策略。您可以选择全量或者增量。
全量:全量采集指从日志文件的开头开始采集。
增量:增量采集指从距离文件末尾1M处开始采集(若日志文件小于1M,则等同于全量采集)。
注意:
全量采集场景
采集规则生效延时:为确保采集到 Pod 启动过程中的所有关键日志,请配置全量采集策略。全量采集策略能够在采集规则完全生效前,无差别地收集所有日志数据,有效避免日志丢失现象。
增量采集场景
采集路径为云硬盘 CBS:采集路径为云硬盘时建议配置增量采集策略,以免 Pod 重建产生重采。
异常场景
采集路径为文件存储 CFS:配置全量采集会造成重采,且多个 Pod 可能同时上报相同日志,造成日志服务重复计费,建议日志源不要使用 CFS。
9. 单击下一步,选择日志解析方式。
编码模式:支持 UTF-8 和 GBK。
提取模式:支持多种类型的提取模式,详情如下:
解析模式
说明
相关文档
多行全文
指一条完整的日志跨占多行,采用首行正则的方式进行匹配,当某行日志匹配上预先设置的正则表达式,就认为是一条日志的开头,而下一个行首出现作为该条日志的结束标识符,也会设置一个默认的键值 CONTENT,日志时间以采集时间为准。支持自动生成正则表达式。
JSON
JSON 格式日志会自动提取首层的 key 作为对应字段名,首层的 value 作为对应的字段值,以该方式将整条日志进行结构化处理,每条完整的日志以换行符 \\n 为结束标识符。
过滤器:LogListener 仅采集符合过滤器规则的日志,Key 支持完全匹配,过滤规则支持正则匹配,如仅采集 ErrorCode = 404 的日志。您可以根据需求开启过滤器并配置规则。
说明:
一个日志主题目前仅支持一个采集配置,请保证选用该日志主题的所有容器的日志都可以接受采用所选的日志解析方式。若在同一日志主题下新建了不同的采集配置,旧的采集配置会被覆盖。
10. 单击完成,完成投递到 CLS 的容器日志采集规则创建。