不要急,总有办法的

filebeat错误提示Exiting: Can only start an input when all related states are finished:

Beats | 作者 sailershen | 发布于2018年11月04日 | 阅读数:8236

环境是Centos 6,filebeat版本是6.4.2-1.x86_64。
 
/etc/filebeat/filebeat.yml 
filebeat.config.inputs:
enabled: true
path: configs/*.yml

filebeat.config.modules:
enabled: true
path: /etc/filebeat/modules.d/*.yml

filebeat.modules:
- module: system

output.redis:
enabled: true
hosts: ["192.168.1.1:6379"]
port: 6379
datatype: list
db: 0
key: aliyun-121

/etc/filebeat/configs/systemlog.yml 
filebeat.inputs:
- module: system
syslog:
enabled: true
var.paths: ["/var/log/messages"]
auth:
enabled: true
var.paths: ["/var/log/secure"]

/etc/filebeat/modules.d目录下把system.yml.disabled的文件名改为system.yml。
 
/etc/init.d/filebeat start,再看/var/log/filebeat/filebeat文件里的日志:
2018-11-04T12:29:36.986+0800    INFO    instance/beat.go:373    filebeat stopped.
2018-11-04T12:29:36.989+0800 ERROR instance/beat.go:743 Exiting: Can only start an input when all related states are finished: {Id:210097-64513 Finished:false Fileinfo:0xc4201a52b0 Source:/var/log/secure Offset:2624 Timestamp:2018-11-04 12:29:36.954191668 +0800 CST m=+0.056768775 TTL:-1ns Type:log Meta:map[] FileStateOS:210097-64513}
Exiting: Can only start an input when all related states are finished: {Id:210097-64513 Finished:false Fileinfo:0xc4201a52b0 Source:/var/log/secure Offset:2624 Timestamp:2018-11-04 12:29:36.954191668 +0800 CST m=+0.056768775 TTL:-1ns Type:log Meta:map[] FileStateOS:210097-64513}

再查看filebeat服务的状态,看到这个服务没有启动。
 
现在找到的解决方案是把/etc/filebeat/modules.d目录下把system.yml的文件名改为system.yml.disabled,再启动filebeat就成功了。但是在centos 7下把文件名改为system.yml以后可以启动filebeat。
 
请教各位以上操作哪里有问题?
 
 
 
 
已邀请:

zqc0512 - andy zhou

赞同来自:

用户权限对么?要读取系统日志权限。

sailershen

赞同来自:

谢谢回答。
把modules.d目录下所有文件名后面加上.disabled,filebeat就可以启动了,不知道原因是啥。

busihun

赞同来自:

问题解决了,是因为你配置了多个 input,其中有文件是重叠的。
简单的说你/etc/filebeat/configs/systemlog.yml 和 /etc/filebeat/modules.d/system.yml 中采集文件有相同的被采集日志。
filebeat发现这种情况就会报错,且不收集。你在后面加上.disabled 其实和加上.bak .a .b .c没区别,就是改掉后缀导致这个文件不会被认作配置文件。只要没有重复的,就不报错了。

要回复问题请先登录注册