ログバケットの構成と管理

このページでは、Cloud Console と gcloud コマンドライン ツールを使用して Cloud Logging バケットを作成、管理する方法について説明します。また、Logging API を使用してバケットを作成、管理することもできます。

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

始める前に

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

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

  • Cloud プロジェクトのログバケットを作成、管理するための権限を付与されていることを確認します。バケットに保存されているデータにアクセスするために必要な権限とロールのリストについては、アクセス制御ガイドをご覧ください。

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

バケットの作成

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

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

Console

Cloud プロジェクトでログバケットを作成するには、次の手順を行います。

  1. Logging メニューから [ログストレージ] を選択します。

    ログストレージに移動

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

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

  4. (省略可)ログを保存するリージョンを設定するには、[ログバケットのリージョンを選択] プルダウン メニューをクリックし、リージョンを選択します。リージョンを選択しない場合は、global リージョンが使用されます。つまり、ログは物理的にどのリージョンにも配置できます。

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

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

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

  6. [バケットを作成] をクリックします。新しいバケットが [ログバケット] のリストに表示されます。

gcloud

Cloud プロジェクトにログバケットを作成するには、gcloud logging buckets create コマンドを実行します。

gcloud logging buckets create BUCKET_ID --location=LOCATION OPTIONAL_FLAGS

変数 LOCATION は、ログを保存するリージョンです。

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

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

バケットを作成したら、ログビューを構成して、新しいバケットのログにアクセスできるユーザーとアクセスできるログを制御できます。

ログの取り込みの追跡

Cloud Console の [ログストレージ] ページでは、ログバケットに取り込まれたログデータの量が追跡されます。

Cloud プロジェクトのログデータの取り込みを追跡するには、コンソールの [ログストレージ] ページに移動します。

ログストレージに移動

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

要約統計情報レポートでは、現在選択されているプロジェクトのデータ取り込み量が記録されます。

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

  • 現在の合計ボリューム: 今月の初日から Cloud プロジェクトで取り込まれたログデータの量。

  • 先月のボリューム: 先月に Cloud プロジェクトで取り込まれたログデータの量。

  • 月末までの予想ボリューム: 今月の初日から月末までに Cloud プロジェクトで取り込まれるログデータの推定量(現在の使用量に基づく)。

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

Cloud Console の [ログルーター] ページには、毎月の割り当てを超えるログの取り込みやストレージの料金を最小限に抑えるために使用できるツールが用意されています。以下の操作を行います。

  • バケットレベルでのログの取り込みを無効にする
  • 特定のログエントリを Logging の取り込みから除外します。

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

バケットの管理

このセクションでは、gcloud コマンドライン ツールまたは Google Cloud Console を使用してログバケットを管理する方法について説明します。

バケットを更新する

バケットの属性を更新するには、次の手順を行います。

Console

バケットの属性を更新するには、次の手順を行います。

  1. Logging メニューから [ログストレージ] を選択します。

    ログストレージに移動

  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"

バケットをロックする

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

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

Console

Cloud Console では、ログバケットのロックはサポートされていません。

gcloud

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

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

例:

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

バケットを一覧表示する

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

Console

[ログストレージ] ページに移動します。

ログストレージに移動

現在の 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

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

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

Console

[ログストレージ] ページに移動します。

ログストレージに移動

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

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

  • 名前: 作成時に付けられたバケットの名前。
  • 説明: 作成時に与えられたバケットの説明。
  • 保持期間: Cloud Logging がバケットのデータを保存する日数。
  • リージョン: バケットのデータが保存される地理的なロケーション。

gcloud

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

gcloud logging buckets describe _Default --location=global

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

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

バケットを削除する

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

Console

ログバケットを削除するには、次の手順を行います。

  1. Logging メニューから [ログストレージ] を選択します。

    ログストレージに移動

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

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

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

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

gcloud

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

gcloud logging buckets delete BUCKET_ID --location=LOCATION

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

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

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

Console

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

  1. Logging メニューから [ログストレージ] を選択します。

    ログストレージに移動

  2. 復元するバケットで、その他アイコン をクリックします。

  3. [削除したバケットの復元] を選択します。

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

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

gcloud

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

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

バケットへの書き込み

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

バケットからの読み取り

各ログバケットには、一連のログビュー保存されています。ログバケットからログを読み取るには、ログバケットのログビューへのアクセス権が必要です。ログビューの詳細については、ログビューの管理をご覧ください。

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

Console

ログ エクスプローラに表示されるログの範囲を絞り込むには、[範囲を絞り込む] オプションを使用します。現在の Cloud プロジェクト内のログのみを検索することも、1 つ以上のストレージ ビューでログを検索することもできます。ログ エクスプローラの範囲を絞り込むには、次の手順を行います。

  1. Logging メニューから [ログ エクスプローラ] を選択します。

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

  2. [範囲を絞り込む] を選択します。

  3. [範囲を絞り込む] ダイアログで、[絞り込む] オプションを選択します。

  4. [ストレージによるスコープ] を選択し、表示するバケットを 1 つ以上選択します。

    ダイアログには、次の条件を満たしているストレージ ビューが一覧表示されます。

    • ストレージ ビューにアクセスできます。
    • ログバケットが選択した Cloud プロジェクトに属しているか、選択した Cloud プロジェクトがストレージ バケットにログをすでにルーティングしています。

gcloud

ログバケットからログを読み取るには、gcloud logging read コマンドを実行します。

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

カスタム保持の構成

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

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

Console

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

  1. Logging メニューから [ログストレージ] を選択します。

    ログストレージに移動

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

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

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

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

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

バケットの保持期間を延長すると、保持ルールは過去にさかのぼって適用されず、後から適用されます。該当する保持期間が経過すると、ログを復元できなくなります。

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

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

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

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

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

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

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

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

一元型の Cloud プロジェクトのログにアクセスしていて、_Default シンクから除外したログが表示される場合は、次のいずれかの条件でログを表示している可能性があります。

  • 以前のログビューアでログを表示している(一元化されたログの表示はサポートされていません)。

    この問題を解決するには、ログ エクスプローラに切り替えます。

  • [範囲を絞り込む] パネルで [プロジェクトで絞り込む] を選択した状態でログ エクスプローラを使用してログを表示している(格納している場所に関係なく、プロジェクトで生成されたログが表示されます)。

    この問題のトラブルシューティングを行うには、代わりに、ログ エクスプローラの [範囲を絞り込む] パネルで [ストレージによるスコープ] を選択し、Cloud プロジェクトで _Default バケットを選択します。これで、除外されたログが表示されなくなります。

バケットのログベースの指標を作成できないのはなぜですか?

ログベースの指標は、単一の Google Cloud プロジェクトにのみ適用されます。ログバケット、またはフォルダや組織などの他の Google Cloud リソースに対するログベースの指標を作成することはできません。

次のステップ

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

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