LogListener 压缩上传配置指南

最近更新时间:2026-05-25 17:19:01

我的收藏

操作场景

LogListener 支持对上传到日志服务(Cloud Log Service,CLS)的日志数据进行压缩,减少网络带宽消耗。当前支持以下两种压缩算法:
算法
压缩率
速度
CPU 开销
适用场景
lz4(默认)
约2:1
极快
高吞吐、CPU 敏感场景
zstd
约3:1 - 5:1
带宽受限场景(如专线、跨地域传输)
该任务指导您通过 配置文件环境变量K8s DaemonSet 三种方式,将 LogListener 的压缩算法从默认的 lz4 切换为 zstd,以获得更高的压缩率和更低的带宽消耗。

前提条件

已安装并部署 LogListener,具体操作请参见 LogListener 新架构安装指南
LogListener 新架构(版本≥3.4.0)支持 lz4和 zstd。旧架构仅支持 lz4,不支持切换为 zstd。

注意事项

默认值:不配置时默认使用 lz4压缩算法。
服务端兼容:CLS 后端已支持 zstd 解压,可直接开启,无需额外配置。
降级机制:压缩失败时,LogListener 会自动发送未压缩的原始数据,不会丢失日志。
性能影响:zstd 相比 lz4 约多消耗30% - 50%的 CPU 资源,相应的可节省40% - 60%的网络带宽。建议在带宽瓶颈场景(专线、跨地域传输)使用。

操作步骤

方式一:通过配置文件修改

1. 登录 LogListener 所在的服务器。
2. 打开 LogListener 的配置文件 /opt/loglistener/conf/loglistener.yaml,在 plugin.output_cls 下添加或修改 compress 字段:
plugin:
output_cls:
compress: zstd
注意:
该参数不支持热更新,调整后请执行 systemctl restart loglistener 重启采集器。

方式二:通过环境变量修改

export OUTPUT_CLS_COMPRESS=zstd
说明:
环境变量优先级高于配置文件。当同时配置了环境变量和配置文件时,以环境变量的值为准。

方式三:通过 K8s DaemonSet 修改

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: loglistener
spec:
template:
spec:
containers:
- name: loglistener
env:
- name: OUTPUT_CLS_COMPRESS
value: "zstd"