我通常将应用程序作为码头容器运行,因为它具有很高的灵活性和可用性。有没有办法让容器日志进入我的logstash服务器。
发布于 2017-01-25 08:46:09
Docker包含多个日志机制,以帮助您通过日志记录驱动程序从正在运行的容器和服务中获取信息。
每个Docker守护进程都有一个默认的日志驱动程序,除非您将其配置为使用不同的日志驱动程序,否则每个容器都使用该驱动程序。
您可以通过配置Logstash (如下所示)并运行其日志将通过将其默认日志驱动程序更改为syslog来查看其日志的容器来获取容器日志。
#logstash.conf
input {
tcp {
port => 5000
}
}
output {
stdout {}
}下面两个命令将在logstash中显示hello-world容器日志。
docker run -it --rm --name=logstash -p 5000:5000 -v /path/to/logstash.conf:/usr/share/logstash/config/logstash.yml docker.elastic.co/logstash/logstash:7.14.0
docker run --log-driver=syslog --log-opt syslog-address=tcp://<logstash-system-ip>:5000 hello-worldLogstash的输出甚至可以通过简单地将输出部分配置为
elasticsearch {
hosts => ["<elastic-system-ip>:9200"]
}https://stackoverflow.com/questions/41846988
复制相似问题