我是ELK Stack的新手。 我正在尝试使用Windows(ELK服务器)和Vagrant Unix CentOS VM(Filebeat Shipper)来实现它
对于初学者,我正在尝试将Unix Syslog发送到ELK服务器,看看它是如何工作的
我已在Windows机器上为Logstash配置了central.conf文件
input{
beats{
port => 5044
}
}
output{
stdout{ }
elasticsearch{
hosts => ["http://localhost:9200"] }
}
和Unix上的Filebeat YAML(CentOS-7)配置为
filebeat:
prospectors:
-
paths:
-"/var/log/*.log"
input_type: log
document_type: beat
registry: "/var/lib/filebeat"
output:
logstash:
hosts: ["127.0.0.1:5044"]
logging:
to_files: true
files:
path: "/var/log/filebeat"
name: filebeat.log
rotateeverybytes: 10485760
level: debug
Elasticsearch和Logstash在我的Windows机器上正常运行
我现在正面临以下两个问题,
1.当我尝试在Unix上运行filebeat shipper时,它会给我以下错误
[root@localhost filebeat]# filebeat -e -v -c filebeat.yml -d "*"
2016/05/08 11:07:00.404841 beat.go:135: DBG Initializing output plugins
2016/05/08 11:07:00.404873 geolite.go:24: INFO GeoIP disabled: No paths were set under output.geoip.paths
2016/05/08 11:07:00.404886 publish.go:269: INFO No outputs are defined. Please define one under the output section.
Error Initialising publisher: No outputs are defined. Please define one under the output section.
2016/05/08 11:07:00.404902 beat.go:140: CRIT No outputs are defined. Please define one under the output section.
2。当我看到Logstash日志时,我发现它试图在“0.0.0.0:5044”而不是“127.0.0.1:5044”上听Beats输入
{:timestamp=>"2016-05-08T16:36:07.158000+0530", :message=>"Beats inputs: Starting input listener", :address=>"0.0.0.0:5044", :level=>:info}
这两个问题是否相互关联,如何解决这些问题,有人可以帮助我,并指出我正确的方向来实现这一目标。
真的感谢您提供的任何帮助。
答案 0 :(得分:2)
错误说:
未定义任何输出。请在输出部分下定义一个。
如果您的yaml文件与问题中的相同,那就错了。因为缩进在yaml中很重要。它必须像:
...
output:
logstash:
hosts: ["127.0.0.1:5044"]
...