ログのエクスポートの概要

このページでは、Cloud Logging を使用してログをエクスポートするコンセプトの概要について説明します。

ログをエクスポートする方法については、このページの次のステップをご覧ください。

ログの一部またはすべてをさまざまなシンクのエクスポート先にエクスポートできます。次のような理由でログのエクスポートが必要な場合があります。

  • 長期間ログを保存するため。ログ保存期間は通常、年単位ではなく週単位です。詳しくは、ログの保持期間をご覧ください。
  • ログに対してビッグデータ分析ツールを使用するため。
  • 他のアプリケーション、他のリポジトリ、またはサードパーティにログをストリーミングするため。

一般的なログ エクスポートのシナリオに関する詳細は、Cloud Logging にエクスポートする設計パターン: ログ エクスポートのシナリオを参照してください。

エクスポートの仕組み

次の図は、Cloud Logging がエクスポートされたログエントリを処理する方法を示しています。

Cloud Logging がログエントリをルーティングする方法を示す図。

監査ログ、プラットフォーム ログ、ユーザーログを含むすべてのログは、Cloud Logging API に送信され、ここでログルーターを通過します。ログルーターは、各ログエントリを既存のルールと照合して、取り込むログエントリ、エクスポートに含めるログエントリ、破棄するログエントリを決定します。詳しくは、ログルーターの概要をご覧ください。

エクスポートするには、エクスポートするログエントリを選択するフィルタを作成し、Cloud Storage、BigQuery、Pub/Sub、Cloud Logging のエクスポート先を選択する必要があります。フィルタとエクスポート先はシンクと呼ばれるオブジェクトに保持されます。Google Cloud のプロジェクト、組織、フォルダ、請求先アカウントでシンクを作成できます。

シンクのプロパティと用語

シンクには次のプロパティがあります。

  • シンク識別子: シンクの名前。例: my-vm-error-sink

  • 親リソース: シンクを作成するリソース。親はほとんどの場合プロジェクトですが、次のいずれかになります。

    "projects/[PROJECT_ID]"
    "folders/[FOLDER_ID]"
    "billingAccounts/[BILLING_ACCOUNT_ID]"
    "organizations/[ORGANIZATION_ID]"
    

    シンクは、その親リソースに属するログのみをエクスポートできます。このルールの例外については、次の集約エクスポート プロパティをご覧ください。

    シンクの完全なリソース名には、その親リソースとシンク識別子が含まれます。例:

    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    
  • ログフィルタ: このシンクからエクスポートするログエントリを選択します。フィルタの例については、サンプルクエリをご覧ください。

  • エクスポート先: フィルタに一致するログエントリを送信する単一の場所。サポートされている送信先は次のとおりです。

    • Cloud Storage バケットは、安価で長期的なストレージを提供します。

      storage.googleapis.com/[BUCKET_ID]
      
    • BigQuery データセットは、ビッグデータ分析機能を提供します。

      bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]
      
    • Pub/Sub トピックは、他のアプリケーションまたはリポジトリにログエントリをストリーミングします。

      pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]
      
    • ロギング バケットは、カスタマイズ可能な保持期間のストレージを提供します。

      logging.googleapis.com/projects/[PROJECT_ID]/locations/[REGION]/buckets/[BUCKET_ID]
      

    ログ エクスプローラでは、[独自のエクスポート先] オプションも使用できます。これは、別のプロジェクトのエクスポート先にログを送信するエクスポートを作成する際に使用します。詳しくは、シンクの作成をご覧ください。

    ログはどのプロジェクト内のエクスポート先にもエクスポートできます。ただし、エクスポート先がシンクのサービス アカウントをライターとして承認する場合に限ります。

  • 書き込み ID: サービス アカウント名。エクスポート先のオーナーは、このサービス アカウントにエクスポート先への書き込み権限を付与する必要があります。ログのエクスポート時に、Logging はこの ID を承認に使用します。セキュリティを高めるために、新しいシンクは一意のサービス アカウントを取得します。

    [GENERATED_ID_1]@[GENERATED_ID_2].iam.gserviceaccount.com
    

    詳しくは、エクスポート先権限をご覧ください。

  • 集約エクスポートincludeChildren プロパティは集約エクスポートで説明されています。これは組織またはフォルダに作成されたシンクにのみ関連します。

シンクの詳細については、LogSink タイプ、projects.sinks.create API メソッド、API でのログのエクスポートをご覧ください。

シンクの仕組み

ログエントリがプロジェクト、フォルダ、請求先アカウント、または組織に到着するたびに、Logging はログエントリをそのリソース内のシンクと比較します。フィルタがログエントリと一致する各シンクは、ログエントリのコピーをシンクのエクスポート先に書き込みます。

アクセス制御

シンクを作成または変更するには、シンクの親リソースで Identity and Access Management 役割の オーナー または Logging/ログ構成書き込みが必要です。既存のシンクを表示するには、シンクの親リソースに IAM 役割の閲覧者または Logging / ログ閲覧者が必要です。詳しくは、アクセス制御をご覧ください。

ログをエクスポート先にエクスポートするには、シンクのライター サービス アカウントがエクスポート先への書き込みを許可されている必要があります。書き込み ID の詳細については、このページのシンク プロパティをご確認ください。

料金

Cloud Logging ではログのエクスポートは課金されませんが、エクスポート先の請求が適用されることがあります。詳しくは、該当するプロダクトの料金のページをご覧ください。

Cloud Logging から Virtual Private Cloud フローログを送信して除外した場合は、エクスポート先料金に加え VPC フローログの生成料金が適用されることにもご注意ください。

次のステップ

ログをエクスポートする

ログをエクスポートする方法については、次のページをご覧ください。

エクスポートされたログを検索して使用する

エクスポートしたログエントリの形式と、エクスポートしたログをエクスポート先で整理する方法については、エクスポートしたログの使用に移動してください。

ログ エクスポート シナリオを探す

次のチュートリアルでは、ログをエクスポートするシナリオを説明します。各チュートリアルでは、要件、設定、使用方法について詳しく説明し、エクスポートの共有方法を示します。