首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在群模式下通过流畅的方式采集日志

如何在群模式下通过流畅的方式采集日志
EN

Stack Overflow用户
提问于 2018-05-10 18:25:55
回答 2查看 3.1K关注 0票数 1

我尝试以群集模式运行服务(mongo),并通过fluentd将日志收集到elasticsearch。成功了(!)通过以下方式:

代码语言:javascript
复制
docker-compose up

但是当我通过堆栈进行部署时,服务就启动了,但是日志没有收集,我不知道如何知道原因是什么。

代码语言:javascript
复制
docker stack deploy -c docker-compose.yml env_staging

docker-compose.yml:

代码语言:javascript
复制
version: "3"
services:
    mongo:
        image: mongo:3.6.3
        depends_on:
         - fluentd
        command: mongod
        networks:
         - webnet
        logging:
          driver: "fluentd"
          options:
            fluentd-address: localhost:24224
            tag: mongo
    fluentd:
        image: zella/fluentd-es
        depends_on:
         - elasticsearch
        ports:
         - 24224:24224
         - 24224:24224/udp
        networks:
         - webnet
    elasticsearch:
        image: elasticsearch
        ports:
         - 9200:9200
        networks:
         - webnet
    kibana:
        image: kibana
        depends_on:
         - elasticsearch
        ports:
         - 5601:5601
        networks:
         - webnet
networks:
     webnet:

upd

我删除了fluentd-address: localhost:24224并解决了问题。但我不明白什么是“本地人”?为什么我们不能设置“流利”主机。如果有人解释什么是fluentd-address,我会接受答案。

EN

回答 2

Stack Overflow用户

发布于 2018-05-13 19:16:27

fluentd-address是fluentd守护进程驻留的地址(默认是localhost,在本例中不需要指定它)。

在您的示例中(使用堆栈),您的流畅守护进程将在一个节点上运行,您应该使用服务的名称来访问该服务(在您的例子中,fluentd,您试过吗?)

记住将fluentd-async-connect: "true"添加到您的选项中

参考地址:https://docs.docker.com/config/containers/logging/fluentd/#usage

票数 0
EN

Stack Overflow用户

发布于 2019-02-11 10:16:20

你不需要指定流畅地址。当您将日志驱动程序设置为fluentd时,sends会自动发现最近的fluentd实例,并将所需容器的所有stdout发送到那里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50279274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档