我是ELK的新手,我在运行logstash时遇到问题。我运行了以下链接中定义的logatash https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html
但是当运行filebeat和logstash时,它的show logstash成功运行在9600端口。在filebeat中它给出了这样的
INFO过去30年内没有非零指标
Logstash没有从filebeat获取输入。请帮助..
filebeat .yml是
filebeat.prospectors:
- input_type: log
paths:
- /path/to/file/logstash-tutorial.log
output.logstash:
hosts: ["localhost:5043"]
我运行了这个命令 sudo ./filebeat -e -c filebeat.yml -d“publish”
配置文件是
input {
beats {
port => "5043"
}
}
output {
stdout { codec => rubydebug }
}
然后运行命令
1)bin/logstash -f first-pipeline.conf --config.test_and_exit - this gave warnings
2)bin/logstash -f first-pipeline.conf --config.reload.automatic -This started the logstash on port 9600
由于filebeat给出INFO
,因此我无法继续INFO过去30年内没有非零指标
使用的ELK版本是5.1.2
答案 0 :(得分:3)
注册表文件存储Filebeat用于跟踪上次读取位置的状态和位置信息
因此您可以尝试更新或删除注册表文件。 see here
cd /var/lib/filebeat
sudo mv registry registry.bak
sudo service filebeat restart
我也遇到过这个问题,我用上面的命令解决了。
答案 1 :(得分:-1)
Filebeat从文件末尾读取,并期望随着时间的推移添加新内容(如日志文件)。
要从文件开头读取,请设置' tail_files'选项。
另请注意有关重新处理文件的说明,因为这可以在测试期间发挥作用。