面对在Windows 10中启动Filebeat的问题,我已经使用位于我的本地计算机“E:”驱动器中的elasticsearch日志文件夹修改了filebeat prospector日志路径,我在更正后验证了filebeat.yml的格式但是在启动时仍然低于错误。
Filebeat版本: 6.2.3
Windows版本: 64位
Filebeat.yml(经过验证的yml格式)
include ("../PHPMailer/sendEmail.php");
if($mail->Send()) {
echo "ok";
} else {
echo "fail";
}
Filebeat启动日志:
filebeat.prospectors:
-
type: log
enabled: true
paths:
- 'E:\Research\ELK\elasticsearch-6.2.3\logs\*.log'
filebeat.config.modules:
path: '${path.config}/modules.d/*.yml'
reload.enabled: false
setup.template.settings:
index.number_of_shards: 3
setup.kibana:
host: 'localhost:5601'
output.elasticsearch:
hosts:
- 'localhost:9200'
username: elastic
password: elastic
答案 0 :(得分:1)
检查此路径${path.config}/modules.d/
或者通过命令行“filebeat.exe modules list”检查,如果某些模块处于活动状态,则不能与windows一起使用。
例如, system.yml (模块)不能在普通窗口上运行,因为没有系统日志。但默认情况下系统模块处于活动状态。所以你必须先禁用它。 如果我启用它,我会运行完全相同的错误消息,并且文件停止。
答案 1 :(得分:0)
使用以下格式重写yml的第一部分:
filebeat.prospectors:
- type: log
enabled: true
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
删除空的新行并注意缩进。
答案 2 :(得分:0)
我知道这个话题有点老了,不过从发布此书(2019年6月)时所获得的观点来看,我认为添加更多信息是安全的,因为这对于变得很容易修复。
在解释所做的工作之前,请允许我说我在Linux系统上遇到了这个问题,但是所有平台上的问题/解决方案都应该相同。
更新 logback-spring.xml 并重新启动服务后,它一直拒绝吐出以下错误:
ERROR instance/beat.go:824 Exiting: Can only start an input when all related states are finished: {Id:163850-64780 Finished:false Fileinfo:0xc42016c1a0 Source:/some/path/here/error.log Offset:0 Timestamp:2019-06-13 09:15:35.481163602 -0400 EDT m=+0.107516982 TTL:-1ns Type:log Meta:map[] FileStateOS:163850-64780}
我的解决方案是简单地编辑 /etc/filebeat/filebeat.yml 并评论尽可能多的内容(回到几乎原始的/基本的配置)。
这样做之后,重新启动filebeat就可以了,这最终是一个重复的路径条目,其中另一个文件位于系统中某个位置,可能位于模块下。