Google Cloud 日誌驅動程式
Google Cloud 日誌驅動程式將容器日誌傳送到 Google Cloud 日誌 日誌。
用法
要使用 gcplogs
驅動程式作為預設日誌驅動程式,請在 daemon.json
檔案中將 log-driver
和 log-opt
鍵設定為相應的值。該檔案位於 Linux 主機上的 /etc/docker/
或 Windows Server 上的 C:\ProgramData\docker\config\daemon.json
中。有關使用 daemon.json
配置 Docker 的更多資訊,請參閱 daemon.json。
以下示例將日誌驅動程式設定為 gcplogs
並設定 gcp-meta-name
選項。
{
"log-driver": "gcplogs",
"log-opts": {
"gcp-meta-name": "example-instance-12345"
}
}
重新啟動 Docker 以使更改生效。
您可以使用 --log-driver
選項為 docker run
指定特定容器的日誌驅動程式
$ docker run --log-driver=gcplogs ...
如果 Docker 檢測到它在 Google Cloud 專案中執行,它會從 例項元資料服務 中發現配置。否則,使用者必須使用 --gcp-project
日誌選項指定要記錄到的專案,Docker 會嘗試從 Google 應用程式預設憑據 中獲取憑據。--gcp-project
標誌優先於從元資料伺服器發現的資訊,因此在 Google Cloud 專案中執行的 Docker 守護程式可以使用 --gcp-project
覆蓋到其他專案進行日誌記錄。
Docker 從 Google Cloud 元資料伺服器獲取區域、例項名稱和例項 ID 的值。如果元資料伺服器不可用,則可以透過選項提供這些值。它們不會覆蓋來自元資料伺服器的值。
gcplogs 選項
您可以使用 --log-opt NAME=VALUE
標誌來指定這些額外的 Google Cloud 日誌驅動程式選項
選項 | 必需 | 描述 |
---|---|---|
gcp-project | 可選 | 要記錄到的 Google Cloud 專案。預設為從 Google Cloud 元資料伺服器中發現該值。 |
gcp-log-cmd | 可選 | 是否記錄容器啟動的命令。預設為 false。 |
labels | 可選 | 標籤鍵的逗號分隔列表,如果為容器指定了這些標籤,則應將其包含在訊息中。 |
labels-regex | 可選 | 類似於併兼容 labels 。一個匹配與日誌相關的標籤的正則表示式。用於高階 日誌標籤選項。 |
env | 可選 | 環境變數鍵的逗號分隔列表,如果為容器指定了這些變數,則應將其包含在訊息中。 |
env-regex | 可選 | 類似於併兼容 env 。一個匹配與日誌相關的環境變數的正則表示式。用於高階 日誌標籤選項。 |
gcp-meta-zone | 可選 | 例項的區域名稱。 |
gcp-meta-name | 可選 | 例項名稱。 |
gcp-meta-id | 可選 | 例項 ID。 |
如果 label
和 env
鍵之間存在衝突,則 env
的值優先。這兩個選項都會在日誌訊息的屬性中新增其他欄位。
以下是如何記錄到預設日誌目標的日誌選項的示例,該目標透過查詢 Google Cloud 元資料伺服器來發現。
$ docker run \
--log-driver=gcplogs \
--log-opt labels=location \
--log-opt env=TEST \
--log-opt gcp-log-cmd=true \
--env "TEST=false" \
--label location=west \
your/application
此配置還指示驅動程式在有效負載中包含標籤 location
、環境變數 ENV
以及用於啟動容器的命令。
以下示例顯示了在 Google Cloud 之外執行的日誌選項。GOOGLE_APPLICATION_CREDENTIALS
環境變數必須為守護程式設定,例如透過 systemd
[Service]
Environment="GOOGLE_APPLICATION_CREDENTIALS=uQWVCPkMTI34bpssr1HI"
$ docker run \
--log-driver=gcplogs \
--log-opt gcp-project=test-project \
--log-opt gcp-meta-zone=west1 \
--log-opt gcp-meta-name=`hostname` \
your/application