流量膨胀上万倍通常是由于日志文件变成了稀疏文件(Sparse File),其中包含大量的 \0 空字节。当运维人员通过 echo 空字符串覆盖日志文件进行"软删除"时,业务应用仍持有旧的文件句柄和写入偏移量,继续在原偏移位置写入新日志。这导致文件开头到当前写入位置之间被填充了大量 \0,形成稀疏文件。Logtail 较新版本不再忽略 \0 字符,会将所有 \0 作为有效内容采集上传。由于 \0 不包含换行符 \n,大量 \0 会被聚合成超长的单行日志。虽然压缩传输时流量增幅有限,但解压后的读写流量和索引流量会成倍甚至上万倍膨胀,尤其是配置了索引的情况下,\0 会触发大量分词操作,进一步放大索引体积。
加载中...