本节是第四部分“架构篇”的第七节,前面几节我主要为你介绍了 Docker 核心组件和 Plugin,以及监控相关的内容。本节,我来为你介绍 Docker 的日志实践。
监控有助于我们及时了解线上服务的运行状况,而日志既可以作为监控的一项“数据源”,又可以作为排查问题的一个关键手段,同时日志还可以后续做离线分析等,日志的重要性不言而喻。
对于一些公司而言,无论是否在做容器化的改造,集中式的日志中心已经作为基础设施提供。
如果现在你还没有建设集中式的日志中心,并且在做容器化的改造,那么我建议你尝试去建设集中式的日志中心。主要考虑如下:
- 容器生命周期比较短,一旦销毁后续问题不易排查;
- 随着规模的扩大,容器的数量也会显著增加,而其生成的日志将会更加庞大,没有集中式的日志中心,逐个去查看容器日志不现实。
在使用 Docker 或者是使用 Kubernetes 等容器编排工具时,在日志方面,我们通常分为两类:
- 基础架构日志
- 应用程序日志
我将分别从这两方面为你介绍。当然在介绍它们之前,我们还是需要聊聊对于日志方案的选择。
日志方案的选择
在