ログバケットを構成する

このドキュメントでは、Google Cloud コンソール、Google Cloud CLILogging API を使用して Cloud Logging バケットを作成および管理する方法について説明します。また、Google Cloud プロジェクト レベルでログバケットを作成して管理する手順についても説明します。フォルダまたは組織のレベルでログバケットを作成できません。ただし、Cloud Logging は、フォルダと組織のレベルで _Default_Required のバケットを自動的に作成します。

ログバケットをアップグレードすると、Log Analytics を使用できます。Log Analytics を使用すると、ログデータに対して SQL クエリを実行し、アプリケーション、セキュリティ、ネットワークに関する問題のトラブルシューティングに役立てることができます。Log Analytics を使用するようにログバケットがアップグレードされ、リンクされた BigQuery データセットが存在する場合は、BigQuery を使用してログバケットに保存されているデータを表示することもできます。リンクされたデータセットを作成すると、BigQuery に保存されている他のデータとログデータを結合したり、Looker Studio や Looker などの他のツールからデータにアクセスしたりできます。

バケットのコンセプトの概要については、ルーティングとストレージの概要: ログバケットをご覧ください。

始める前に

ログバケットを使用するには、次のことを行う必要があります。

  • Google Cloud プロジェクトの課金が有効になっていることを確認します。

  • Identity and Access Management(IAM)のロールによって、バケットの作成、アップグレード、リンクに必要な権限が付与されていることを確認します。

    ログ構成書き込み(roles/logging.configWriter)のロールは、バケットの管理に必要な権限を付与する最小限の事前定義ロールです。権限とロールの完全なリストについては、IAM によるアクセス制御をご覧ください。

  • ログを保存できるサポートされているリージョンなど、LogBucket の形式の要件を把握します。

  • デフォルトのリソース ロケーションを設定して、組織内の _Required バケットと _Default バケットにデフォルトのストレージ リージョンを適用することを検討してください。

  • BigQuery を使用してログバケットに保存されているデータを表示する方法は次のとおりです。

  • 顧客管理の暗号鍵(CMEK)を使用するログバケットを作成する方法については、ログ ストレージに CMEK を構成するをご覧ください。

バケットの作成

Google Cloud プロジェクトごとに最大 100 個のバケットを作成できます。

Google Cloud プロジェクトのユーザー定義のログバケットを作成する手順は次のとおりです。

Google Cloud コンソール

Google Cloud プロジェクトにログバケットを作成する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. [ログバケットの作成] をクリックします。

  3. バケットの [名前] と [説明] を入力します。

  4. 省略可: バケットをアップグレードすると、Log Analytics を使用できます。

    1. [アップグレードして Log Analytics を使用する] を選択します。

      Log Analytics を使用するようにバケットをアップグレードすると、SQL クエリを使用して [Log Analytics] ページでログをクエリできます。ログ エクスプローラを使用して、ログを引き続き表示することもできます。

      Log Analytics では、すべてのリージョンがサポートされているわけではありません。詳細については、サポートされているリージョンをご覧ください。

    2. 省略可: BigQuery でログを表示するには、[このバケットにリンクする新しい BigQuery データセットを作成する] を選択して、一意のデータセット名を入力します。

      このオプションを選択すると、BigQuery はログバケットに保存されているデータを読み取ることができます。BigQuery インターフェースでクエリして、ログデータを結合したり、Looker Studio や Looker などの他のツールからデータにアクセスしたりできるようになりました。

  5. 省略可: ログのストレージ リージョンを選択するには、[ログのバケット リージョンを選択] メニューをクリックしてリージョンを選択します。リージョンを選択しない場合は、global リージョンが使用されます。つまり、ログはどのリージョンにも物理的に配置できます。

  6. 省略可: バケット内のログにカスタム保持期間を設定するには、[] をクリックします。

    [保持期間] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。保持期間をカスタマイズしない場合、デフォルトの 30 days になります。

    バケットを作成した後にバケットを更新して、カスタム保持を適用するともできます。

  7. [バケットを作成] をクリックします。

    これらのオプションが選択されている場合は、ログバケットの作成後に、Logging によってバケットがアップグレードされ、データセット リンクが作成されます。

    このステップが完了するまでには少し時間がかかることがあります。

gcloud

