天天看點

容器服務中如何收集日志到阿裡雲日志服務

容器服務中目前提供了日志內建的功能,使用該功能,可以把容器中的日志(檔案方式或标準輸出方式)自動收集到阿裡雲的日志服務中。具體使用方式如下:

開啟日志服務

容器服務中如何收集日志到阿裡雲日志服務

确認已開通通路控制服務和阿裡雲日志服務(該步是為了確定容器服務有權限去完成在阿裡雲日志服務中建立project等操作)

容器服務中如何收集日志到阿裡雲日志服務

點選确定,日志服務就開通成功了,可以登入到日志服務的控制台(https://sls.console.aliyun.com/#/) 檢視有一個project自動幫你建立完成了,名稱是<code>acslog-project-叢集id</code>

容器服務中如何收集日志到阿裡雲日志服務

接下來就是建立我們自己的應用了,要讓容器服務可以收集我們應用的日志,關鍵就在這一步了。容器服務通過解析compose檔案的label,擷取使用者日志輸出類型(stdout方式還是檔案方式)、日志服務中logstore的名稱。是以我們首先需要了解這個label的定義:

<code>aliyun.log_store_{name}: {logpath}</code>

其中name表示日志服務中logstore的名字,實際建立的logstore名字是acslog-${app}-${name},app是容器服務中的應用名。logpath是容器中日志的路徑,<code>stdout</code>是一個特殊的logpath,表示标準輸出。

以我的一個wordpress應用為例,因為wordpress鏡像預設是把日志輸出到stdout,是以compose檔案的寫法如下

容器服務中如何收集日志到阿裡雲日志服務

然後建立應用,容器服務就開始收集日志啦

當然,如果你把日志打到一個檔案裡面,隻需要把<code>logpath</code>寫上你日志檔案的路徑就可以了,其他的都是一樣的

進到wordpress容器的詳細頁面,可以看到有一個日志服務,點選詳情,就可以跳轉到阿裡雲日志服務的查詢頁面,看到wordpress輸出的日志都收集到啦,真的很友善

容器服務中如何收集日志到阿裡雲日志服務
容器服務中如何收集日志到阿裡雲日志服務