監査データで 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 の監査ログシンクのデータでレポートを作成するには、次の手順に従ってください。
-
事前に BigQuery Intelligence を設定しておいてください。
-
レポートを開き、左側サイドバー上部の「Change」を選択してください。

-
データソースとして「BigQuery Intelligence」を選択してください。
-
「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÷(endTime−startTime)。 -
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:ジョブの状態。値は PENDING・RUNNING・DONE。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:ステートメントタイプ。例:SELECT・INSERT・CREATE_TABLE・CREATE_MODEL。BigQuery AuditData の
jobConfiguration.query.statementTypeに対応。 -
Caller IP:呼び出し元 IP アドレス。監査ログの
requestMetadata.callerIpに対応。 -
User:リクエストを行った認証済みユーザー(または第三者プリンシパルの代行をするサービスアカウント)のメールアドレス。監査ログの
authenticationInfo.principalEmailに対応。
例
ユーザー別に使用量を内訳表示

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

関連項目
-
Google Cloud ドキュメント:BigQuery 監査ログの概要
-
Google Cloud ドキュメント:監査ログの呼び出し元の識別情報