ログバケットのみを作成するには、gcloud logging buckets create コマンドを実行します。Log Analytics を使用するようにログバケットをアップグレードする場合は、--enable-analytics フラグと --async フラグを指定し、変数 LOCATIONLog Analytics でサポートされているリージョンに設定されていることを確認します。

gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS

--async フラグを指定すると、コマンドが非同期になります。非同期メソッドの戻り値は Operation オブジェクトで、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

Log Analytics を使用するようにログバケットをアップグレードしない場合は、--enable-analytics フラグと --async フラグを省略します。変数 LOCATION は、サポートされている任意のリージョンに設定できます。

たとえば、asia-east2 リージョンで BUCKET_ID my-bucket のバケットを作成する場合、コマンドは次のようになります。

gcloud logging buckets create my-bucket --location asia-east2 --description "My first bucket"

たとえば、us のロケーションに BUCKET_ID my-upgraded-bucket のバケットを作成し、Log Analytics を使用するようにログバケットをアップグレードする場合、コマンドは次のようになります。

gcloud logging buckets create my-upgraded-bucket --location us \
      --description "My first upgraded bucket" \
      --enable-analytics --retention-days=45

API

バケットを作成するには、projects.locations.buckets.create メソッドまたは projects.locations.buckets.createAsync メソッドを使用します。次のように、メソッドの引数を準備します。

  1. parent パラメータを、バケットを作成するリソース(projects/PROJECT_ID/locations/LOCATION)に設定します。

    変数 LOCATION は、ログを保存するリージョンを指します。Log Analytics では、すべてのリージョンがサポートされているわけではありません。詳細については、サポートされているリージョンをご覧ください。

    たとえば、リージョン asia-east2 にプロジェクト my-project 用のバケットを作成する場合、parent パラメータは次のようになります: projects/my-project/locations/asia-east2

  2. bucketId パラメータを設定します(例: my-bucket)。

  3. 次のいずれかを行います。

    • ログバケットを作成してから、Log Analytics を使用するようにログバケットをアップグレードするには、次のようにします。

      1. LogBucket.analyticsEnabled ブール値を true に設定します。

      2. 非同期メソッド projects.locations.buckets.createAsync を呼び出してバケットを作成します。

        非同期メソッドへのレスポンスは、Operation オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

        createAsync メソッドが完了するまでに数分かかります。このメソッドでは、analyticsEnabled ブール値が true に設定されていて、アップグレードされたバケットがリージョンでサポートされていない場合には、エラー メッセージが生成されず、エラーも発生しません。たとえば、ロケーションを asia-east2 に設定した場合、ログバケットは作成されますが、バケットは Log Analytics を使用するようにはアップグレードされません。

    • それ以外の場合は、同期メソッド projects.locations.buckets.create を呼び出してバケットを作成します。

バケットを作成したら、ログエントリをバケットにルーティングするシンクを作成し、新しいバケットのログにアクセスできるユーザーとアクセス可能なログを決定するログビューを構成します。バケットを更新して、カスタム保持制限付きフィールドを構成することもできます。

ログバケットに保存されているログの量を追跡する

Google Cloud コンソールの [ログストレージ] ページでは、ログバケットに保存されているログデータの量が追跡されます。

Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

[ログストレージ] に移動

[ログストレージ] ページに、Google Cloud プロジェクトの統計情報の概要が表示されます。

統計情報の概要では、選択されているプロジェクトのログバケットに保存されているログデータの量が報告されます。

次の統計情報が報告されます。

  • 今月の取り込み: 今月の初日から Google Cloud プロジェクトでログバケットに保存したログデータの量。

  • 先月の取り込み: 先月に Google Cloud プロジェクトがログバケットに保存したログデータの量。

  • 月末までの取り込みの想定: 今月の初日から月末までに Google Cloud プロジェクトでログバケットに保存されるログデータの推定量(現在の使用量に基づく)。

  • 今月の課金対象ストレージ: 30 日以上保持された課金対象のログデータの量。

以前の統計情報には、_Required バケットのログが含まれていません。そのバケットのログを除外したり、無効にしたりすることはできません。

Google Cloud コンソールの [ログルーター] ページには、毎月の割り当てを超えるログバケットへのログの保存やストレージの料金を最小限に抑えるために使用できるツールが用意されています。以下の操作を行います。

  • ログがバケットレベルで保存されないようにします。
  • 特定のログエントリをログバケットへの保存から除外します。

詳細については、シンクを管理するをご覧ください。

バケットの管理

