Fluentd 提示 "log unreadable, it is excluded" 怎么办?

该提示表示 Fluentd 读取日志文件失败,文件被暂时跳过。常见原因:权限不足、文件损坏、轮转冲突、路径通配符问题。本文给出逐项排查与修复方法。

最佳实践
Fluentd 提示 "log unreadable, it is excluded" 怎么办?封面

这行提示的含义:Fluentd 打不开或读不了这个日志文件,本轮先跳过、下轮再试。按"权限 → 文件状态 → 轮转 → 路径"四步排查。

排查清单

1. 权限(最常见)

ls -l /path/to/file.log
namei -l /path/to/file.log    # 检查每一级目录权限

Fluentd 运行用户(如 td-agent)需要对文件有读权限、对路径中每一级目录有执行权限:

chmod 644 /path/to/file.log
# 或把 fluentd 用户加入属组
usermod -aG appgroup td-agent

2. 文件损坏或编码异常:手动 head 打开看看——二进制内容、异常编码都可能导致读取失败。

3. 日志轮转冲突:logrotate 正在压缩/移动文件的瞬间撞上读取;确保 Fluentd 配置了 follow_inodes 或轮转后新文件权限正确(logrotate 的 create 模式要带上可读权限)。

4. 路径问题:path 通配符匹配到了不该读的文件(如压缩包、临时文件)——用 exclude_path 排除 *.gz*.tmp

观测云对照

观测云 DataKit 采集遇到权限/格式问题会在状态上报中给出明确错误项,控制台可见每个采集目标的异常原因。

常见问题(FAQ)

Q:跳过的文件之后会自动重试吗? 会——"would be examined next time" 即下一轮扫描再试。

Q:修复权限后需要重启吗? 不需要,下一轮 refresh 自动纳入。

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台