【问题标题】:Fluentd log driver tag setting does not workFluentd 日志驱动程序标记设置不起作用
【发布时间】:2020-03-18 14:48:15
【问题描述】:

我正在使用 EFK 堆栈来构建监控系统。根据Docker Logging Driver,我可以添加自定义标签来丰富容器日志的元数据。

这是我的 docker-compose 文件:

version: "3.3"

services:
  watcher:
    image: image_name
    deploy:
      replicas: 1
      placement:
        constraints: [node.role == manager]
    logging:
      driver: fluentd
      options:
        tag: "docker/{{.ImageName}}"
    networks:
      - elastic

这是我的 Fluent-bit 配置:

[SERVICE]
    Flush        5
    Daemon       Off
    Log_Level    debug
    Parsers_File /conf/parsers.conf

[INPUT]
    Name Forward
    Port 24224

[OUTPUT]
    Name  es
    Match *
    Host  elasticsearch
    Port  9200
    Index fluent_bit
    Type  json

如您所见,我已经将tag: "docker/{{.ImageName}}" 添加到 docker-compose 文件中。并且容器也被重新启动。我在 Kibana 中得到的日志应该包含这样的标签。但这是我得到的日志:

@timestamp:Mar 18, 2020 @ 15:35:23.000 container_id:06dde90cb998c78962e321c8396c1f992119450a6868eecb7fa14c5b348670b1 container_name:/test_container source:stderr log:2020-03-18 14:35:23 - INFO - module: __main__ - action: Watcher is started - Watcher Start _id:RmcS7nABi-qh6YwdCII3 _type:json _index:fluent_bit _score: -

元数据中仍然只有container namecontainer id,仅此而已。谁能告诉我这可能是什么原因?

【问题讨论】:

    标签: docker fluentd


    【解决方案1】:

    我刚刚发现问题出在哪里。

    当您将tag 选项添加到日志驱动程序时,它不会自动包含在 fluent-bit/fluentd 输出中。 Include_tag_key 也应在输出部分设置为 true

    [OUTPUT]
        Name  es
        Match *
        Host  elasticsearch
        Port  9200
        Index fluent_bit
        Type  json
        Include_Tag_Key true
    

    【讨论】:

      猜你喜欢
      • 2015-12-17
      • 2019-10-29
      • 2022-08-12
      • 2017-12-21
      • 2019-09-06
      • 2018-06-16
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      相关资源
      最近更新 更多