このセクションでは、Google Cloud CLI や Google Cloud コンソールを使用してログバケットを管理する方法を説明します。

バケットを更新する

バケットのプロパティ(説明や保持期間など)を更新するには、次の操作を行います。

Google Cloud コンソール

バケットのプロパティを更新する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. 更新するバケットで、 [その他] をクリックします。

  3. [バケットの編集] を選択します。

  4. 必要に応じてバケットを編集します。

  5. [バケットの更新] をクリックします。

gcloud

バケットのプロパティを更新するには、gcloud logging buckets update コマンドを実行します。

gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES

例:

gcloud logging buckets update my-bucket --location=global --description "Updated description"

API

バケットのプロパティを更新するには、Logging API で projects.locations.buckets.patch を使用します。

Log Analytics を使用するためにログバケットをアップグレードする

Log Analytics を使用するように既存のログバケットをアップグレードするためには、次の制限が適用されます。

  • ログバケットは Google Cloud プロジェクト レベルで作成されました。
  • ログバケットは、_Required バケットでない限りロック解除されます。
  • バケットの更新が保留中でないこと。
  • Log Analytics では、すべてのリージョンがサポートされているわけではありません。詳細については、サポートされているリージョンをご覧ください。

Google Cloud コンソール

既存のバケットをアップグレードして Log Analytics を使用するには、次の操作を行います。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. アップグレードするバケットを見つけます。

  3. [Log Analytics を使用可能] 列に [アップグレード] と表示されたら、ログバケットをアップグレードして Log Analytics を使用できます。[アップグレード] をクリックします。

    ダイアログが開きます。[確認] をクリックします。

gcloud

Log Analytics を使用するようにログバケットをアップグレードするには、gcloud logging buckets update コマンドを実行します。--enable-analytics フラグを設定する必要があります。また、--async フラグも含めることをおすすめします。

gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async

--async フラグを指定すると、コマンドが非同期になります。非同期メソッドの戻り値は Operation オブジェクトで、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

API

Log Analytics を使用するようにログバケットをアップグレードするには、Cloud Logging API の projects.locations.buckets.updateAsync メソッドを使用します。

次のように、メソッドの引数を準備します。

  1. LogBucket.analyticsEnabled ブール値を true に設定します。
  2. コマンドのクエリ パラメータには、updateMask=analyticsEnabled を使用します。

非同期メソッドへのレスポンスは、Operation オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

updateAsync の完了には数分かかることがあります。

BigQuery の機能を使用してログデータを分析する場合は、Log Analytics を使用するようにログバケットをアップグレードし、リンクされたデータセットを作成します。この構成では、BigQuery を使用してログバケットに保存されているログを読み取れます。

Google Cloud コンソール

既存のログバケットの BigQuery データセットへのリンクを作成する手順は次のとおりです。

  1. このドキュメントの始める前にセクションを確認してください。

  2. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  3. ログバケットを見つけ、[Log Analytics を使用可能] 列に [開く] が表示されていることを確認します。

    この列に[アップグレード] と表示される場合、ログバケットは Log Analytics を使用するようにアップグレードされていません。Log Analytics を構成します。

    1. [アップグレード] をクリックします。
    2. ダイアログで [確認] をクリックします。

    アップグレードが完了したら、次のステップに進みます。

  4. ログバケットで、[展開] をクリックし、[バケットを編集] をクリックします。

    [ログバケットを編集] ダイアログが開きます。

  5. [このバケットにリンクする新しい BigQuery データセットを作成する] を選択し、新しいデータセットの名前を入力します。

    データセット名は Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットの名前を入力すると、次のエラーを受信します。Dataset name must be unique in the selected region.

  6. [完了]、[バケットを更新] の順にクリックします。

    Logging の [ログストレージ] ページにリンクされたデータセット名が表示されてから BigQuery がデータセットを認識するまでに数分かかることがあります。

gcloud

Log Analytics を使用するようにアップグレードされたログバケットのリンクされたデータセットを作成するには、gcloud logging links create コマンドを実行します。

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

LINK_ID フィールドは、Google Cloud プロジェクトに対して一意にする必要があります。

links create コマンドは非同期です。非同期メソッドの戻り値は Operation オブジェクトで、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

links create コマンドが完了するまでに数分かかります。

たとえば、次のコマンドは、my-bucket という名前のバケットにリンクされたデータセットを作成します。

gcloud logging links create mylink --bucket=my-bucket --location=global

