elasticsearch 为什么filebeat无法连接到logstash
我正在尝试将一个log4net日志发送到logstash进行解析,然后以elasticsearch结束。我已将端口添加到windows防火墙安全设置,并允许所有连接,包括5044和9600 在filebeat日志中,我得到了这个错误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
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"]