メインコンテンツまでスキップ

監査データを使用して 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. Create a new report を選択するか、現在のレポートを 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 に対応。

  • 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

関連情報