データセット名は Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットと同じ名前のデータセットを作成しようとすると、次のエラーを受信します。

BigQuery dataset with name "my-bucket" already exists.

Log Analytics を使用するようにアップグレードされていないログバケットに対して、リンクされたデータセットを作成しようとすると、次のエラーが報告されます。

A link can only be created for an analytics-enabled bucket.

API

アップグレードされた既存のログバケットに対してリンクされた BigQuery データセットを作成するには、Log Analytics を使用します。Cloud Logging API の非同期 projects.locations.buckets.links.create メソッドを呼び出します。

次のように、メソッドの引数を準備します。

  1. create コマンドのリクエスト本文を作成します。リクエスト本文は Link オブジェクトの形式です。
  2. コマンドのクエリ パラメータには、linkId=LINK_ID を使用します。指定した LINK_ID はデータセットの名前として使用されるため、LINK_ID は出力専用 DATASET_ID と同じ値を共有します。

非同期メソッドへのレスポンスは、Operation オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が含まれます。メソッドが完了すると、Operation オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。

links.create メソッドが完了するまでに数分かかります。

データセット名は Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットと同じ名前のデータセットを作成しようとすると、次のエラーを受信します。

BigQuery dataset with name "my-bucket" already exists.

Log Analytics を使用するようにアップグレードされていないログバケットに対して、リンクされたデータセットを作成しようとすると、次のエラーが報告されます。

A link can only be created for an analytics-enabled bucket.

バケットをロックする

更新されないようにバケットをロックすると、バケットの保持ポリシーもロックされます。保持ポリシーがロックされると、バケット内のすべてのログエントリがバケットの保持期間を満了するまでバケットを削除できません。

他のユーザーがログバケットを更新または削除できないようにするには、バケットをロックします。バケットをロックする手順は次のとおりです。

Google Cloud コンソール

Google Cloud コンソールでは、ログバケットのロックはサポートされていません。

gcloud

バケットをロックするには、--locked フラグを指定して gcloud logging buckets update コマンドを実行します。

gcloud logging buckets update BUCKET_ID --location=LOCATION --locked

例:

gcloud logging buckets update my-bucket --location=global --locked

API

バケットの属性をロックするには、Logging API で projects.locations.buckets.patch を使用します。locked パラメータを true に設定します。

バケットを一覧表示する

Google Cloud プロジェクトに関連付けられたログバケットを一覧表示し、保持設定などの詳細を確認するには、次のようにします。

Google Cloud コンソール

Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

[ログストレージ] に移動

[ログバケット] というテーブルに、現在の Google Cloud プロジェクトに関連付けられたバケットが一覧表示されます。

この表には、各ログバケットの次の属性が一覧表示されます。

  • 名前: ログバケットの名前。
  • 説明: バケットの説明。
  • 保持期間: Cloud Logging がバケットのデータを保存する日数。
  • リージョン: バケットのデータが保存される地理的なロケーション。
  • ステータス: バケットがロックされているか、ロック解除されているか。

Cloud Logging がバケットを削除保留にしている場合、テーブル エントリに警告記号の注記が付けられます。

gcloud

gcloud logging buckets list コマンドを実行します。

gcloud logging buckets list

ログバケットの次の属性が表示されます。

  • LOCATION: バケットのデータが保存されるリージョン
  • BUCKET_ID: ログバケットの名前。
  • RETENTION_DAYS: Cloud Logging がバケットのデータを保存する日数。
  • LIFECYCLE_STATE: Cloud Logging がバケットを削除保留中としているかどうかを示します。
  • LOCKED: バケットがロックされているか、ロック解除されているか。
  • CREATE_TIME: バケットが作成された日時を示すタイムスタンプ。
  • UPDATE_TIME: バケットが最後に変更された日時を示すタイムスタンプ。

1 つのバケットの属性を表示することもできます。たとえば、global リージョンの _Default ログバケットの詳細を表示するには、gcloud logging buckets describe コマンドを実行します。

gcloud logging buckets describe _Default --location=global

API

Google Cloud プロジェクトに関連付けられたログバケットを一覧表示するには、Logging API で projects.locations.buckets.list を使用します。

バケットの詳細を表示する

単一のログバケットの詳細を表示する手順は次のとおりです。

Google Cloud コンソール

Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

[ログストレージ] に移動

ログバケットで [その他] をクリックし、次に [バケットの詳細を表示する] を選択します。

