我们把微小的服务发布到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: \
--log-opt=tag=lind.{{.Name}}

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

感谢各位的阅读!

docker~service将容器日志输出到fluentd的更多相关文章

  1. docker logs 查看容器日志操作

    查看日志 官方文档:https://docs.docker.com/engine/reference/commandline/logs/ # 查看指定数量的实时日志 # docker logs -tf ...

  2. docker之容器日志输出与系统时间相差8小时解决办法

    参考:https://blog.csdn.net/eumenides_/article/details/94719944   https://muguang.me/it/2658.html 使用doc ...

  3. 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

    如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...

  4. docker 容器日志集中 ELK + filebeat

    docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...

  5. Docker 容器日志分析

    查看容器日志 先使用  docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器.如果没有异常,会得到容器ID如  d2408 ...

  6. centos7下安装docker(18.3docker日志---logging driver---fluentd)

    前面我们学的ELK中用filebeat收集docker容器日志,利用的是dcoker默认的logging driver json-file,下面我们用fluentd来收集容器日志 Fluentd是一个 ...

  7. docker logs 查看实时日志

    docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1 --since : 此参数指定了输出日志开始日期,即只输出指定 ...

  8. 用elk+filebeat监控容器日志

    elk  为 elasticsearch(查询搜索引擎),logstash(对日志进行分析和过滤,然后转发给elasticsearch),kibana(一个web图形界面用于可视化elasticsea ...

  9. Docker service update更新不成功的问题

    一.基本信息 1.Docker版本 [root@ip---- ~]# docker --version Docker version , build a872fc2f86   2.系统版本 [root ...

随机推荐

  1. java获取Excel的导入

    先准备好这2个架包 import java.io.*; import org.apache.commons.io.FileUtils; import org.apache.poi.hssf.userm ...

  2. ios MVC笔记

    MVC:Model 模型 View 视图 Controller  控制器 关系图:

  3. 国内物联网平台(1):百度物接入IoT Hub

    国内物联网平台(1) ——百度物接入IoT Hub 马智 物接入IoT Hub - 架构 全托管的云服务,帮助建立设备与云端之间安全可靠的双向连接 支撑海量设备的数据收集.监控.故障预测等各种物联网场 ...

  4. LAMP实战之构建博客网站

    1.首先检查LAMP环境 [root@cairui htdocs]# ps -ef | grep httpd php Mar03 ? :: /opt/apache2.2.34/bin/httpd -k ...

  5. P3978 [TJOI2015]概率论

    \(\color{#0066ff}{ 题目描述 }\) 为了提高智商,ZJY开始学习概率论.有一天,她想到了这样一个问题:对于一棵随机生成的n个结点的有根二叉树(所有互相不同构的形态等概率出现),它的 ...

  6. CF1101E Polycarp's New Job

    #include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> #i ...

  7. Django---队列

    1.队列介绍 任务队列用作跨线程或机器分配工作的机制. 任务队列的输入是称为任务的工作单元. 专用工作进程不断监视任务队列以执行新工作. Celery通过消息进行通信,通常使用经纪人(brokers) ...

  8. springcloud系列11 整合微服务网关zuul

    这个模块是一个独立的模块所以需要建立一个模块, 首先引入: 依赖pom.xml <?xml version="1.0" encoding="UTF-8"? ...

  9. react 中文文档案例七 (温度计)

    const scaleNames = { c: 'Celsius', f: 'Fahrenheit' }; function toCelsius(fahrenheit) { ) * / ; } fun ...

  10. django 母版与继承

    在子页面的页面最上方使用下面的语法来继承母版. {% extends 'layouts.html' %} 块: 通过在母版中使用{% block xxx %}来定义块.在子页面中通过定义母版中的blo ...