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

監査データで BigQuery のアクティビティを分析する

概要

Google Cloud は、関連する管理アクティビティやアクセスを記録するために、BigQuery audit logs を生成します。これらの監査ログは、テーブルの作成や削除、スロットの購入、ロードジョブの実行など、BigQuery の利用に関わる運用上の懸念点に関するインサイトを提供します。

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

必要な権限

  • Cloud Analytics User

BigQuery Intelligence のデータを使ってレポートを作成する

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

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

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

    Update data source

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

  4. 「Create a new report」または現在のレポートを「Update」できます。なお、「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:ジョブの状態。値は PENDINGRUNNINGDONE。BigQuery AuditData の jobStatus.state に対応。

  • プロジェクト・アカウント名:完了したジョブの人間が読める 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

関連項目