有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

日志组件介绍

日志组件是当用户开启容器服务内的日志服务时,腾讯云日志服务部署于用户集群内每个标准节点上的组件,用于采集容器服务产生的业务日志并写入腾讯云上的消费端,目前支持写入 CLS 和 Kafka。
日志服务相关组件如下:
名称
资源类型
说明
tke-log-agent
DeamonSet
每个 log-agent 的 Pod 中包含一个 controller 容器和一个 loglistener sidecar 容器,负责采集节点上所有容器产生的日志。
cls-provisioner
Deployment
每个集群一个实例,负责将 CRD 配置转换成 loglistener 可以理解的采集配置与 CLS 通信。
logconfigs.cls.cloud.tencent.com
CRD
-

log-agent 版本迭代记录

v1.1.14

类别
内容
Feature
日志组件暴露采集规则状态相关指标,默认端口8088。
Bugfix
-

v1.1.13

类别
内容
Feature
弹性 pod cls-provisioner 切换 norm 鉴权。
Bugfix
修复多路径引入的误删路径的问题。

v1.1.12

类别
内容
Feature
TKE 多路径采集支持路径通配符。
Bugfix
适配1.19版本以下集群,因 kubelet 映射标准数据日志路径失败,导致日志丢失的问题。

v1.1.11

类别
内容
Feature
创建采集配置增加来源资源,用于区分 TKE 采集配置,CLS 控制台和直接跳转 TKE。
支持 namespace 和排除 namespace 支持使用正则表达式。
增加高级采集配置以采集 ClsAgentParseFailMerge,并修改参数类型以修复 JSON marshal/unmarshal 过程中的参数丢失问题。
支持自定义 cls-provisioner 和 log-agent 的安装命名空间,默认为 kube-system。
支持 container file 和 host file 多路径采集。
Bugfix
修复了 log-agent 在 job pod 结束的情况下未删除软链接的问题,导致 loglistener 监控的文件和目录达到上限。
修复 kafkaListener 由于单行日志过长,导致采集失败的问题。更新单行最大长度到2MB。
修复了 PVC StorageClass 为空时映射日志目录失败的问题。

v1.1.10

类别
内容
Feature
-
Bugfix
修复了 log-agent 在处理 container notin 反选逻辑时出现的问题。

v1.1.9

类别
内容
Feature
增加 AdvancedConfig,增加 MaxDepth 和 FileTimeout 参数。
增加 HotPeriod 参数,支持标准 topic 的数据到低频的沉降规则。
支持容器选择和排除,支持容器元数据选择采集,支持标签选择采集。
Bugfix
修复了黑名单路径去除前缀异常的问题。
修复了 log-agent 在 Pod 不变但软链接被删除重建的问题。
修复了 cls-provisioner 查询不到 topic 导致 panic 的问题。
添加了 logconfig 的 validation 验证,不合格的 logconfig 不进行处理,避免程序 panic 或处理错误。

v1.1.8

类别
内容
Feature
-
Bugfix
修复了不支持 workload 后不再重试的问题。

v1.1.7

类别
内容
Feature
增加 logConfig-max-threshold 参数,当 logconfig 达到一定数量后,升级或重启会使用 informer 查询 workload 信息。
优化获取 docker root 的方式,增加优先通过 api 的方式获取。
kafka 采集支持自定义 metadata,支持 SASL 认证。
Bugfix
修复 log-agent 启动时获取 kubelet 参数错误的问题。
修复替换 topicID 时,获取 logset 接口调用错误。
CLS 不区分大小写,cls-provisioner 修复大小写敏感问题。
log-agent 默认支持 csi,不再单独判断比较 StorageClasses 的 Provisioner。

v1.1.6

类别
内容
Feature
增加 kafka 采集器对于容器标准输出的多行采集正则格式匹配。
环境变量增加 tag 云 API 地址配置。
Bugfix
深圳、天津等无 CLS 服务地域,agent 自动创建 topic 同步集群标签失败。
修复 kafka 采集器 metadata 前缀捕获 containerd 格式问题。
修复 cls-provisioner 同步 CLS 遗漏增量、全量选项。
加载 logconfig 过程中查询 workload 信息通过 informer 查找,减少 apiserver 负载。

v1.1.5

类别
内容
Feature
CLS 投递地域增加圣保罗、上海自动驾驶专区。
Bugfix
-

v1.1.4

