このドキュメントでは、Google Cloud コンソール、Google Cloud CLI、Logging API を使用して Cloud Logging バケットを作成および管理する方法について説明します。また、Google Cloud プロジェクト レベルでログバケットを作成して管理する手順についても説明します。フォルダまたは組織のレベルでログバケットを作成できません。ただし、Cloud Logging は、フォルダと組織のレベルで _Default
と _Required
のバケットを自動的に作成します。
ログバケットをアップグレードすると、Log Analytics を使用できます。Log Analytics を使用すると、ログデータに対して SQL クエリを実行して、アプリケーション、セキュリティ、ネットワーク問題のトラブルシューティングを行うことができます。
BigQuery を使用してログデータを分析するには、次の 2 つの方法があります。
Log Analytics を使用するようにログバケットをアップグレードし、リンクされた BigQuery データセットを作成します。このシナリオでは、ログデータの保存は Logging が行いますが、ログデータの読み取りは BigQuery で行うことができます。
ログエントリを BigQuery にエクスポートします。このシナリオでは、シンクの作成はユーザーが行う必要がありますが、データの保存と管理は BigQuery が行います。パーティション分割テーブルを使用することもできます。
ログデータが BigQuery で利用可能になると、ログデータを BigQuery に保存されている他のデータと結合し、Looker Studio や Looker などの他のツールからアクセスできるようになります。
バケットのコンセプトの概要については、ルーティングとストレージの概要: ログバケットをご覧ください。
このドキュメントでは、顧客管理の暗号鍵(CMEK)を使用するログバケットを作成する方法については説明しません。このトピックについて詳しくは、ログ ストレージに CMEK を構成するをご覧ください。
始める前に
ログバケットを使用するには、次のことを行う必要があります。
- Google Cloud プロジェクトを構成する
-
Make sure that billing is enabled for your Google Cloud project.
-
ログバケットの作成、アップグレード、リンクに必要な権限を取得するには、プロジェクトに対するログ構成書き込み (
roles/logging.configWriter
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
権限とロールの完全なリストについては、IAM を使用したアクセス制御をご覧ください。
- 省略可: BigQuery を使用してログバケットに保存されているデータを表示するには、次の操作を行います。
- BigQuery API が有効になっている。使用可能なサービスを一覧表示して、API が有効になっていることを確認できます。
- Identity and Access Management ロールには、リンクされたデータセットを作成できる権限が含まれています。詳細については、リンクされた BigQuery データセットに対する権限をご覧ください。
-
- ログを保存できるサポートされているリージョンを把握します。
-
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
- Google Cloud CLI または Cloud Logging API を使用してログバケットを作成または管理する場合は、
LogBucket
の形式要件を理解してください。バケットの作成
Google Cloud プロジェクトごとに最大 100 個のバケットを作成できます。
Google Cloud プロジェクトのユーザー定義のログバケットを作成する手順は次のとおりです。
Google Cloud コンソール
Google Cloud プロジェクトにログバケットを作成するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
[ログバケットの作成] をクリックします。
バケットの [名前] と [説明] を入力します。
省略可: バケットをアップグレードすると、Log Analytics を使用できます。
[アップグレードして Log Analytics を使用する] を選択します。
Log Analytics を使用するようにバケットをアップグレードすると、SQL クエリを使用して [Log Analytics] ページでログをクエリできます。ログ エクスプローラを使用してログを引き続き表示することもできます。
省略可: BigQuery でログを表示するには、[このバケットにリンクする新しい BigQuery データセットを作成する] を選択して、一意のデータセット名を入力します。
このオプションを選択すると、BigQuery はログバケットに保存されているデータを読み取ることができます。BigQuery インターフェースでクエリして、ログデータを結合したり、Looker Studio や Looker などの他のツールからデータにアクセスしたりできるようになりました。
省略可: ログのストレージ リージョンを選択するには、[ログのバケット リージョンを選択] メニューをクリックしてリージョンを選択します。リージョンを選択しない場合は、
global
リージョンが使用されます。つまり、ログはサポートされている任意のリージョンに物理的に配置できます。省略可: バケット内のログにカスタム保持期間を設定するには、[次] をクリックします。
[保持期間] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。保持期間をカスタマイズしない場合、デフォルトの
30 days
になります。バケットを作成した後にバケットを更新して、カスタム保持を適用するともできます。
[バケットを作成] をクリックします。
これらのオプションが選択されている場合は、ログバケットの作成後に、Logging によってバケットがアップグレードされ、データセット リンクが作成されます。
これらの手順が完了するまでしばらく時間がかかることがあります。
gcloud
ログバケットのみを作成するには、
gcloud logging buckets create
コマンドを実行します。ログ分析を使用するようにログバケットをアップグレードする場合は、--enable-analytics
フラグと--async
フラグを指定し、変数 LOCATION が サポートされているリージョンに設定されていることを確認します。gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS
--async
フラグを使用して、コマンドを非同期にします。非同期メソッドの出力はOperation
オブジェクトで、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation
オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。ログ分析を使用するようにログバケットをアップグレードしない場合は、
--enable-analytics
フラグと--async
フラグを省略します。たとえば、
global
リージョンで BUCKET_IDmy-bucket
のバケットを作成する場合、コマンドは次のようになります。gcloud logging buckets create my-bucket --location global --description "My first bucket"
たとえば、
global
のロケーションに BUCKET_IDmy-upgraded-bucket
のバケットを作成し、Log Analytics を使用するようにログバケットをアップグレードする場合、コマンドは次のようになります。gcloud logging buckets create my-upgraded-bucket --location global \ --description "My first upgraded bucket" \ --enable-analytics --retention-days=45
REST
バケットを作成するには、
projects.locations.buckets.create
メソッドまたはprojects.locations.buckets.createAsync
メソッドを使用します。次のように、メソッドの引数を準備します。parent
パラメータを、バケットを作成するリソース(projects/PROJECT_ID/locations/LOCATION
)に設定します。変数 LOCATION は、ログを保存するリージョンを指します。
たとえば、リージョン
global
にプロジェクトmy-project
用のバケットを作成する場合、parent
パラメータは次のようになります:projects/my-project/locations/global
bucketId
パラメータを設定します(例:my-bucket
)。次のいずれかを行います。
ログバケットを作成して、ログ分析を使用するようにログバケットをアップグレードするには:
LogBucket.analyticsEnabled
ブール値をtrue
に設定します。非同期メソッド
projects.locations.buckets.createAsync
を呼び出してバケットを作成します。非同期メソッドに対するレスポンスは、
Operation
オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation
オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。createAsync
メソッドが完了するまでに数分かかります。このメソッドでは、analyticsEnabled
ブール値がtrue
に設定されていても、エラー メッセージが生成されず、エラーも発生しません。
それ以外の場合は、同期メソッド
projects.locations.buckets.create
を呼び出してバケットを作成します。
バケットを作成したら、ログエントリをバケットにルーティングするシンクを作成し、新しいバケットのログにアクセスできるユーザーとアクセス可能なログを決定するログビューを構成します。 バケットを更新して、カスタム保持と制限付きフィールドを構成することもできます。
ログバケットに保存されているログの量を追跡する
Google Cloud コンソールの [ログストレージ] ページでは、ログバケットに保存されているログデータの量が追跡されます。
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
[ログストレージ] ページに、Google Cloud プロジェクトの統計情報の概要が表示されます。
次の統計情報が報告されます。
今月の取り込み: 今月の初日から Google Cloud プロジェクトでログバケットに保存されたログデータの量。
先月の取り込み: 先月に Google Cloud プロジェクトでログバケットに保存されたログデータの量。
月末までの取り込みの想定: 今月の初日から月末までに Google Cloud プロジェクトでログバケットに保存されるログデータの推定量(現在の使用量に基づく)。
今月の課金対象ストレージ: 30 日以上保持された課金対象のログデータの量。
上記の統計情報には、
_Required
バケット内のログは含まれません。そのバケットのログを除外したり、無効にしたりすることはできません。Google Cloud コンソールの [ログルーター] ページには、毎月の割り当てを超えるログバケットへのログの保存やストレージの料金を最小限に抑えるために使用できるツールが用意されています。以下の操作を行います。
- バケットレベルでのログの保存を無効にする
- 特定のログエントリをログバケットへの保存から除外します。
詳細については、シンクを管理するをご覧ください。
バケットの管理
このセクションでは、Google Cloud CLI や Google Cloud コンソールを使用してログバケットを管理する方法を説明します。
バケットを更新する
バケットのプロパティ(説明や保持期間など)を更新するには、次の操作を行います。Google Cloud コンソール
バケットのプロパティを更新する手順は次のとおりです。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
更新するバケットで、more_vert [その他] をクリックします。
[バケットの編集] を選択します。
必要に応じてバケットを編集します。
[バケットの更新] をクリックします。
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"
REST
バケットのプロパティを更新するには、Logging API で
projects.locations.buckets.patch
を使用します。Log Analytics を使用するためにログバケットをアップグレードする
Log Analytics を使用するように既存のログバケットをアップグレードするためには、次の制限が適用されます。
- ログバケットは Google Cloud プロジェクト レベルで作成されました。
- ログバケットは、
_Required
バケットでない限りロック解除されます。 バケットの更新が保留中でないこと。
Google Cloud コンソール
Log Analytics を使用するように既存のバケットをアップグレードするには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
アップグレードするバケットを見つけます。
[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 メソッドをご覧ください。REST
ログ分析を使用するようにログバケットをアップグレードするには、Cloud Logging API の
projects.locations.buckets.updateAsync
メソッドを使用します。次のように、メソッドの引数を準備します。
LogBucket.analyticsEnabled
ブール値をtrue
に設定します。- コマンドのクエリ パラメータには
updateMask=analyticsEnabled
を使用します。
非同期メソッドに対するレスポンスは、
Operation
オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation
オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。updateAsync
の完了には数分かかることがあります。リンクされた BigQuery データセットを作成する
BigQuery の機能を使用してログデータを分析する場合は、Log Analytics を使用するようにログバケットをアップグレードし、リンクされたデータセットを作成します。 この構成では、ログデータの保存は Logging が行いますが、ログデータの読み取りは BigQuery で行うことができます。
Google Cloud コンソール
既存のログバケットの BigQuery データセットへのリンクを作成するには、次の操作を行います。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
ログバケットを見つけ、[Log Analytics を使用可能] 列に [開く] が表示されていることを確認します。
この列に[アップグレード] と表示される場合、ログバケットは Log Analytics を使用するようにアップグレードされていません。Log Analytics を構成します。
- [アップグレード] をクリックします。
- ダイアログで [確認] をクリックします。
アップグレードが完了したら、次のステップに進みます。
ログバケットで、[展開]more_vert をクリックし、[バケットを編集] をクリックします。
[ログバケットを編集] ダイアログが開きます。
[このバケットにリンクする新しい BigQuery データセットを作成する] を選択し、新しいデータセットの名前を入力します。
データセット名は、Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットの名前を入力すると、次のエラーを受信します。
Dataset name must be unique in the selected region.
[完了]、[バケットを更新] の順にクリックします。
Logging の [ログストレージ] ページにリンクされたデータセット名が表示されてから BigQuery がデータセットを認識するまでに数分かかることがあります。
gcloud
ログ分析を使用するようにアップグレードされたログバケットのリンクされたデータセットを作成するには、
gcloud logging links create
コマンドを実行します。gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
指定した LINK_ID は BigQuery データセットの名前として使用されます。このフィールドの値は、Google Cloud プロジェクトで一意である必要があります。
links create
コマンドは非同期です。非同期メソッドの出力はOperation
オブジェクトで、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation
オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。links create
コマンドが完了するまでに数分かかります。たとえば、次のコマンドは、
my-bucket
という名前のログバケットにmylink
という名前のリンク済みデータセットを作成します。gcloud logging links create mylink --bucket=my-bucket --location=global
データセット名は、Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットと同じ名前のデータセットを作成しようとすると、次のエラーを受信します。
BigQuery dataset with name "LINK_ID" already exists.
Log Analytics を使用するようにアップグレードされていないログバケットに対して、リンクされたデータセットを作成しようとすると、次のエラーが報告されます。
A link can only be created for an analytics-enabled bucket.
REST
アップグレードされた既存のログバケットに対してリンクされた BigQuery データセットを作成するには、Log Analytics を使用します。Cloud Logging API の非同期
projects.locations.buckets.links.create
メソッドを呼び出します。次のように、メソッドの引数を準備します。
create
コマンドのリクエスト本文を作成します。リクエスト本文はLink
オブジェクトの形式です。- コマンドのクエリ パラメータには
linkId=LINK_ID
を使用します。指定した LINK_ID は BigQuery データセットの名前として使用されます。このフィールドの値は、Google Cloud プロジェクトで一意である必要があります。
非同期メソッドに対するレスポンスは、
Operation
オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation
オブジェクトにステータスが含まれます。詳細については、非同期 API メソッドをご覧ください。links.create
メソッドが完了するまでに数分かかります。データセット名は、Google Cloud プロジェクトごとに一意である必要があります。既存のデータセットと同じ名前のデータセットを作成しようとすると、次のエラーを受信します。
BigQuery dataset with name "LINK_ID" 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
REST
バケットの属性をロックするには、Logging API で
projects.locations.buckets.patch
を使用します。locked
パラメータをtrue
に設定します。バケットを一覧表示する
Google Cloud プロジェクトに関連付けられたログバケットを一覧表示し、保持設定などの詳細を確認するには、次のようにします。
Google Cloud コンソール
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
[ログバケット] という名前のテーブルに、現在の Google Cloud プロジェクトに関連付けられているバケットが一覧表示されます。
この表には、各ログバケットの次の属性が一覧表示されます。
- 名前: ログバケットの名前。
- 説明: バケットの説明。
- 保持期間: Cloud Logging がバケットのデータを保存する日数。
- リージョン: バケットのデータが保存される地理的なロケーション。
- ステータス: バケットがロックされているか、ロック解除されているか。
Cloud Logging がバケットを削除保留にしている場合、テーブル エントリにwarning警告記号の注記が付けられます。
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
REST
Google Cloud プロジェクトに関連付けられたログバケットを一覧表示するには、Logging API で
projects.locations.buckets.list
を使用します。バケットの詳細を表示する
単一のログバケットの詳細を表示する手順は次のとおりです。
Google Cloud コンソール
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
ログバケットで [more_vertその他] をクリックし、次に [バケットの詳細を表示する] を選択します。
このダイアログには、ログバケットの次の属性が表示されます。
- 名前: ログバケットの名前。
- 説明: ログバケットの説明。
- 保持期間: 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
: バケットが最後に変更された日時を示すタイムスタンプ。
REST
単一のログバケットの詳細を表示するには、Logging API で
projects.locations.buckets.get
を使用します。バケットを削除する
ログバケットを削除する方法は次のとおりです。
Google Cloud コンソール
ログバケットを削除する方法は次のとおりです。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
削除するバケットを見つけて、more_vertその他アイコンをクリックします。
[BigQuery のリンクされたデータセット] 列にリンクが表示されている場合は、リンクされた BigQuery データセットを削除します。
[バケットを編集] をクリックします。
[このバケットにリンクする新しい BigQuery データセットを作成する] チェックボックスをオフにして、[完了] をクリックし、[バケットを更新] をクリックします。
[ログストレージ] ページに戻り、削除するバケットの more_vert [その他] をクリックし、次の手順に進みます。
[バケットの削除] を選択します。
確認パネルで [削除] をクリックします。
[ログストレージ] ページに、バケットが削除保留中であることを示すインジケータが表示されます。すべてのログを含むバケットは 7 日後に削除されます。
gcloud
ログバケットを削除するには、
gcloud logging buckets delete
コマンドを実行します。gcloud logging buckets delete BUCKET_ID --location=LOCATION
ログバケットにリンクされた BigQuery データセットがある場合は、そのバケットを削除できません。
- ログバケットに関連付けられたリンクを一覧表示するには、
gcloud logging links list
コマンドを実行します。 - データセットを削除するには、
gcloud logging links delete
コマンドを実行します。
REST
バケットを削除するには、Logging API で
projects.locations.buckets.delete
を使用します。ログバケットにリンクされた BigQuery データセットがある場合、そのバケットを削除するとエラーになります。ログバケットを削除する前に、リンクされたデータセットを削除する必要があります。
- ログバケットに関連付けられたリンクを一覧表示するには、
projects.locations.buckets.links.list
メソッドを実行します。 - リンクされたデータセットを削除するには、
projects.locations.buckets.links.delete
メソッドを実行します。
削除されたバケットはこの保留状態が 7 日間続き、Logging はその間、ログをバケットにルーティングし続けます。削除されたバケットへのログのルーティングを停止するには、そのバケットを宛先として持つログシンクを削除するか、シンクのフィルタを変更して削除されたバケットへのログのルーティングを停止します。
保留状態の削除されたバケットと同じ名前を使用して、新しいログバケットを作成することはできません。
削除したバケットを復元する
削除保留状態のログバケットは削除を取り消して、復元することもできます。ログバケットを復元する方法は次のとおりです。
Google Cloud コンソール
削除保留中のログバケットを復元する手順は次のとおりです。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
復元するバケットで、[more_vertその他] をクリックし、[削除したバケットを復元する] を選択します。
確認パネルで [復元] をクリックします。
ログストレージ ページで、削除が保留中であることを示すインジケータがログバケットから削除されます。
gcloud
削除保留中のログバケットを復元するには、
gcloud logging buckets undelete
コマンドを実行します。gcloud logging buckets undelete BUCKET_ID --location=LOCATION
REST
削除保留中のバケットを復元するには、Logging API で
projects.locations.buckets.undelete
を使用します。ログバケットへの保存ログバイト数の月間合計に関するアラート
アラート ポリシーを作成するには、Google Cloud コンソールの [ログストレージ] ページで、add_alert [使用状況アラートを作成] をクリックします。このボタンをクリックすると、Monitoring の [アラート ポリシーの作成] ページが開き、指標タイプ フィールドに
logging.googleapis.com/billing/bytes_ingested
が入力されます。ログバケットに書き込まれたログバイト数が Cloud Logging のユーザー定義の上限を超えたときにトリガーされるアラート ポリシーを作成するには、次の設定を使用します。
[新しい条件]
フィールド
値リソースと指標 [リソース] メニューで、[グローバル] を選択します。
[指標カテゴリー] メニューで、[ログベースの指標] を選択します。
[指標] メニューで、[取り込みログバイト数の月間合計] を選択します。フィルタ なし 時系列全体
時系列集計sum
ローリング ウィンドウ 60 m
ローリング ウィンドウ関数 max
アラート・トリガーの構成
フィールド
値条件タイプ Threshold
アラート トリガー Any time series violates
しきい値の位置 Above threshold
しきい値 許容値を決定します。 再テスト ウィンドウ 最小許容値は 30 分です。 アラート ポリシーに関する説明は、アラートの概要をご覧ください。
バケットに書き込む
ログバケットに直接ログを書き込むことはありません。代わりに、ログを Google Cloud リソース(Google Cloud プロジェクト、フォルダ、または組織)に書き込みます。親リソースのシンクは、ログバケットを含むエクスポート先にログを転送します。ログがシンクのフィルタと一致し、シンクにログをログバケットに転送する権限がある場合、シンクはログをログバケットの宛先に転送します。
バケットからの読み取り
各ログバケットには、一連のログビュー保存されています。ログバケットからログを読み取るには、ログバケットのログビューへのアクセス権が必要です。ログビューを使用すると、ログバケットに保存されているログのサブセットに対してのみユーザーにアクセス権を付与できます。ログビューの構成方法と、特定のログビューへのアクセス権を付与する方法については、ログバケットのログビューを構成するをご覧ください。
ログバケットからログを読み取る手順は次のとおりです。
Google Cloud コンソール
-
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
ログ エクスプローラに表示されるログをカスタマイズするには、[範囲を絞り込む] をクリックしてオプションを選択します。たとえば、プロジェクトに保存されているログやログビューでログを表示できます。
[適用] をクリックします。[クエリ結果] ペインが選択したオプションに一致するログに再読み込みされます。
詳細については、ログ エクスプローラの概要: 範囲を絞り込むをご覧ください。
gcloud
ログバケットからログを読み取るには、
gcloud logging read
コマンドを使用しLOG_FILTER
を追加してデータを選択します。gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID
REST
ログバケットからログを読み取るには、entries.list メソッドを使用します。
resourceNames
を設定して適切なバケットとログビューを指定し、filter
を設定してデータを選択します。フィルタリング構文の詳細については、Logging のクエリ言語をご覧ください。
カスタム保持の構成
ログバケットを作成するときに、Cloud Logging がバケットのログを保存する期間をカスタマイズできます。 保持期間は、ユーザー定義のログバケットと
_Default
ログバケットのそれぞれで構成できます。バケットの保持期間を短縮すると、7 日間の猶予期間があり、その間、期限切れのログは削除されません。期限切れのログに対してクエリを実行することや表示することはできませんが、この 7 日間はバケットの保持期間を延長することで完全なアクセス権を復元できます。猶予期間中に保存されたログは、保持費用にカウントされます。
ログバケットの保持期間を更新する手順は次のとおりです。
Google Cloud コンソール
ログバケットの保持期間を更新する手順は次のとおりです。
-
Google Cloud コンソールで、[ログストレージ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] である結果を選択します。
更新するバケットで [more_vertその他] をクリックし、[バケットを編集する] を選択します。 。
[保持] フィールドに、Cloud Logging でログを保持する日数を入力します(1~3,650 日)。
[バケットの更新] をクリックします。新しい保持期間が [ログバケット] のリストに表示されます。
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
エンドポイントをポーリングする必要があります。done
がfalse
の場合は、オペレーションが進行中です。ステータス情報を更新するには、
operation.get
エンドポイントにGET
リクエストを送信します。done
がtrue
の場合、オペレーションは完了し、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 権限がサービス アカウントにあるかどうかを確認するには、次の操作を行います。
-
Google Cloud コンソールの [IAM] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [IAM と管理者] である結果を選択します。
[権限] タブで、[ロール] ごとに表示します。Google Cloud プロジェクトに関連付けられたすべての IAM のロールとプリンシパルを含む表が表示されます。
テーブルの [フィルタ] テキスト ボックス filter_list に「ログバケット書き込み」と入力します。
ログバケット書き込みのロールを持つプリンシパルが表示されます。プリンシパルがサービス アカウントの場合、その ID には文字列
gserviceaccount.com
が含まれます。省略可: Google Cloud プロジェクトにログをルーティングできないようにサービスアカウントを削除する場合は、サービスアカウントのチェックボックス check_box_outline_blankをオンにして、[削除] をクリックします。
ログが
_Default
シンクから除外されていても Google Cloud プロジェクトのログが表示されるのはなぜですか?組織全体からのログを集約する一元型の Google Cloud プロジェクトのログバケットでログを表示している可能性があります。
ログ エクスプローラを使用してこれらのログにアクセスしていて、
_Default
シンクから除外したログが表示される場合は、ビューが Google Cloud プロジェクト レベルに設定されている可能性があります。この問題を解決するには、[範囲を絞り込む] メニューで [ログビュー] を選択し、Google Cloud プロジェクトの
_Default
バケットに関連付けられているログビューを選択します。これで、除外されたログが表示されなくなります。次のステップ
Logs Bucket API メソッドの詳細については、
LogBucket
リファレンス ドキュメントをご覧ください。組織またはフォルダを管理している場合は、子リソースの
_Default
ログバケットと_Required
ログバケットのロケーションを指定できます。ログバケットが CMEK を使用するかどうかと、_Default
ログシンクの動作を構成することもできます。詳細については、組織とフォルダのデフォルト設定を構成するをご覧ください。ログバケットを使用して一般的なユースケースに対応する方法については、次のトピックをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-22 UTC。
- Google Cloud CLI または Cloud Logging API を使用してログバケットを作成または管理する場合は、