【问题标题】:Logstash not listening on UDP port 5140Logstash 未侦听 UDP 端口 5140
【发布时间】:2017-09-23 04:14:15
【问题描述】:

我正在运行一个 logstash shipper,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。

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

_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端口都无济于事。

【问题讨论】:

  • bump.. 我有完全相同的问题.. 但还没有找到解决方案
  • 我将所有内容复制到另一台机器上,它运行良好。我的结论是它与操作系统有关
  • telnet 不在 udp 协议中,而是在 tcp 协议中时,我看不到您的 telnet 如何确认端口已打开。

标签: centos udp logstash listen


【解决方案1】:

您必须在防火墙中允许端口,因为 centos 提供了默认防火墙,不允许流量进入 logstash 输入

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

firewall-cmd --zone=public --add-port=2888/tcp

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

systemctl disable firewalld
systemctl stop firewalld

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

【讨论】:

    猜你喜欢
    • 2013-10-13
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多