类别
内容
Feature
支持采集 init container 标准输出日志。
CLS 日志解析编码格式支持 GBK。
CLS 日志采集规则支持 namespace label selector。
Bugfix
修复事件队列频繁重试问题。
优化 log-agent 里 Logconfig 和 pod 的处理队列算法,避免队列被大量重复事件堵塞。
修复没有 label 只有 namespace 时标准输出容器日志采集遗漏场景。

v1.1.3

类别
内容
Feature
CLS 低频存储支持设置索引。
Bugfix
-

v1.1.2

类别
内容
Feature
CLS 在容器文件和宿主机文件场景下的采集规则支持配置黑名单。
Bugfix
-

v1.1.1

类别
内容
Feature
loglistener支持使用 CPU 多核。
loglistener 内存支持自适应 loglistener limit设置, 限制 limit mem 100M为 loglistener 最大使用内存。
Bugfix
修复 log-agent 更新 volume link 时未处理错误返回,导致更新失败不会重试的问题。

v1.1.0

类别
内容
Feature
CLS 日志自动创建 topic 时支持继承 TKE 集群标签。
支持 CLS 跨地域日志投递。
Bugfix
-

v1.0.9

类别
内容
Feature
-
Bugfix
修复 topic 替换时 topic id 为空,导致 logconifg 被删除重建的情况。
修复 logconfigpro informer 未启动导致 logconfigpro 同步卡死的问题。

v1.0.8

类别
内容
Feature
默认屏蔽采集 kube-system 下 loglistener 日志。
创建索引策略修改:只有自动创建 topic 的时候创建默认索引,其他场景不修改 topic 索引。
支持 kafka 采集器在消息中增加 metadata 信息。
支持 kafka 采集器解析方式 单行全文,JSON,多行全文。
Bugfix
修复在 workload 场景下采集标准输出,无法指定 container 问题。
添加 docker client, 获取 Storage Driver 如果配置文件没有,通过 client 去获取 info 信息拿到 Storage Driver。
修复采集容器文件场景下,指定 metadatalabel 错误问题。
修正获取 kubelet 根目录方案。
修复删除旧采集配置前缀设置错误,导致采集配置匹配错误。
修复当前 kafka 采集器中设定消息 timestampKey timestamp 失效的问题。

v1.0.7

类别
内容
Feature
cls-provisioner 创建 topic 时,支持指定创建键值索引,包括索引名字、类型、分词以及是否开启统计;如果不支持则默认开启 pod_name,namespace,container_name 索引。
支持指定 metadatalabels, 将指定的 pod label 写入元数据采集,如果不支持,采集所有 pod label 为元数据。
支持自定义 CLS 云 API 服务后端地址。
Bugfix
-

V1.0.6

类别
内容
Feature
log-agent 支持用户自定义修改 kubelet 根目录和 docker 根目录。
Bugfix
-

V1.0.5

类别
内容
Feature
日志采集配置支持 label != 操作(exclude labels)。
支持日志服务只采集增量日志。
日志采集配置支持多选 namespace 和排除 namespace。
log-agent 支持配置同 Key 不同 Value 的 pod labels。
loglistener 支持参数可配置。
Bugfix
修复 log-agent 使用 configmap 作为 source 时的已知问题。
修复部分条件下采集器配置为空导致校验失败的问题。
修复删除日志规则时,采集器删除配置失败的问题。
解决 logConfig 配置的兼容性问题。

V1.0.1

类别
内容
Feature
cls-provisioner 访问 CLS 的接口切换到云 API。
支持 TKE 日志采集投递到 ckafka。
Bugfix
-

V0.2.28

类别
内容
Feature
-
Bugfix
修复一个 Pod 对应多个 logconfig 问题。

V0.2.27

类别
内容
Feature
-
Bugfix
修复用户在 topic 上设置的提取模式在部分场景下被覆盖的问题。

V0.2.26

类别
内容
Feature
-
Bugfix
修复删除 stdout 类型的采集配置时,部分情况下无法创建 metadata 的问题。

V0.2.25

类别
内容
Feature
-
Bugfix
修复部分情况下 log-agent panic 问题。
修复 workload 缓存导致软连接删除问题。
修复 metadata 文件创建失败问题。

V0.2.24

类别
内容
Feature
-
Bugfix
修复在 pod 中的 container restart 的过程中,metadata 被误删除的问题。
log-agent 启动前自动清理 LogAgentRootDir,避免脏数据污染。
修复极端场景导致的 log-agent 组件 panic。
修复 log-agent 重复挂载 /data 目录导致的启动失败。