天天看點

容器日志實踐

本節是第四部分“架構篇”的第七節,前面幾節我主要為你介紹了 Docker 核心元件和 Plugin,以及監控相關的内容。本節,我來為你介紹 Docker 的日志實踐。

監控有助于我們及時了解線上服務的運作狀況,而日志既可以作為監控的一項“資料源”,又可以作為排查問題的一個關鍵手段,同時日志還可以後續做離線分析等,日志的重要性不言而喻。

對于一些公司而言,無論是否在做容器化的改造,集中式的日志中心已經作為基礎設施提供。

如果現在你還沒有建設集中式的日志中心,并且在做容器化的改造,那麼我建議你嘗試去建設集中式的日志中心。主要考慮如下:

  • 容器生命周期比較短,一旦銷毀後續問題不易排查;
  • 随着規模的擴大,容器的數量也會顯著增加,而其生成的日志将會更加龐大,沒有集中式的日志中心,逐個去檢視容器日志不現實。

在使用 Docker 或者是使用 Kubernetes 等容器編排工具時,在日志方面,我們通常分為兩類:

  • 基礎架構日志
  • 應用程式日志

我将分别從這兩方面為你介紹。當然在介紹它們之前,我們還是需要聊聊對于日志方案的選擇。

日志方案的選擇

在《Plugin 擴充》那一節我便為你介紹了通過

docker info

指令可以看到 Docker 預設支援的日志相關的 Plugin:

Plugins:
 Log: awslogs