我正在尝试将 Linux 日志聚合rsyslog
到在 EKS 中运行的 Logstash/ElasticSearch 中。
filebeat
已在 EKS 中运行,以聚合 Kubernetes 容器日志。
我已配置rsyslog
客户端:
#/etc/rsyslog.d/50-default.conf
*.*;syslog;auth,authpriv.none /var/log/syslog
# /etc/rsyslog.d/49-ship-syslog.conf
*.*;syslog;auth,authpriv.none action(
type="omfwd"
Target="logstash.dev.domain.com"
Port="5000"
Protocol="tcp"
)
与logstash
:
input {
tcp {
port => 5000
type => syslog
}
}
filter {
grok {
match => {
"message" => "%{SYSLOGLINE}"
}
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
我能做到:
$nc -vz -u logstash.dev.domain.com 5000
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src 10.24.11.90 port 58291
dst 47.176.158.158 port 5000
rank info not available
Connection to logstash.dev.domain.com port 5000 [udp/commplex-main] succeeded!
也可以发送测试消息:
echo -n "test message" | nc -4u -w1 logstash.dev.domain.com 5000
tcpdump port 5000
但在 logstash 或 Kibana UI 中看不到任何Logstash
内容收到的事件 0
但是当我登录到logstash
容器并输入echo -n "test message" | nc -4u -w1 logstash.dev.domain.com 5000
时,我看到了此消息tcpdump port 5000
。
我在这里遗漏了什么?
版本 :
logstash:7.2.1
rsyslog 3.5