容器日志和监控

栏目: 编程工具 · 发布时间: 5年前

内容简介:对于一个容器来说,当应用把日志输出到 stdout 和 stderr 之后,容器项目在默认情况下就会把这些日志输出到宿主机上的一个 JSON 文件里对于应用的标准输出(stdout)日志,Docker Daemon 在运行这个容器时就会创建一个协程(goroutine),负责标准输出日志。由于此 goroutine 绑定了整个容器内所有进程的标准输出文件描述符,因此容器内应用的所有标准输出日志,都会被 goroutine 接收。goroutine 接收到容器的标准输出内容时,立即将这部分内容,写入与此容器

简介(持续更新)

docker 日志

对于一个容器来说,当应用把日志输出到 stdout 和 stderr 之后,容器项目在默认情况下就会把这些日志输出到宿主机上的一个 JSON 文件里

「Allen 谈 Docker 系列」之 docker logs 实现剖析

对于应用的标准输出(stdout)日志,Docker Daemon 在运行这个容器时就会创建一个协程(goroutine),负责标准输出日志。由于此 goroutine 绑定了整个容器内所有进程的标准输出文件描述符,因此容器内应用的所有标准输出日志,都会被 goroutine 接收。goroutine 接收到容器的标准输出内容时,立即将这部分内容,写入与此容器—对应的日志文件中,日志文件位于 /var/lib/docker/containers/<container_id> ,文件名为 -json.log。

容器日志和监控

Docker 则通过 docker logs 命令向用户提供日志接口。 docker logs 实现原理的本质均基于与容器一一对应的 -json.log,`kubectl logs`类似

从这可以看到几个问题

  1. app 同时输出文件日志和stdout 是一种浪费
  2. stdout 日志在 /var/lib/docker/containers/<container_id> 下可以被清理, 也可以配置 docker daemon 设置 log-driver 和 log-opts 参数

    "log-driver":"json-file",
       	 "log-opts": {"max-size":"500m", "max-file":"3"}
  3. 将日志输出到stdout 貌似是容器环境下的方案,这与物理机时代非常不同
  4. 你如何限定开发小伙伴不向文件写日志? 限定写文件权限

kubernetes 日志

Kubernetes 里面对容器日志的处理方式,都叫作 cluster-level-logging,即:这个日志处理系统,与容器、Pod 以及 Node 的生命周期都是完全无关的。这种设计当然是为了保证,无论是容器挂了、Pod 被删除,甚至节点宕机的时候,应用的日志依然可以被正常获取到。

  1. 第一种,在 Node 上部署 logging agent,将日志文件转发到后端存储里保存起来。
  2. 当容器的日志只能输出到某些文件里的时候,我们可以通过一个 sidecar 容器把这些日志文件重新输出到 sidecar的 stdout 和 stderr 上,这样就能够继续使用第一种方案了。
  3. 通过一个 sidecar 容器,直接把应用的日志文件发送到远程存储里面去

一些观点

猪八戒网DevOps容器云与流水线

容器日志和监控

比较常见的有这么几种,可能也有项目日志直接写入ES集群,不需要容器内收集的。

作者推荐使用第三种收集方案,以DaemonSet的方案部署日志收集组件,做到业务容器的完全无侵入,节省服务器资源,不必为每个业务容器都启动一个日志收集组件。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

点石成金

点石成金

[美] 史蒂夫·克鲁克 / De Dream' / 机械工业出版社 / 2006-8 / 39.00元

可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模式、为浏览进行设计、导航设计、主页布局、可用性测试等方面提出了许多独特的观点,并给出了大量简单、易行的可用性设计的建议。这本书短小精悍,语言轻松诙谐,书中穿插大量色彩丰富的屏幕截图、趣味丛生的卡通插图以及包含大量信息的图表,使枯燥的设计原理变得平易近人。 此书适合从事W......一起来看看 《点石成金》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具