gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 07:51:26 25 4
gpt4 key购买 nike

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

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

我尝试过/考虑过的事情:

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

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

最佳答案

要使用 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

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

关于logging - Docker 的 JSON 日志驱动程序不记录容器名称/允许添加额外的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com