Logstash没有监听UDP端口5140

时间:2017-04-25 23:42:05

标签: centos udp logstash listen

我正在运行一个logstash发货人,rsyslog将日志发送到5140端口的logstash,我可以确认数据包是否到达:

tcpdump -vvv -A -i any port 5140

我的logstash配置如下:

input {
  udp {
    type => "syslog"
    port => 5140
  }
}

filter { }

output { 

  stdout {
    codec => rubydebug
  }

  redis {
  host => "172.30.114.151"
  key => "logstash"
  port => "6379"
  data_type => "list"
  }
}

我还尝试了以下输入:

input {
  syslog {
    port => 5140
  }
}

哪个netstat显示tcp Listen而不是udp。

我已使用以下标志禁用ipv6 for logstash:

_JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true

当我跑步时:

netstat -tulpan

我明白了:

Proto Recv-Q Send-Q Local Address           Foreign Address             State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1191/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2135/master         
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      7593/rsyslogd       
tcp        0      0 172.26.33.182:22        172.30.230.152:47975    ESTABLISHED 2260/sshd: 
tcp        0      0 172.26.33.182:22        172.30.230.151:42811    ESTABLISHED 6781/sshd: 
tcp6       0      0 :::22                   :::*                    LISTEN      1191/sshd           
tcp6       0      0 :::4440                 :::*                    LISTEN      1296/java           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2135/master         
tcp6       0      0 :::514                  :::*                    LISTEN      7593/rsyslogd       
udp        0      0 0.0.0.0:5140            0.0.0.0:*                           8499/java           
udp        0      0 0.0.0.0:37934           0.0.0.0:*                           653/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           653/avahi-daemon: r 

进程8499是logstash。我试过以root身份和其他端口运行。我似乎无法使用logstash来“监听”udp

我还确认该端口已打开并正在使用:

telnet <ipaddress> 5140

Selinux被禁用:

 sestatus
SELinux status:                 disabled

我需要一些帮助。我搜索并搜索过。我已经调查了我遇到的所有其他解决方案,没有运气。这似乎是重复的。但是,其他解决方案对我不起作用。这是一个centos安装。还试过端口514,10514无济于事。

1 个答案:

答案 0 :(得分:0)

您必须允许防火墙中的端口,因为centos带有默认防火墙,该默认防火墙不允许流量进入logtash输入

通过以下命令允许特定端口上的流量:

systemctl disable firewalld systemctl stop firewalld

使用以下命令禁用防火墙或停止服务:

${pwd}

**禁用防火墙可能是一个安全问题,但出于实验目的,您可以尝试一下