操作场景
LogListener 支持对上传到日志服务(Cloud Log Service,CLS)的日志数据进行压缩,减少网络带宽消耗。当前支持以下两种压缩算法:
算法 | 压缩率 | 速度 | CPU 开销 | 适用场景 |
lz4(默认) | 约2:1 | 极快 | 低 | 高吞吐、CPU 敏感场景 |
zstd | 约3:1 - 5:1 | 快 | 中 | 带宽受限场景(如专线、跨地域传输) |
前提条件
已安装并部署 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/v1kind: DaemonSetmetadata:name: loglistenerspec:template:spec:containers:- name: loglistenerenv:- name: OUTPUT_CLS_COMPRESSvalue: "zstd"