【发布时间】:2017-09-15 12:00:46
【问题描述】:
我在设置 ELK 堆栈时遇到问题,
Filebeat 已配置,
filebeat.prospectors:
- input_type: log
paths:
- /var/log/syslog
#- c:\programdata\elasticsearch\logs\*
document_type: syslog
output.logstash:
# The Logstash hosts
hosts: ["localhost:5044"]
bulk_max_size: 1024
这些是logstash的输入文件,
对于输入,
input {
beats {
type => beats
port => 5044
}
}
对于输出,
output {
elasticsearch {
hosts => ["localhost:9200"]
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
我可以在 filebeat 日志中看到它给了我这个错误,
2017-04-19T15:30:55+05:30 ERR Connecting error publishing events (retrying): dial tcp 127.0.0.1:5044: getsockopt: connection refused
很明显,logstash 没有打开端口,我也可以通过 netstat 看到端口没有打开监听。
为什么logstash没有打开端口,我错过了什么吗? 另外,当端口打开时,它是否会自动将数据发送到logstash,然后logstash再发送到elasticsearch?
【问题讨论】:
-
我会在启用调试日志的情况下运行 Logstash,看看为什么它没有绑定到端口 5044 并在问题中提供日志。默认情况下,它应该绑定到所有接口(0.0.0.0)。在 netstat 显示 Logstash 正在监听之前,我会将 Filebeat 排除在外。
标签: elasticsearch logstash filebeat