我正在尝试配置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
答案 0 :(得分:0)
Docker日志记录在主机网络中工作,但是您需要在内部监视器网络中运行fluentbit ...您需要将端口从fluentbit转发到主机,并将日志记录驱动程序配置为localhost,或在net_mode:host中运行fluentbit