elasticsearch 日志存储未打开filebeat的输入端口,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat" /> elasticsearch 日志存储未打开filebeat的输入端口,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat" />

elasticsearch 日志存储未打开filebeat的输入端口

elasticsearch 日志存储未打开filebeat的输入端口,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat,我在设置麋鹿堆时遇到了麻烦 配置了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"]

我在设置麋鹿堆时遇到了麻烦

配置了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,然后再发送到elasticsearch吗?

我有点困惑,为什么在同一个框上有完整的logstash实例时,您要使用filebeat轮询日志。Logstash可以做Filebeat可以做的事情,避免整个问题

input {
  file {
    path => [ "/var/log/syslog" ]
    type => "syslog"
  }
}
然而,你想知道Logstash为什么不开放港口。我建议将您的beats输入更改为以下内容,以进行测试:

input {
   beats {
     type => beats
     host => "localhost"
     port => 5044
   }
}

这将告诉beats输入绑定到“localhost”,Filebeat希望在该位置找到侦听端口。

如果您将logstash与docker一起使用,请尝试使您的端口可用于不在容器中的其他应用程序。 在安装docker时,可以使用标志-p5044。 例如:

docker run -d --name logstash 
-p 5044:5044
--restart=always 
-e "XPACK.MONITORING.ELASTICSEARCH.URL=http://ELASTIC_IP:9200" 
docker.elastic.co/logstash/logstash:7.0.0

我将在启用调试日志记录的情况下运行Logstash,以了解它为什么不绑定到端口5044,并在问题中提供日志。默认情况下,它应该绑定到所有接口(0.0.0.0)。在netstat显示Logstash正在监听之前,我将把Filebeat排除在等式之外。