用docker配置fluentbit

时间:2019-03-19 00:52:48

标签: docker docker-compose fluent-bit

我正在尝试配置docker-compose文件以使用流利的位。在我的docker-compose文件中,我对fluentbit进行了以下配置

fluentbit:
    image: fluent/fluent-bit:1.0.4
    command: /fluent-bit/bin/fluent-bit -c /fluent-bit/etc/fluent-bit.conf
    volumes:
      - ./docker_to_es.conf:/fluent-bit/etc/fluent-bit.conf
    networks:
      - monitor

我使用docker-compose up运行此程序,一切看起来都很好。要进行测试,请执行以下操作:

docker run --network=monitor --log-driver=fluentd --log-opt fluentd-address=192.168.XX.XX:24224 -t ubuntu echo "test logging"

测试成功,但是我必须查找容器的流利地址。在docker-compose文件中,我将无法以这种方式输入地址。

docker compose文件中,我添加了另一项服务。

my-service
  logging:
    driver: fluentd
    options:
      fluentd-address: fluentbit:24224
  networks:
    - monitor

我在这里将fluentbit服务的名称用作hostname。但这是行不通的。

有人知道我如何获得将日志推送到fluentbit的服务吗?

fluent_bit.conf文件

[SERVICE]
    Flush        5
    Daemon       Off
    Log_Level    debug

[INPUT]
    Name      forward
    Listen    fluentbit
    Port      24224

[OUTPUT]
    Name  es
    Match *
    Host  elasticsearch
    Port  9200
    Index fluentbit
    Type  docker

1 个答案:

答案 0 :(得分:0)

Docker日志记录在主机网络中工作,但是您需要在内部监视器网络中运行fluentbit ...您需要将端口从fluentbit转发到主机,并将日志记录驱动程序配置为localhost,或在net_mode:host中运行fluentbit