docker~service将容器日志输出到fluentd

本文介绍了一种在Docker环境下高效收集应用日志的方法,包括日志从产生到最终被Kibana查询分析的全过程。该方案利用Fluentd作为中间件,对接Elasticsearch存储,确保了日志收集的高可用性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们把微小的服务发布到docker里,然后实现docker service启动它,保证了服务的高可用性,然后把服务产生的日志输出到fluentd,由它进行过滤和转发,存储到elasticsearch里,最后由kibana进行查询与分析,整个过程都是异步进行,不会阻塞主线程,你只需要把日志输出的控制台即可!Console.WriteLine!

.netcore在docker里产生日志的过程如下:

  1. vs,vscode开发程序
  2. 上传到git,svn,tfs
  3. jenkins去获代码,编译,发布
  4. 由sh调用Dockerfile生成镜像
  5. 上传到私有仓库
  6. 下传仓库里的指定镜像
  7. 启动服务docker service,一般会与docker swarm集群一起使用
  8. 项目产生日志,输出到控制台,同时可以保存到本地
  9. docker service的--log参数把它获取,并发到fluentd服务端
  10. fluentd把它存储到elasticsearch里
  11. kibana建立索引,查询与分析日志

我们在生产docker服务时需要可以使用下面代码实现上面的日志输出的过程

   docker service create \
    --name "$SERVICE_NAME" \
    --hostname "{{.Node.ID}}-{{.Service.Name}}" \   #配置的是容器的主机名称
    --network pilipa-network \
    --network pilipa-mysql-network \
    --network pilipa-elk-network \
    --mode global \
    --log-driver=fluentd \
    --log-opt=fluentd-address=192.168.1.65:24224 \
    --log-opt=tag=lind.{{.Name}} 

通过本讲内容我们知道了,如何在docker service上将控制台日志输出到fluentd上,这个在日志收集场合下是非常必要的!

感谢各位的阅读!

 

转载于:https://www.cnblogs.com/lori/p/7766997.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值