このダイアログには、ログバケットの次の属性が表示されます。

  • 名前: ログバケットの名前。
  • 説明: ログバケットの説明。
  • 保持期間: Cloud Logging がバケットのデータを保存する日数。
  • リージョン: バケットのデータが保存される地理的なロケーション。
  • Log Analytics: Log Analytics を使用するようにバケットがアップグレードされているかどうかを示します。
  • BigQuery の分析: BigQuery データセットがバケットにリンクされているかどうかを示します。
  • BigQuery データセット: BigQuery データセットへのリンクを表示します。この BigQuery データセットが [BigQuery Studio] ページで開きます。BigQuery リンクを有効にした日付も表示されます。

gcloud

gcloud logging buckets describe コマンドを実行します。

たとえば、次のコマンドは _Default バケットの詳細を報告します。

gcloud logging buckets describe _Default --location=global

ログバケットの次の属性が表示されます。

  • createTime: バケットが作成された日時を示すタイムスタンプ。
  • description: ログバケットの説明。
  • lifecycleState: Cloud Logging がバケットを削除保留中としているかどうかを示します。
  • name: ログバケットの名前。
  • retentionDays: Cloud Logging がバケットのデータを保存する日数。
  • updateTime: バケットが最後に変更された日時を示すタイムスタンプ。

API

単一のログバケットの詳細を表示するには、Logging API で projects.locations.buckets.get を使用します。

バケットを削除する

ログバケットを削除する方法は次のとおりです。

Google Cloud コンソール

ログバケットを削除する方法は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. 削除するバケットを見つけて、 [その他] をクリックします。

  3. [BigQuery のリンクされたデータセット] 列にリンクが表示されている場合は、リンクされた BigQuery データセットを削除します。

    1. [バケットを編集] をクリックします。

    2. [このバケットにリンクする新しい BigQuery データセットを作成する] チェックボックスをオフにして、[完了] をクリックし、[バケットを更新] をクリックします。

      [ログストレージ] ページに戻り、削除するバケットの [その他] をクリックし、次の手順に進みます。

  4. [バケットの削除] を選択します。

  5. 確認パネルで [削除] をクリックします。

  6. [ログストレージ] ページに、バケットが削除保留中であることを示すインジケータが表示されます。すべてのログを含むバケットは 7 日後に削除されます。

gcloud

ログバケットを削除するには、gcloud logging buckets delete コマンドを実行します。

gcloud logging buckets delete BUCKET_ID --location=LOCATION

バケットにリンクされた BigQuery データセットがある場合、ログバケットは削除できません。

API

バケットを削除するには、Logging API で projects.locations.buckets.delete を使用します。

バケットに BigQuery データセットがリンクされている場合、ログバケットを削除するとエラーになります。ログバケットを削除する前に、リンクされたデータセットを削除する必要があります。

削除されたバケットはこの保留状態が 7 日間続き、Logging はその間、ログをバケットにルーティングし続けます。削除されたバケットへのログのルーティングを停止するには、そのバケットを宛先として持つログシンクを削除するか、シンクのフィルタを変更して削除されたバケットへのログのルーティングを停止します。

保留状態の削除されたバケットと同じ名前を使用して、新しいログバケットを作成することはできません。

削除されたバケットを復元する

削除保留状態のログバケットは削除を取り消して、復元することもできます。ログバケットを復元する方法は次のとおりです。

Google Cloud コンソール

削除保留中のログバケットを復元する方法は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. 復元するバケットで、[その他] をクリックし、[削除したバケットを復元する] を選択します。

  3. 確認パネルで [復元] をクリックします。

  4. ログストレージ ページで、削除が保留中であることを示すインジケータがログバケットから削除されます。

gcloud

削除保留中のログバケットを復元するには、gcloud logging buckets undelete コマンドを実行します。

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

API

削除保留中のバケットを復元するには、Logging API で projects.locations.buckets.undelete を使用します。

ログバケットへの保存ログバイト数の月間合計に関するアラート

アラート ポリシーを作成するには、Google Cloud コンソールの [ログストレージ] ページで、 [使用状況アラートを作成] をクリックします。このボタンをクリックすると、Monitoring の [アラート ポリシーの作成] ページが開き、指標タイプ フィールドに logging.googleapis.com/billing/bytes_ingested が入力されます。

