集約エクスポート

組織では、集約エクスポート シンクを作成して、組織のすべてのプロジェクト、フォルダ、請求先アカウントのログエントリをエクスポートすることができます。たとえば、組織はこの機能を使用して、プロジェクトの監査ログエントリを 1 か所にまとめてエクスポートできます。

概念

集約エクスポート機能がないと、エクスポート シンクは、シンクが作成されたリソース(プロジェクト、組織、フォルダ、請求先アカウント)のログエントリをエクスポートすることのみができます。

組織またはフォルダでシンクを作成し、シンクの includeChildren パラメータを True に設定すると、そのシンクは組織またはフォルダのログエントリだけでなく、含まれているフォルダ、請求先アカウント、プロジェクトのログエントリを(再帰的に)エクスポートできます。シンクのフィルタによって、特定のプロジェクト、特定のリソースタイプ、特定の名前のログのログエントリを選択できます。

エクスポート シンクとその作成方法については、API でのログのエクスポートをご覧ください。

集約エクスポート シンクの作成

フォルダ、請求先アカウント、組織でシンクを作成するには、Stackdriver Logging API を使用する必要があります。

集約エクスポート シンクを作成するには、次の手順に従います。

  1. エクスポート先を選択または作成します。どのプロジェクト内でも可能です。シンクを作成した後は、シンクがエクスポート先に書き込むことを承認する必要があります。

  2. API の organizations.sinks.create メソッドまたは folders.sinks.create メソッドを使用してシンクを作成します。メソッドの呼び出しを次のように設定します。

    1. parent パラメータを、シンクを作成する組織またはフォルダに設定します。親は次のいずれかにする必要があります。

      organizations/[ORGANIZATION_ID]
      folders/[FOLDER_ID]
      

      シンクを作成する親にはログ設定書き込みの IAM 役割が必要です。Stackdriver Logging IAM の役割の詳細については、アクセス制御ガイドをご覧ください。

    2. uniqueWriterIdentity パラメータを True に設定します。

    3. メソッドのリクエスト本文の LogSink オブジェクトで、次の設定を行います。

      • includeChildren を True に設定します。

      • すべてのプロジェクトのログエントリがフィルタと照合されることを考慮して filter プロパティを設定します。

        役立つフィルタの例については、このページの集約エクスポートでのフィルタの使用をご覧ください。

      • 残りの LogSink フィールドを他のシンクの場合と同様に設定します。特に、シンクがログエントリのエクスポートを開始するタイミングを制御するために startTime を設定できます。詳細については、シンクを作成するをご覧ください。

    4. organizations.sinks.create または folders.sinks.create を呼び出してシンクを作成します。

  3. シンクがエクスポート先に書き込むことを承認します。

    1. シンクのサービス アカウント名をシンク オブジェクトの writerIdentity フィールドから取得します。

    2. そのサービス アカウントにエクスポート先への書き込み権限を付与します。

      その変更をエクスポート先に加える権限がない場合は、自分に代わってその変更を行うことができる人にサービス アカウント名を送信します。

      サービス アカウントにリソースに対する権限を付与する方法の詳細については、サービス アカウントへの役割の付与をご覧ください。

集約エクスポートでのフィルタの使用

他のシンクと同様に、集約エクスポート シンクにも個々のログエントリを選択するフィルタが含まれます。以下に、集約エクスポート機能を使用するときに役立つフィルタ比較の例を示します。フィルタの詳細については、高度なログフィルタをご覧ください。一部の例で次の表記を使用しています。

  • : は部分文字列演算子です。= 演算子に置き換えないでください。
  • ... はさらにフィルタ比較が続くことを表します。

監査ログの選択

監査ログをエクスポートするには、次の比較例のいずれかを選択します。最初の例を使用すると、管理アクティビティとデータアクセスの両方の監査ログが選択されます。

logName:"/logs/cloudaudit.googleapis.com" AND ...
logName:"/logs/cloudaudit.googleapis.com%2Factivity" AND ...
logName:"/logs/cloudaudit.googleapis.com%2Fdata_access" AND ...

監査ログの詳細については、Cloud Audit Logging をご覧ください。

プロジェクトの選択

特定のプロジェクト、フォルダ、または組織からのログをエクスポートするには、次の比較例のいずれかを使用します。

logName:"projects/[PROJECT_ID]/logs/" AND ...
logName:("projects/[PROJ_A]/logs/" OR "projects/[PROJ_B]/logs/") AND ...
logName:"folders/[FOLDER_ID]/logs/" AND ...
logName:"organizations/[ORGANIZATION_ID]/logs/" AND ...

リソースの選択

プロジェクトの特定のリソースのログだけをエクスポートするには、複数の比較を使用してリソースを厳密に指定します。

logName:"projects/[PROJECT_ID]/logs" AND
  resource.type=[RESOURCE_TYPE] AND
  resource.labels.instance_id=[INSTANCE_ID]

リソースタイプの一覧については、モニタリング対象リソースのリストをご覧ください。

ログエントリのサンプリング

ログエントリのランダムなサンプルをエクスポートするには、sample 組み込み関数を追加します。たとえば、現在のフィルタと一致するログエントリの 10% だけをエクスポートするには、次の記述を追加します。

sample(insertId, 0.10) AND ...

詳細については、sample 関数をご覧ください。

Stackdriver Logging のフィルタの詳細については、高度なログフィルタをご覧ください。

フィードバックを送信...