本文介绍使用 CRD 配置 TKEServerless 集群的日志采集功能。
登录 容器服务控制台,并为 Serverless 集群开启日志采集功能。操作详情请参见 开启日志采集。
为集群开启日志采集功能后,您可根据以下操作进行配置:
开启日志采集后,需要配置日志规则,确认日志源、消费端、日志解析方式等。
选择容器标准输出采集类型,并根据自身需求,配置日志源。如下图所示:
该类型日志源支持采集:
说明对于容器的标准输出及容器内文件,除了原始的日志内容,还会带上容器或 kubernetes 相关的元数据(例如,产生日志的 Pod name)一起上报到 CLS,方便用户查看日志时追溯来源或根据容器标识、特征(例如,容器名、Labels)进行检索。
容器或 kubernetes 相关的元数据请参考下方表格:
字段名 含义 cluster_id 日志所属的集群 ID。 container_name 日志所属的容器名称。 image_name 日志所属容器的镜像名称 IP。 namespace 日志所属 pod 的 namespace。 pod_uid 日志所属 pod 的 UID。 pod_name 日志所属 pod 的名字。 pod_ip 日志所属 pod 的IP。 pod_lable_{label name} 日志所属 pod 的 label(例如一个 pod 带有两个 label:app=nginx,env=prod,则在上传的日志会附带两个 metedata:pod_label_app:nginx,pod_label_env:prod)。
注意
- 日志服务 CLS 目前只能支持同地域的容器集群进行日志采集上报。
- 日志集和日志主题在日志规则完成后不可更新。
解析模式 | 说明 | 相关文档 |
---|---|---|
单行全文 | 一条日志仅包含一行的内容,以换行符 \n 作为一条日志的结束标记,每条日志将被解析为键值为 CONTENT 的一行完全字符串,开启索引后可通过全文检索搜索日志内容。日志时间以采集时间为准。 | 单行全文格式 |
多行全文 | 指一条完整的日志跨占多行,采用首行正则的方式进行匹配,当某行日志匹配上预先设置的正则表达式,就认为是一条日志的开头,而下一个行首出现作为该条日志的结束标识符,也会设置一个默认的键值 CONTENT,日志时间以采集时间为准。支持 自动生成正则表达式。 | 多行全文格式 |
单行 - 完全正则 | 指将一条完整日志按正则方式提取多个 key-value 的日志解析模式,您需先输入日志样例,其次输入自定义正则表达式,系统将根据正则表达式里的捕获组提取对应的 key-value。支持 自动生成正则表达式。 | 单行 - 完全正则格式 |
多行 - 完全正则 | 适用于日志文本中一条完整的日志数据跨占多行(例如 Java 程序日志),可按正则表达式提取为多个 key-value 键值的日志解析模式,您需先输入日志样例,其次输入自定义正则表达式,系统将根据正则表达式里的捕获组提取对应的 key-value。支持 自动生成正则表达式。 | 多行-完全正则格式 |
JSON | JSON 格式日志会自动提取首层的 key 作为对应字段名,首层的 value 作为对应的字段值,以该方式将整条日志进行结构化处理,每条完整的日志以换行符 \n 为结束标识符。 | JSON 格式 |
分隔符 | 指一条日志数据可以根据指定的分隔符将整条日志进行结构化处理,每条完整的日志以换行符 \n 为结束标识符。日志服务在进行分隔符格式日志处理时,您需要为每个分开的字段定义唯一的 key,无效字段即无需采集的字段可填空,不支持所有字段均为空。 | 分隔符格式 |
注意一个日志主题目前仅支持一个采集配置,请保证选用该日志主题的所有容器的日志都可以接受采用所选的日志解析方式。若在同一日志主题下新建了不同的采集配置,旧的采集配置会被覆盖。
本页内容是否解决了您的问题?