侦听logstash上的多个UDP端口
我有一个简单的ELK设置,可以在一台机器上运行,可以使用Logstash读取自定义格式的日志消息,还可以使用Elasticsearch/Kibana分析数据 根据stackoverflow帖子的一个回复中的配置文件,我在我的配置文件中添加了多个udp输入项,其中一部分如下所示:侦听logstash上的多个UDP端口,logstash,Logstash,我有一个简单的ELK设置,可以在一台机器上运行,可以使用Logstash读取自定义格式的日志消息,还可以使用Elasticsearch/Kibana分析数据 根据stackoverflow帖子的一个回复中的配置文件,我在我的配置文件中添加了多个udp输入项,其中一部分如下所示: input { udp { type => "log_type_1" port => 9999 } udp { type => "log_type_2" po
input {
udp {
type => "log_type_1"
port => 9999
}
udp {
type => "log_type_2"
port => 9998
}
udp {
type => "log_type_3"
port => 9997
}
}
当我重新启动logstash服务并检查/var/log/logstash/logstash
下的日志时,我会看到错误消息和消息:
{:timestamp=>"2015-02-17T18:15:56.032000-0800", :message=>"UDP listener died", :exception=>#<SocketError: bind: name or service not known>, :backtrace=>["org/jruby/ext/socket/RubyUDPSocket.java:160:in `bind'", "/opt/logstash/lib/logstash/inputs/udp.rb:69:in `udp_listener'", "/opt/logstash/lib/logstash/inputs/udp.rb:50:in `run'", "/opt/logstash/lib/logstash/pipeline.rb:163:in `inputworker'", "/opt/logstash/lib/logstash/pipeline.rb:157:in `start_input'"], :level=>:warn}
{:timestamp=>“2015-02-17T18:15:56.032000-0800”;:message=>“UDP侦听器已死亡”;:exception=>,:backtrace=>[“org/jruby/ext/socket/rubydpsocket.java:160:in`bind'”,/opt/logstash/lib/logstash/inputs/UDP.rb:69:in`UDP\u listener',/opt/logstash/lib/logstash/lib/logstash/inputs/UDP.rb:50:in`run',“/opt/logstash/lib/logstash/pipeline.rb:163:在'inputworker'中,/opt/logstash/lib/logstash/pipeline.rb:157:在'start_input'中,:level=>:warn}”
关于我在这里做错了什么,有什么想法吗?我试着使用--configtest
标志运行logstash,但我没有发现我的配置有任何问题。我猜它只检查语法正确性
谢谢!事实证明,事实上支持多个UDP端口(没有理由不支持)。一个简单的
netstat-alp | grep
向我展示了我们当前使用的端口,我通过更改端口号解决了这个问题
谢谢