elasticsearch 为什么filebeat无法连接到logstash,elasticsearch,logstash,filebeat,elk,elasticsearch,Logstash,Filebeat,Elk" /> elasticsearch 为什么filebeat无法连接到logstash,elasticsearch,logstash,filebeat,elk,elasticsearch,Logstash,Filebeat,Elk" />

elasticsearch 为什么filebeat无法连接到logstash

elasticsearch 为什么filebeat无法连接到logstash,elasticsearch,logstash,filebeat,elk,elasticsearch,Logstash,Filebeat,Elk,我正在尝试将一个log4net日志发送到logstash进行解析,然后以elasticsearch结束。我已将端口添加到windows防火墙安全设置,并允许所有连接,包括5044和9600 在filebeat日志中,我得到了这个错误 pipeline/output.go:100 Failed to connect to backoff(async(tcp://[http://hostname:5044]:5044)): lookup http://hostname:5044: no such

我正在尝试将一个log4net日志发送到logstash进行解析,然后以elasticsearch结束。我已将端口添加到windows防火墙安全设置,并允许所有连接,包括5044和9600

在filebeat日志中,我得到了这个错误

pipeline/output.go:100  Failed to connect to backoff(async(tcp://[http://hostname:5044]:5044)): lookup http://hostname:5044: no such host
Filebeat.yml(日志存储部分)

Logstash.yml

我已将http.host设置为0.0.0.0

# ------------ Metrics Settings --------------
#
# Bind address for the metrics REST endpoint
#
 http.host: "0.0.0.0"
#
# Bind port for the metrics REST endpoint, this option also accept a range
# (9600-9700) and logstash will pick up the first available ports.
#
# http.port: 9600-9700
日志存储过滤器配置

input {
  beats {
    port => "5044"
  }
}

filter {
    if [type] == "log4net" {
        grok {
            match => [ "message", "%{TIMESTAMP_ISO8601:timestamp} \[%{NUMBER:threadid}\] %{WORD:level}\s*%{DATA:class} \[%{DATA:NDC}\]\s+-\s+%{GREEDYDATA:message}" ]
        }
        date {
            match => ["timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss"]
            remove_field => ["timestamp"]
        }
        mutate {
            update => {
                "type" => "log4net-logs"
            }
        }
    }
}

output {
  elasticsearch {
    hosts => ["http://hostname:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

您可以尝试使用主机名:

hosts: ["hostname:5044"]

如@Adrian Dr所述,尝试使用:

hosts: ["hostname:5044"]
但也将日志存储绑定到单个端口:

http.port: 9600

同样的错误。因为你提到了礼仪

您必须从主机字段中删除“http”

hosts: ["somename.com:5044"] 
或ip


http://hostname:5044: 没有这样的主机
,这意味着无法正确解析主机名。你确定这是一个有效的主机名吗?如果你确定这个主机名,那么可以尝试使用完全限定的域name@Val我使用的是一个有效的主机名,它与我在logstash配置()中添加到ElaststicSearch主机的主机名相同,filebeat似乎可以毫无问题地将数据发送到ElaststicSearch。但是端口为5044的同一主机名不适用于logstashIs在同一主机上运行的所有内容(Filebeat、Logstash、ES)?您的日志存储管道(输入/过滤/输出)配置是什么样子的?@Val Filebeat正在本地运行并推送到远程服务器。ElasticSearch和Logstash都安装在该远程服务器上。。因此,两者的主机名是相同的,我允许传入流量到端口9200、5044、9600,这些端口是elasticsearch和logstashnow的端口。我无法连接到退避(异步)(tcp://hostname:5044)):拨号tcp hostIp:5044:connectex:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应。我想这是因为Logstash没有侦听该端口,我确实将端口作为入站规则设置为允许所有传入连接,我可以看到9600正在侦听,但没有5044@ifelabolz你能用
--log.level=debug
重新启动Logstash并用你得到的日志更新你的问题吗
hosts: ["somename.com:5044"] 
hosts: ["10.10.10.1:5044"]