【发布时间】: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