Google Cloud ロギング・ドライバ¶
Google Cloud ロギング・ドライバはコンテナのログを Google Cloud Logging に送ります。
使い方¶
デフォルトのロギング・ドライバを設定するには、Docker デーモンに --log-driver
オプションを使います。
docker daemon --log-driver=gcplogs
ロギング・ドライバをコンテナに指定するには docker run
のオプションで --log-driver
を指定します。
docker run --log-driver=gcplogs ...
このログ・ドライバを実装すると、 docker logs
コマンドでログを参照できません。
Docker が Google Cloud プロジェクトを検出すると、 インスタンス・メタデータ・サービス 上で設定を見つけられるようになります。あるいは、ユーザがプロジェクトのログを記録するには --gcp-project
ログ・オプションを指定し、Docker が Google Application Default Credential から証明書を得る必要があります。 --gcp-project はメタデータ・サーバによって発見される情報よりも優先します。そのため、Google Cloud Project で動いている Docker デーモンのログは、 --gcp-project
を使って異なったプロジェクトに出力できます。
gcplogs オプション¶
Google Cloud ロギング・ドライバのオプションは、--log-opt 名前=値
の形式で指定できます。
オプション | 必須 | 説明 |
---|---|---|
gcp-project |
オプション | どの GCP プロジェクトにログを記録するか指定。デフォルトは GCE メタデータ・サービスを経由して確認された値。 |
gcp-log-cmd |
オプション | コンテナ起動時、どこにログ記録コマンドがあるか指定。デフォルトは false 。 |
lables |
オプション | ラベルをコンテナに指定する場合、メッセージを含むラベルのキー一覧をカンマ区切りで。 |
env |
オプション | 環境変数をコンテナに指定する場合、メッセージに含める環境変数があれば、キーの一覧をカンマ区切りで指定。 |
label
と env
キーの間で衝突があれば、 env
が優先されます。いずれのオプションもロギング・メッセージの追加フィールドの属性に追加します。
以下は、 GCE メタデータ・サーバで発見されたデフォルトのログ送信先を使うために必要なオプション指定の例です。
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 logging driver
- https://docs.docker.com/engine/admin/logging/gcplogs/