天天看点

容器日志实践

本节是第四部分“架构篇”的第七节,前面几节我主要为你介绍了 Docker 核心组件和 Plugin,以及监控相关的内容。本节,我来为你介绍 Docker 的日志实践。

监控有助于我们及时了解线上服务的运行状况,而日志既可以作为监控的一项“数据源”,又可以作为排查问题的一个关键手段,同时日志还可以后续做离线分析等,日志的重要性不言而喻。

对于一些公司而言,无论是否在做容器化的改造,集中式的日志中心已经作为基础设施提供。

如果现在你还没有建设集中式的日志中心,并且在做容器化的改造,那么我建议你尝试去建设集中式的日志中心。主要考虑如下:

  • 容器生命周期比较短,一旦销毁后续问题不易排查;
  • 随着规模的扩大,容器的数量也会显著增加,而其生成的日志将会更加庞大,没有集中式的日志中心,逐个去查看容器日志不现实。

在使用 Docker 或者是使用 Kubernetes 等容器编排工具时,在日志方面,我们通常分为两类:

  • 基础架构日志
  • 应用程序日志

我将分别从这两方面为你介绍。当然在介绍它们之前,我们还是需要聊聊对于日志方案的选择。

日志方案的选择

在《Plugin 扩展》那一节我便为你介绍了通过

docker info

命令可以看到 Docker 默认支持的日志相关的 Plugin:

Plugins:
 Log: awslogs