ログバケットに書き込まれたログバイト数が Cloud Logging のユーザー定義の上限を超えたときにトリガーされるアラート ポリシーを作成するには、次の設定を使用します。

[New condition]
フィールド

リソースと指標 [リソース] メニューで、[グローバル] を選択します。
[指標カテゴリー] メニューで、[ログベースの指標] を選択します。
[指標] メニューで、[取り込みログバイト数の月間合計] を選択します。
フィルタ なし
時系列全体
時系列集計
sum
ローリング ウィンドウ 60 m
ローリング ウィンドウ関数 max
アラート・トリガーの構成
フィールド

条件タイプ Threshold
アラート トリガー Any time series violates
しきい値の位置 Above threshold
しきい値 許容値を決定します。
再テスト ウィンドウ 最小許容値は 30 分です。

アラート ポリシーに関する説明は、アラートの概要をご覧ください。

バケットに書き込む

ログバケットに直接ログを書き込むことはありません。代わりに、ログを Google Cloud リソース(Google Cloud プロジェクト、フォルダ、または組織)に書き込みます。親リソースのシンクは、ログバケットを含むエクスポート先にログを転送します。ログがシンクのフィルタと一致し、シンクにログをログバケットに転送する権限がある場合、シンクはログをログバケットの宛先に転送します。

バケットからの読み取り

各ログバケットには、一連のログビュー保存されています。ログバケットからログを読み取るには、ログバケットのログビューへのアクセス権が必要です。ログビューを使用すると、ログバケットに保存されているログのサブセットのみに対するアクセス権をユーザーに付与できます。ログビューの構成方法と特定のログビューへのアクセス権を付与する方法については、ログバケットでログビューを構成するをご覧ください。

ログバケットからログを読み取る手順は次のとおりです。

Google Cloud コンソール

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログ エクスプローラ] を選択します。

    [ログ エクスプローラ] に移動

  2. ログ エクスプローラに表示するログをカスタマイズするには、[範囲を絞り込む] をクリックして次のいずれかを選択します。

    • 現在のプロジェクトで生成されたか、現在のプロジェクトに直接転送されたすべてのログを表示するには、[現在のプロジェクト別のスコープ] を選択します。

    • 現在のプロジェクトのログバケットに保存されている特定のログを表示するには、[ストレージによるスコープ] を選択してから、1 つ以上のログビューを選択します。

    • 別のプロジェクトのログバケットに保存されている特定のログを表示するには、[ストレージによるスコープ] を選択し、プロジェクトの [プロジェクトをインポート] をクリックしてログビュー セレクタをクリックし、1 つ以上のログビューを選択します。

  3. [適用] をクリックします。[クエリ結果] ペインが選択したオプションに一致するログに再読み込みされます。

ログ エクスプローラに表示するログのカスタマイズの詳細については、ログ エクスプローラの概要: 範囲を絞り込むをご覧ください。

gcloud

ログバケットからログを読み取るには、gcloud logging read コマンドを使用し、LOG_FILTER を追加してデータを選択します。

gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID

API

ログバケットからログを読み取るには、entries.list メソッドを使用します。resourceNames を設定して適切なバケットとログビューを指定し、filter を設定してデータを選択します。

フィルタリング構文の詳細については、Logging のクエリ言語をご覧ください。

カスタム保持の構成

ログバケットを作成するときに、Cloud Logging がバケットのログを保存する期間をカスタマイズできます。 保持期間は、ユーザー定義のログバケットと _Default ログバケットのそれぞれで構成できます。

バケットの保持期間を短縮すると、7 日間の猶予期間があり、その間、期限切れのログは削除されません。期限切れのログに対してクエリを実行することや表示することはできませんが、この 7 日間はバケットの保持期間を延長することで完全なアクセス権を復元できます。猶予期間中に保存されたログは、保持費用にカウントされます。

ログバケットの保持期間を更新する手順は次のとおりです。

Google Cloud コンソール

ログバケットの保持期間を更新する手順は次のとおりです。

  1. Google Cloud コンソールのナビゲーション パネルで、[ロギング] を選択してから、[ログストレージ] を選択します。

    [ログストレージ] に移動

  2. 更新するバケットで [その他] をクリックし、[バケットを編集する] を選択します。 。

  3. [保持] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。

  4. [バケットの更新] をクリックします。新しい保持期間が [ログバケット] のリストに表示されます。

gcloud

