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

-
データソースとして BigQuery Intelligence を選択します。
-
Create a new report を選択するか、現在のレポートを 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に対応。 -
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:ステートメントの種類。例: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 ドキュメント:監査ログの呼び出し元 ID