GKE ログの表示

このページでは、Cloud Logging で Google Kubernetes Engine(GKE)を検索して使用する方法の概要を説明します。

ログへのアクセス

Logging で GKE ログにアクセスするには、次に挙げる複数の方法があります。

  • Cloud Logging コンソール: Cloud Logging コンソールからログを直接表示できます。ロギング フィルタを使用して、クラスタ、ノード、名前空間、Pod、コンテナログなどの Kubernetes リソースを選択します。使用を開始するにあたり、Kubernetes 関連のクエリのサンプルもご覧ください。

  • GKE コンソール: Google Cloud Console のGoogle Kubernetes Engine セクションで、[ワークロード] に続いて、[コンテナ] または [監査ログ] リンクをクリックします。

  • Cloud Monitoring Console: Cloud Monitoring ワークスペースを有効にしている場合は、Cloud Monitoring Console の [Kubernetes Engine] セクションで、クラスタ、ノード、ポッドコンテナを使用してログを表示します。

  • gcloud コマンドライン ツール: gcloud logging readコマンドを使用して、適切なクラスタ、ノード、ポッド、コンテナのログを選択します。

カスタムログ集計、ログ分析、サードパーティ システムとの統合を行う場合は、ロギングシンク機能を使用して BigQuery、Cloud Storage、Pub/Sub にログをエクスポートすることも可能です。

ログについて

Cloud Logging のログはログエントリを集めたもので、各ログエントリは特定の種類のロギング リソースに適用されます。

リソースタイプ

以下は、GKE クラスタに固有のリソースタイプです。

リソースの種類 表示名
k8s_cluster または gke_cluster(旧) Kubernetes クラスタのログ
k8s_node または gke_nodepool(旧) GKE ノードプールのログ
k8s_pod GKE Pod のログ
k8s_container または container(旧) GKE コンテナのログ

GKE がクラスタのログを書き込むと、各ログエントリにはリソースタイプが入ります。ログが出力される場所を知っていれば、必要なときにログを簡単に見つけることができます。

システムログ

このログには、管理アクティビティ ログ、データアクセス ログ、イベントログなど、クラスタの監査ログが含まれます。

システムログで取得されるリソースタイプは、次のとおりです。

  • k8s_cluster または gke_cluster(旧)を含むクラスタログ

  • k8s_node または gke_nodepool(旧)を含むノードログ

  • k8s_podを含む Pod

  • k8s_container または container(旧)を含むシステムアプリ

システム監査ログは Cloud Logging に次の名前で表示されます。

  • projects/[YOUR_PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access – データアクセス ログ

  • projects/[YOUR_PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity – 管理アクティビティ ログ

  • projects/[YOUR_PROJECT_ID]/logs/events – イベントログ

Kubernetes クラスタに適用されるログエントリと GKE クラスタ オペレーションのリソースタイプに関する詳細は、監査ロギング ドキュメントをご覧ください。

kube-system のログなど、追加のシステムログもあります。その詳細は、アプリケーション ログの収集の制御 で説明されています。

アプリケーション ログ

Kubernetes コンテナは、STDOUTSTDERR に書き込まれたワークロードのログを収集します。k8s_container または gke_cluster リソースタイプを使用して、ワークロード アプリケーション ログを検索できます。ログは次の名前で Logging に表示されます。

  • projects/[YOUR_PROJECT_ID]/logs/stderr – 標準エラーに書き込まれたログ

  • projects/[YOUR_PROJECT_ID]/logs/stdout – 標準出力に書き込まれたログ

ログビューアでログを検索する

ログビューアには現在、ログビューア(プレビュー版)ログビューア(従来)の 2 つのバージョンがあります。

ログビューア(従来)

従来バージョンのログビューアを使用する場合は、プルダウンから Kubernetes リソースタイプと検索で使用する対応する値が選択できます。たとえば、GKE クラスタで Kubernetes Engine オペレーションを使用している場合は、Kubernetes クラスタの [リソース] タイプを選択し、続いて [location] と [cluster_name] を選択できます。[ログ] 名のプルダウンでアクティビティ ログを選択すると、検索結果を絞り込むことができます。

Logging のドキュメントで、ログビューア(従来)の詳細を確認できます。

ログビューア(プレビュー版)

[クエリビルダー] では、プルダウンからフィールドを選択するか、クエリ パラメータを手動で追加することでクエリを作成できます。たとえば、GKE クラスタでKubernetes Engine オペレーションを使用している場合は、Kubernetes クラスタの [リソース] タイプを選択または検索し、[location] と [cluster_name] を選択します。その後、[ログ名] セレクタでアクティビティ ログを選択して検索を絞り込むことができます。

ログビューア(プレビュー)では、[ログ フィールド エクスプローラ] を使用して検索クエリを作成できます。ここには、指定したログフィールドのログエントリ数が大きなものから順に表示されます。[ログ フィールド エクスプローラ] を使用すると、GKE ログの場合に特に役立ちます。[ログ フィールド エクスプローラ] で、Kubernetes 値を選択して、簡単にクエリが作成できるためです。たとえば、[ログ フィールド エクスプローラ] を使用すると、特定のクラスタ、名前空間、Pod 名、コンテナ名のログを選択できます。

詳細については、ログビューア(プレビュー版)の使用方法に関する Logging のドキュメントをご覧ください。

サンプルクエリ

特定のログを探したい場合に備えて、GKE ログを検索する詳細なサンプルクエリを次に示します。