采集不到日志问题排查
更新时间:2026-03-11
如果您的传输任务出现无法收集日志的情况,请您按照以下步骤先逐一排查一下。
第一步 查看传输任务的收集器状态
可以在传输任务的收集器列表页面查看收集器的状态,如下:

- 如果收集器显示"待同步",则说明传输任务还没有同步到收集器,等待几分钟即可,正确情况下,不超过3分钟。

- 如果收集器显示"丢失",则说明收集器无法发送心跳,请检查主机或者容器的网络状态。

- 如果收集器显示"异常",请根据异常信息提示进行相应调整。常见的异常如下:

- "no such file or directory"表示传输任务配置的源日志目录路径不存在,请检查传输任务配置的源日志目录,修改到正确的路径。对于cnap类型,需要按照下面的规则填写源日志目录:

- "访问文件权限拒绝":此时需要对文件及目录权限进行调整;其相应调整方法为:需满足运行收集器的用户具有r权限对所采文件,并对该文件上级目录直至根目录均具有r+x权限。
- "bucket不存在":此时需要检查所配bucket所在region是否与BLS region相同。
第二步 确认传输端是否有传输数据
如果没有报错信息,查看是否有传输数据,可以在传输任务的收集器列表页面查看

如果有传输数据说明配置正确,已经开始传输数据了,检查查询语法,索引配置是否正确
第三步 检查目标文件是否在采集范围
- 文件目录不允许写正则,但可以写glob规则(https://golang.org/pkg/path/filepath/#Match)。
- 文件规则应符合标准正则表达式规则,如不可以以*开头,如*.log,可自测所写表达式是否可以匹配目标文件。
- 实时日志绝对路径,不允许在文件名的表达式中出现反斜线\,因为在文件路径中,斜线与反斜线均被视为路径分隔符。如/home/bls/log/server\.log,会被理解为/home/bls/log/server/.log。
- 检查待采集日志是否被排除文件规则命中,如命中需修改排除文件规则。
- 检查待采文件的最后修改时间,是否在配置的文件有效期时间范围内。计算方法为:文件有效时间范围所配置天数*24小时是否早于文件最后修改时间。
第四步 登录到收集器中查看收集器日志
如果前面的检查都是正确的,还是没有数据,可以登录到收集器的查看日志
- 对于主机模式,默认在/opt/logbeat/logs目录,最近的日志文件是logbeat;
- 对于容器模式,日志会输出到标准输出中,比如:cce中的日志页面

- 如果出现Error creating input from config的错误,检查是否是传输任务源端类型选择错误了,cnap是sidecar的部署模式,需要选择主机类型

- 如果出现Register with server fialed错误,说明网络有问题,需要检查容器的网络

- 如果出现filter/filter.go文件的报错,是因为配置的日志过滤不正确,或者日志中没有配置中的key,导致日志读取报错了,需要重新修改过滤表达式。

- 查看data目录下的注册表文件,是否有记录需要采集的文件;如果注册表没预期文件在采集的 去排查匹配规则、环境变量 label黑白名单等是否正确。注册表文件路径为:{{采集器安装目录}}/data/registry/{{传输任务ID}}/data.json,比如:/opt/logbeat/data/registry/b56f00ae-ed45-40f7-5c95-03f92c7b522f/data.json,内容如下:

第五步 其他情况排查
- 如果有一个文件可以持续采集到,其他文件采集不到,对于采集多文件的场景,可以在传输任务页面的高级配置中将同时采集文件数设置为10。

