当 Logtail 采集出现大量空内容日志或超长截断告警时,可按以下步骤排查和处理:
判断方法:
- 在 SLS 控制台查看原始日志,如果大量日志内容显示为空或复制后发现是 \0 字符
- 检查 Logtail 自监控指标:采集行数激增但压缩后流量反而下降(\0 压缩率极高)
- 进入容器或主机,对比
ls -l和du -sh的结果,若 ls 远大于 du 则确认为稀疏文件
处理措施:
- 立即停止错误的日志清理脚本,避免继续产生稀疏文件
- 在业务侧配置正规的日志轮转机制(rename 或 copytruncate)
- 重启业务应用使其重新创建日志文件,释放旧的文件句柄
- 清理异常 Logstore 中的无效数据,必要时重建索引
未来 Logtail 也将增强对稀疏文件的识别能力,通过比较文件逻辑大小与实际数据块大小来自动忽略 hole 区域。