Docker的JSON日志驱动程序不记录容器名称/允许添加额外字段

时间:2016-01-28 16:57:28

标签: logging docker-compose

我正在尝试向Docker容器JSON日志添加额外的字段。我已阅读有关配置日志记录驱动程序的this页面,但文档的JSON部分不允许任何标记或允许打开额外字段。

对于上下文,我有一个容器用于我的数据库,webapp和ELK堆栈。我有一个filebeat容器从位于/ var / lib / docker / containers /的Docker容器日志中读取日志。 Filebeat然后将其发送到ELK堆栈。

我尝试/考虑的事情:

  • 由于容器ID动态变化,因此硬编码不是一种选择。
  • 据我所知,没有硬编码容器或服务名称的地方。
  • 我考虑过使用其他可用的日志驱动程序,包括流利的,但它们不是一个可行的选择。如果Filebeat关闭,那么其他一切都会关闭。

截至目前,我只是摆弄日志驱动程序标签选项,看看是否有任何作用。

2 个答案:

答案 0 :(得分:0)

要使用docker-compose向日志记录输出添加其他字段,请在docker-compose.yml中执行以下操作:

version: '2.1'
services:
  web:
    image: hello-world/web:latest
    container_name: api
    ports:
      - "80:8080"
    logging:
      driver: "json-file"
      options:
        labels: "production_status"
        env: "os"
    labels:
      production_status: "testing"
    environment:
      - os=ubuntu

您需要指定应在日志中显示的标签/ env,并在服务上设置相应的标签/ env

答案 1 :(得分:0)

@smythie没有做任何事情来实际更改日志文件的名称。他们仍然坐在release