日志组件介绍
日志组件是当用户开启容器服务内的日志服务时,腾讯云日志服务部署于用户集群内每个标准节点上的组件,用于采集容器服务产生的业务日志并写入腾讯云上的消费端,目前支持写入 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.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-provisionert 同步 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,详情见 配置日志消费端为 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 目录导致的启动失败。 |
本页内容是否解决了您的问题?