メインコンテンツへスキップ

監査データを使用して BigQuery のアクティビティを分析する

概要

Google Cloud は、関連する管理アクティビティやアクセスを記録するために、BigQuery audit logs を生成します。これらの監査ログにより、テーブルの作成・削除、スロットの購入、ロードジョブの実行など、BigQuery の利用に関連する運用面の状況を把握できます。

DoiT の BigQuery Intelligence 機能は、BigQuery Intelligence ダッシュボードに表示されるウィジェット向けに BigQuery 監査ログのシンクを設定し、BigQuery 利用状況の分析を容易にします。さらに、BigQuery Intelligence によって収集された監査ログを活用し、データソースとして BigQuery Intelligence を使用して Cloud Analytics のレポート内で独自の分析を実行することもできます。

必要な権限

  • Cloud Analytics User

BigQuery Intelligence データを使用してレポートを作成する

BigQuery Intelligence の監査ログシンクからのデータを使用してレポートを作成するには、次の手順に従ってください。

  1. 事前に BigQuery Intelligence を設定しておいてください。

  2. レポートを開きます。左側サイドバー上部の Change を選択してください。

    Update data source

  3. データソースとして BigQuery Intelligence を選択してください。

  4. 新しいレポートを作成 するか、現在のレポートを Update するかを選択できます。レポートを更新すると、現在のすべての設定が失われる点に注意してください。

メトリクスとディメンション

Cloud Analytics のレポートでは、請求データと BigQuery の監査ログで異なるメトリクスセットとディメンションセットを使用します。

メトリクス

BigQuery 監査ログの基本メトリクスおよび拡張メトリクスは、BigQuery AuditData 内の jobStatistics オブジェクトのフィールドを利用します。

基本メトリクス

  • Cost:処理済みバイト数(totalBilledBytes)を TiB に変換し、オンデマンドスキャン料金 を乗じたもの。

  • Usage:処理済みバイト数(totalBilledBytes)を TiB に変換し、ジョブの CPU 使用率で補正したもの。

拡張メトリクス

  • Slots Used:消費された合計 slot-ms をクエリの実行時間で割った値:totalSlotMs ÷(endTimestartTime)。

  • Total Slots Ms:クエリジョブで消費された合計 slot-ms。totalSlotMs に対応します。

  • Total Load Output Bytes:インポートジョブでロードされた合計バイト数。totalLoadOutputBytes に対応します。

  • Total Tables Processed:クエリ内で参照された一意のテーブル数の合計。totalTablesProcessed に対応します。

  • Total Billed Bytes:ジョブの CPU 使用率で補正された処理済みバイト数。totalBilledBytes に対応します。

  • Total Processed Bytes:ジョブで処理された合計バイト数。totalProcessedBytes に対応します。

ディメンション

レポートのデータソースが BigQuery Intelligence の場合に利用できる標準ディメンションは次のとおりです。

  • Event name:イベント名。BigQuery AuditData 内の jobCompletedEvent.eventName に対応します。

  • Job Status:ジョブの状態:PENDINGRUNNING、または DONE。BigQuery AuditData 内の jobStatus.state に対応します。

  • Project・Account name:完了したジョブの、人間が読める Google Cloud のプロジェクト名。BigQuery AuditData 内の jobName.projectId に対応します。

  • Query Priority:クエリに付与された優先度:QUERY_INTERACTIVE または QUERY_BATCH。BigQuery AuditData 内の jobConfiguration.query.queryPriority に対応します。

  • Region:完了したジョブのロケーション。BigQuery AuditData 内の jobName.location に対応します。

  • Reservation:リザベーション名、またはオンデマンドリソース使用時の unreserved。BigQuery AuditData 内の JobStatistics.reservation に対応します。

  • Resource:参照されたリソースの URI。たとえば、insert ジョブで作成されたテーブルは、そのテーブルのリソース URI を報告します。BigQueryAuditMetadata メッセージ内の protoPayload.resourceName に対応します。

  • Statement Type:ステートメントの種類。例:SELECTINSERTCREATE_TABLECREATE_MODEL。BigQuery AuditData 内の jobConfiguration.query.statementType に対応します。

  • Caller IP:呼び出し元の IP アドレス。監査ログ内の requestMetadata.callerIp に対応します。

  • User:リクエストを行った認証済みユーザー(またはサードパーティ主体の代わりとなるサービスアカウント)のメールアドレス。監査ログ内の authenticationInfo.principalEmail に対応します。

ユーザー別に利用状況を分解する

Usage-by-user

ジョブ ID ごとに時間単位の重いクエリを特定する

Usage-by-user

関連情報