ログバケットの保持期間を更新するには、RETENTION_DAYS の値を設定した後で、gcloud logging buckets update コマンドを実行します。

gcloud logging buckets update BUCKET_ID  --location=LOCATION --retention-days=RETENTION_DAYS

たとえば、global ロケーションの _Default バケットのログを 1 年間保持する場合、コマンドは次のようになります。

gcloud logging buckets update _Default --location=global --retention-days=365

バケットの保持期間を延長すると、保持ルールの適応は先送りされ、過去に遡る適用はありません。ログは、該当する保持期間が経過すると復元できなくなります。

非同期 API メソッド

projects.locations.buckets.createAsync のような非同期メソッドのレスポンスは、Operation オブジェクトです。

非同期 API メソッドを呼び出すアプリケーションでは、Operation.done フィールドの値が true になるまで、operation.get エンドポイントをポーリングする必要があります。

  • donefalse の場合は、オペレーションが進行中です。

    ステータス情報を更新するには、GET リクエストを operation.get エンドポイントに送信します。

  • donetrue の場合、オペレーションは完了し、error フィールドまたは response フィールドが設定されます。

    • error: 設定された場合、非同期処理が失敗しました。このフィールドの値は、gRPC エラーコードとエラー メッセージを含む Status オブジェクトです。
    • response: 設定すると、非同期オペレーションが正常に完了し、値が結果に反映されます。

Google Cloud CLI を使用して非同期コマンドをポーリングするには、次のコマンドを実行します。

gcloud logging operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID

詳細については、gcloud logging operations describe をご覧ください。

一般的な問題のトラブルシューティング

ログバケットの使用中に問題が発生した場合は、次のトラブルシューティング手順と一般的な質問に対する回答をご覧ください。

このバケットを削除できないのはなぜですか?

バケットを削除する場合は、次の操作を行います。

  • バケットを削除するための適切な権限があることを確認します。必要な権限のリストについては、IAM によるアクセス制御をご覧ください。

  • バケットの属性を一覧表示して、バケットがロックされているかどうかを確認します。バケットがロックされている場合は、バケットの保持期間を確認します。ロックされたバケットを削除するには、そのバケット内のすべてのログがバケットの保持期間を満たす必要があります。

  • ログバケットにリンクされた BigQuery データセットがないことを確認します。リンクされたデータセットがあるログバケットは削除できません。

    リンクされたデータセットがあるログバケットに対して delete コマンドを実行すると、次のエラーが表示されます。

    FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
    

    ログバケットに関連付けられたリンクを一覧表示するには、gcloud logging links list コマンドを実行するか、projects.locations.buckets.links.list API メソッドを実行します。

どのサービス アカウントがバケットにログを転送するのですか?

ログをバケットに転送する IAM 権限がサービス アカウントにあるかどうかを確認するには、次の操作を行います。

  1. Google Cloud コンソールのナビゲーション パネルで [IAM] を選択します。

    [IAM] に移動

  2. [権限] タブで、[ロール] ごとに表示します。Google Cloud プロジェクトに関連付けられたすべての IAM のロールとプリンシパルを含む表が表示されます。

  3. テーブルの [フィルタ] テキスト ボックス に「ログバケット書き込み」と入力します。

    ログバケット書き込みのロールを持つプリンシパルが表示されます。プリンシパルがサービス アカウントの場合、その ID には文字列 gserviceaccount.com が含まれます。

  4. 省略可: Google Cloud プロジェクトにログをルーティングできないようにサービスアカウントを削除する場合は、サービスアカウントのチェックボックスをオンにして、[削除] をクリックします。

ログが _Default シンクから除外されていても Google Cloud プロジェクトのログが表示されるのはなぜですか?

組織全体からのログを集約する一元型の Google Cloud プロジェクトのログバケットでログを表示している可能性があります。

ログ エクスプローラを使用してこれらのログにアクセスしていて、_Default シンクから除外したログが表示される場合は、ビューが Google Cloud プロジェクト レベルに設定されている可能性があります。

この問題を解決するには、[範囲を絞り込む] パネルで [ストレージによるスコープ] を選択してから、Google Cloud プロジェクトの _Default バケットを選択します。これで、除外されたログが表示されなくなります。

次のステップ

Logs Bucket API メソッドの詳細については、LogBucket リファレンス ドキュメントをご覧ください。

ログバケットを使用して一般的なユースケースに対応する方法については、次のトピックをご覧ください。