采集不到日志问题排查
更新时间:2026-08-11
概述
如果传输任务出现无法收集日志的情况,可以按收集器状态、传输数据、采集范围、收集器日志以及多文件采集配置逐项排查。
第一步 查看传输任务的收集器状态
在百度智能云控制台进入 日志服务 BLS->日志接入->传输任务。在传输任务列表中,找到目标传输任务,点击到详情页的 收集器列表 页签查看收集器的状态,如下:

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

评价此篇文章
