GKE ログの表示

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

ログへのアクセス

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

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

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

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

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

カスタムログ集計、ログ分析、サードパーティ システムとの統合を行う場合は、ロギングシンク機能を使用して 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 – 標準出力に書き込まれたログ

Logging ユーザー インターフェースでログを検索する

現在、Logging UI にはログビューア以前のログビューアの 2 つのバージョンがあります。

以前のログビューア

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

以前のログビューアの使用方法については、Logging のドキュメントをご覧ください。

ログ エクスプローラ

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

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

ログ エクスプローラの使用方法の詳細については、Logging のドキュメントをご覧ください。

サンプルクエリ

以下に、特定の GKE ログを検索する際に役立つサンプルクエリを示します。