ロギングデータをエクスポートするための設計パターン

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

この記事では、一般的なロギング エクスポート シナリオの設計パターンとベスト プラクティスを考察する一連の記事を紹介します。

Cloud Logging は、ログ用の運用データストアと豊富なエクスポート機能を備えています。ログをエクスポートする理由には、コンプライアンス要件に準拠する目的で長期保存(月単位または年単位)用にログを保持すること、ログから抽出した指標に対してデータ分析を実行することなどがあります。Cloud Logging では、Cloud Storage、BigQuery、Pub/Sub、Elasticsearch にエクスポートできます。

ログのエクスポート

Cloud Logging では、集約シンクを使用して組織のすべてのロギングをエクスポートすることや、ログシンクを使用して特定の Google Cloud プロジェクトのログをエクスポートすることが可能です。ロギング フィルタを使用すると、特定のプロジェクトやクラウド リソースを包含または除外できます。たとえば、サイズが大きい Cloud Load Balancing からのログを除外して、すべての Compute Engine ログをエクスポートすることなどが可能です。この方法により、すべてのログをエクスポートするか、または特定のログをエクスポートするかを柔軟に決定できます。

集約シンクを使用すると、組織では、すべてのプロジェクトから、または 1 つのフォルダからログをエクスポートできます。この機能により、組織のすべてのプロジェクトに対してログ エクスポート ポリシーを適用できます。組織レベルの IAM コントロールを使用すると、ユーザーのアクセス権をログ エクスポート設定の変更のみに限定できます。

ログ エクスポートは、集約シンクに代わる手段として組織全体ではなくプロジェクト単位で有効にされます。それ以外の点では、ログ エクスポートは集約シンクと同じです。

エクスポート方法

Cloud Logging からログをエクスポートするには、次の 3 つの方法があります。

  • ファイルへのエクスポート: Cloud Storage に保存された JSON ファイル
  • BigQuery へのエクスポート: BigQuery データセットに作成されたロギング テーブル
  • Pub/Sub へのエクスポート: Pub/Sub トピックに配信された JSON メッセージ

エクスポートされる内容

Cloud Logging で使用可能なログタイプについては、使用可能なログをご覧ください。

ロギングの形式

ログのタイプに応じて、3 種類のロギング ペイロード形式があります。

textPayload
コンテンツは 1 つの文字列として表現されます。この形式を使用するログの例として、Cloud Logging エージェント(syslog を含む)により報告されるログと Cloud SQL ログがあります。
protoPayload
コンテンツは、プロトコル バッファとして表現され、ログ対象の特定のコンテンツに応じて異なります。管理アクティビティ監査ログとデータアクセス監査ログは、どちらもこの形式でエクスポートされます。これらのログに対応する BigQuery の JSON 構造とテーブル構造は、エクスポートされるエントリの種類に応じて異なります。
jsonPayload
コンテンツは、JSON オブジェクトとして表現され、ログに記録される特定のコンテンツに応じて異なります。この形式を使用するログの例として、Compute Engine や Compute Engine オートスケーラーのアクティビティ ログがあります。

ログ形式と、BigQuery テーブル構造および JSON エクスポート ファイル構造との対応については、スキーマとフィールドのドキュメントで詳しく説明します。BigQuery Export に対するクエリを記述する場合、またはファイルや Pub/Sub エクスポート JSON ファイルを解析する場合は、ロギング ペイロード形式を検討してください。ログの詳細な形式については、LogEntry の API 定義に記載されています。

ロギング エクスポートのシナリオ

このシリーズの記事では、ログをエクスポートするシナリオについて説明します。各シナリオでは、要件、設定、使用方法、およびエクスポートの共有方法を詳しく説明します。

次のステップ