流利的日志驱动程序标记设置不起作用

时间:2020-03-18 14:48:15

标签: docker fluentd

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

这是我的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位配置:

[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,仅此而已。有人可以告诉我这是什么原因吗?

1 个答案:

答案 0 :(得分:1)

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

在日志驱动程序中添加tag选项时,该选项不会自动包含在流利的位/流利的输出中。在输出部分中,Include_tag_key也应设置为true

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