Stackdriver Logging のエクスポートのための設計パターン

この一連の記事では、一般的なログ エクスポート シナリオのベスト プラクティスを紹介します。

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

ログをエクスポートする

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

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

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

エクスポート方法

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

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

エクスポートされる内容

Stackdriver Logging エクスポートの対象となるログのタイプは次の 2 種類です。

Stackdriver によって監視されるサービスのログ

これらのログには、クラウド インフラストラクチャのサービスから作成されたログ、マネージド サービス(Compute Engine、Cloud SQL、Cloud Datastore など)のログ、監視対象サービスリストに含まれるその他のサービスのログが含まれます。さらに、Stackdriver Logging エージェントsyslogjenkinsmongodb)により配信されるログと、エージェント ログリストに記載されているその他のすべてのログも含まれます。基盤となる Fluentd 設定を行うことで、追加のログを報告するように Logging エージェントを設定できます。

Cloud Audit Logging

Cloud Audit Logging では、プロジェクトおよび組織ごとに、管理アクティビティとデータアクセスの 2 種類の監査ログが維持されます。Google Cloud Platform(GCP)サービスによって、これらのログに監査ログエントリが書き込まれるので、GCP プロジェクト内で誰が、何を、どこで、いつ行ったかを調べるのに役立ちます。管理アクティビティ ログには、リソースの設定やメタデータを変更する API 呼び出しその他の管理アクションに関するログエントリが含まれます。データアクセス監査ログには、ユーザー提供データを作成、変更、または読み込む API 呼び出しが記録されます。監査ログを作成するサービスの一覧をご覧ください。

ロギングの形式

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

textPayload

コンテンツは 1 つの文字列として表現されます。この形式を使用するログの例として、Stackdriver Logging エージェント(syslog を含む)により報告されるログと Cloud SQL ログがあります。

protoPayload

コンテンツはプロトコル バッファとして表現され、ログ対象の特定のコンテンツに応じて異なります。管理アクティビティ監査ログとデータアクセス監査ログは、どちらもこの形式でエクスポートされます。これらのログに対応する BigQuery の JSON 構造とテーブル構造は、エクスポートされるエントリのタイプに応じて異なります。

jsonPayload

コンテンツは JSON オブジェクトとして表現され、ログに記録される特定のコンテンツに応じて異なります。この形式を使用するログの例として、Compute Engine や Compute Engine オートスケーラーのアクティビティ ログがあります。

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

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

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

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