首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过配置日志驱动程序将Docker容器日志发送到ELK堆栈-简易方法

问通过配置日志驱动程序将Docker容器日志发送到ELK堆栈-简易方法
EN

Stack Overflow用户
提问于 2017-01-25 08:46:09
回答 1查看 14.6K关注 0票数 16

我通常将应用程序作为码头容器运行,因为它具有很高的灵活性和可用性。有没有办法让容器日志进入我的logstash服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 08:46:09

Docker包含多个日志机制,以帮助您通过日志记录驱动程序从正在运行的容器和服务中获取信息。

每个Docker守护进程都有一个默认的日志驱动程序,除非您将其配置为使用不同的日志驱动程序,否则每个容器都使用该驱动程序。

您可以通过配置Logstash (如下所示)并运行其日志将通过将其默认日志驱动程序更改为syslog来查看其日志的容器来获取容器日志。

代码语言:javascript
复制
#logstash.conf

input {
  tcp {
    port => 5000
  }
}

output {
  stdout {}
}

下面两个命令将在logstash中显示hello-world容器日志。

代码语言:javascript
复制
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-world

Logstash的输出甚至可以通过简单地将输出部分配置为

代码语言:javascript
复制
  elasticsearch {

    hosts => ["<elastic-system-ip>:9200"]

  }

访问https://docs.docker.com/engine/admin/logging/overview/

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41846988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档