高效的監控和日誌管理對保持生產系統持續穩定地執行以及排查問題至關重要。
在微服務架構中,由於容器的數量眾多以及快速變化的特性使得記錄日誌和監控變得越來越重要。考慮到容器短暫和不固定的生命週期,當我們需要 debug 問題時有些容器可能已經不存在了。因此,一套集中式的日誌管理系統是生產環境中不可或缺的組成部分。
本章我們將討論監控容器的各種可用技術和方案,首先會介紹 docker 自帶的 logs 子命令,然後討論 docker 的 logging driver,接下來通過實踐學習幾個已經廣泛應用的日誌管理方案:elk、fluentd 和 graylog。
docker logs
我們首先來看一看預設配置下 docker 的日誌功能。
舉個例子,用下面的命令執行 httpd 容器:
docker run -p 80:80 httpd
因為我們在啟動日誌的時候沒有用-d
這種情況下如果要檢視容器的日誌,有兩種方法:
attach 到該容器。
attach 到了 httpd 容器,但並沒有任何輸出,這是因為當前沒有新的日誌資訊。
這時,attach 的終端就會列印出新的日誌。
attach 的方法在實際使用中不太方便,因為:
只能看到 attach 之後的日誌,以前的日誌不可見。
退出 attach 狀態比較麻煩(ctrl+p 然後 ctrl+q 組合鍵),一不小心很容器將容器殺掉(比如按下 ctrl+c)。
docker logs
下一節我們討論 docker 如何支援多種日誌方案。
Docker資料管理
資料卷是一個可提供一個或多個容器使用的特殊目錄,其繞過ufs,可以提供很多有用的特性 資料卷的使用,類似於linux下對目錄或檔案進行mou...
docker程序管理
docker程序管理 寫的太好!!!!示例很清楚,很全面!! 我做個summary吧。 docker程序管理主要講了這麼幾件事 1,docker的程序管理與linux宿主機是差不多的,所以先講解了linux的程序管理 2,docker top container id檢視得知docker都有一個父進...
docker映象管理
1 docker映象 什麼是映象? 簡單說,docker映象是一個不包含linux核心而又精簡的linux作業系統。 2 映象與容器的關係 映象不是一個單一的檔案,而是有多層構成。我們可以通過docker history 檢視映象中各層內容及大小,每層對應著dockerfile中的一條指令。dock...