我部署了ELK堆栈和另一个分离的spring boot app的docker容器。
在java应用程序中,我使用LogstashSocketAppender将日志发送到logstash。
任何人都可以帮我搞清楚吗?
logstash配置的一部分:
input {
udp {
port => 5000
type => syslog
codec => json
}
}
dcoker port:
logstash$ 5000/udp -> 0.0.0.0:5000
springboot$ 8088/tcp -> 0.0.0.0:32981
elasticsearch$ 9200/tcp -> 0.0.0.0:9200 9300/tcp -> 0.0.0.0:9300
kibana$ 5601/tcp -> 0.0.0.0:5601
答案 0 :(得分:2)
您可以通过如下配置Logstash并运行要查看其日志的容器来获取容器日志,方法是将其默认日志驱动程序更改为 syslog 。
#logstash.conf
input {
tcp {
port => 5000
}
}
output {
stdout {}
}
以下容器的日志将到达logstash,并且可以通过 stdout 查看。
docker run --log-driver=syslog --log-opt syslog-address=tcp://<logstash-system-ip>:5000 <image>