健全性、リソース使用率、ジョブをモニタリングする

BigQuery 管理者は、管理リソースグラフを使用して、組織の健全性、スロットの使用、BigQuery ジョブのパフォーマンスを時間の経過とともにモニタリングできます。

運用の健全性ダッシュボードを表示するには、管理プロジェクトでアクセスする予約が少なくとも 1 つ必要です。リソースグラフとジョブ エクスプローラは、適切な権限を持つすべてのユーザーが利用できます。

必要なロール

管理リソースグラフのすべてのデータを表示するために必要な権限を取得するには、組織に対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与の詳細については、アクセスの管理をご覧ください。

これらの事前定義ロールには、管理リソースグラフのすべてのデータを表示するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

管理リソースグラフのすべてのデータを表示するには、次の権限が必要です。

  • 組織に対する bigquery.jobs.listExecutionMetadata
  • 組織に対する bigquery.jobs.listAll
  • 予約管理プロジェクトに対する bigquery.reservationAssignments.list
  • 予約管理プロジェクトに対する bigquery.capacityCommitments.list
  • 運用状況の概要データを表示するには: 組織に対する bigquery.tables.get or bigquery.tables.list
  • 予約レベルで部分的なデータを表示するための権限:
    • 予約管理プロジェクトに対する bigquery.reservations.list
    • 予約管理プロジェクトに対する bigquery.reservationAssignments.list
  • 管理リソースグラフに予約容量データを表示するには: 予約管理プロジェクトに対する bigquery.capacityCommitments.list
  • プロジェクト レベルでデータを表示するには: プロジェクトに対する bigquery.jobs.listAll

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

組織全体の運用の健全性をモニタリングする

この機能に関するフィードバックやサポートのリクエストを行う場合は、bq-operational-health [email protected] 宛てにメールを送信してください。

運用の健全性ダッシュボードには、予約があるすべてのロケーションにおける組織の主な指標と予約が表示されます。このダッシュボードを使用して、次のような指標をモニタリングできます。

  • スロットの使用状況
  • シャッフル使用
  • ジョブの同時実行
  • エラー
  • ジョブの所要時間
  • 処理されたバイト数
  • 合計使用容量

BigQuery は、次の INFORMATION_SCHEMA ビューにクエリを実行して、この情報を提供します。

運用の健全性をモニタリングする手順は次のとおりです。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. プロジェクト メニューで、スロットの購入と予約の作成に使用した管理プロジェクトを選択します。

  3. ナビゲーション パネルで、[管理] > [モニタリング] を選択します。デフォルトでは、運用の健全性グラフには、すべてのロケーションとすべての予約のサマリー指標が表示されます。

  4. より頻繁に更新されるデータを表示するには、[ライブデータ] を切り替えます。[ライブデータ] が有効になっている場合、データは 5 分ごとに自動的に更新されます。[ライブデータ] が無効になっている場合、データ未更新の最大時間は約 1 時間です。データの最終更新時刻が表示されます。

詳細ビューを表示するには、詳細なタイムライン グラフを表示する値を選択します。

  1. [ロケーションを選択] リストで、特定のリージョンを選択します。
  2. [予約を選択] リストで、予約を選択します。
  3. [期間] リストで、期間を選択します。
  4. 主要指標グラフのいずれかから詳細情報を取得するには、[もっと見る] をクリックします。ジョブ エクスプローラ グラフで詳細情報を取得するには、アクティブな上位クエリのチャートで [もっと見る] をクリックします。

ビュー

[運用の健全性] タブには、次のビューが表示されます。

概要ビュー

概要ビューには、組織の過去 30 分間の予約やリージョンなど、サブシステムの健全性が表示されます。

BigQuery 管理概要ビュー。

概要ビューを表示する手順は次のとおりです。

  • [運用の健全性] グラフの [ロケーションを選択] リストで、[すべてのロケーション] を選択します。

詳細ビュー

詳細ビューには、ロケーションまたは予約レベルでさまざまな指標の詳細なタイムライン グラフが表示されます。

BigQuery 管理詳細ビューの概要。

詳細ビューを表示する手順は次のとおりです。

  • [運用の健全性] グラフの [ロケーションを選択] リストでリージョンかエディションを選択するか、[予約を選択] リストで予約名を選択します。

グラフ

[運用の健全性] タブには、次のグラフ構成オプションが表示されます。

サマリー テーブル

サマリー テーブルには次の指標が表示されます。

  • スロットの使用状況。平均スロット使用率。スロットの合計容量は、ベースラインの容量と自動スケーリングの最大容量に等しくなります。
  • シャッフル使用。すべての平均予約シャッフル使用率の最大値。
  • 同時実行。同時に実行されたジョブの最大数。
  • 処理されたバイト数。完了したジョブによって処理された合計バイト数。
  • ジョブの所要時間。完了したジョブの平均実行時間。ジョブの作成時刻からジョブの終了時刻までに計算されます。
  • 合計使用容量。最終更新日時のアクティブな合計論理バイト数。

ロケーション別または予約別のビューには、2 つのサマリー テーブルが表示されます。テーブルの各行は、1 つのロケーションまたは 1 つの予約使用状況を表します。

テーブルには、最終更新の 30 分前までの指標が表示されます。[ライブデータ] が有効になっている場合、データは 5 分ごとに自動的に更新されます。[ライブデータ] が無効になっている場合、データ未更新の最大時間は約 1 時間です。

指標がしきい値を超えると、テーブルのセルが色分けされます。すべてのしきい値は事前定義されており、カスタマイズすることはできません。過去 30 分間の指標値が前日の使用状況の P99 値より大きい場合、テーブルセルは濃い青色の背景でマークされます。最終更新の 30 分前の指標値が前日の使用量の P95~P99 値の範囲内にある場合、テーブルセルは明るい青色の背景で示されます。

BigQuery の管理サマリー テーブル。

データをフィルタする

次の値に基づいて、グラフのデータをフィルタできます。

BigQuery 管理フィルタデータ。

  • ロケーション。過去 30 日間に組織がアクティビティを行ったリージョンが表示されます。概要ビューには、すべてのアクティブ リージョンの使用状況を追跡するためのリージョン別サマリー テーブルが表示されます。
  • 予約。このフィールドは、リージョンを選択した後に選択可能になります。表示元の管理プロジェクトが所有するすべての予約を使用できます。予約は 1 つだけ選択できます。
  • 期間。このフィールドは詳細ビューでのみ使用できます。これは、詳細ビューの指標のタイムライン グラフエラー ドーナツグラフに影響します。指標タイムライン グラフのデータ目盛りは、選択した期間に基づいて自動的に調整されます。

アクティブな上位クエリのグラフ

このグラフには、アクティブなリソースを持つ上位 10 個のジョブが降順で表示されています。プルダウン メニューを使用すると、スロットの使用状況またはジョブの所要時間に基づいて並べ替えオプションを選択できます。ジョブ ID と関連するリソース使用量が棒グラフで表示されます。アクティブな上位クエリのグラフで [もっと見る] を選択して、ジョブ エクスプローラを表示します。実行の詳細を確認し、BigQuery ジョブのパフォーマンスの問題を診断するには、クエリ実行グラフをご覧ください。

BigQuery 管理の上位ジョブリスト バー。

エラー ドーナツグラフ

このグラフは、選択した期間の上位障害原因の割合を示します。概要ビューには、デフォルトで過去 30 分間が表示されます。詳細ビューでは、期間セレクタはその範囲を制御します。エラーは、タイプ、オーナー プロジェクト、または予約別にグループ化できます。失敗したジョブの数は、ドーナツグラフに表示されます。

BigQuery のエラー ドーナツグラフ。

指標のタイムライン グラフ

これらのグラフには、最大 30 日にわたってサポートされている指標の概要が表示されます。デフォルトの期間は 1 時間です。選択した期間が変更されると、グラフの各データポイントの粒度が自動的にスケーリングされます。

これらのグラフには、リージョンまたは予約の集計値が表示されます。複数のリージョンまたは複数の予約のデータを表示することはできません。

BigQuery 指標のタイムライン グラフ。

指標のタイムライン グラフでは、次の指標がサポートされています。

  • スロットの使用状況。選択した期間の平均スロット使用量。すべてのジョブと失敗したジョブの全体的なスロット使用量が別々に表示されます。
  • ジョブの同時実行。選択した期間に同時に実行されたジョブの最大数。実行中のジョブと保留中のジョブの数が別々に表示され、積み上げ棒グラフとして表示されます。
  • スキャンされたバイト数。選択した期間中に完了したジョブによって処理された合計バイト数。
  • シャッフル。選択した期間のすべての予約平均シャッフル使用率の最大値。
  • ジョブの所要時間。選択した期間中に完了したジョブの平均実行時間。ジョブの作成時刻からジョブの終了時間まで計算されます。
  • タイプ別のエラー。エラー ドーナツグラフには、選択した期間中の障害の原因ごとの割合が表示されます。

指標の傾向に加えて、これらのグラフには前日の使用状況の P95 指標値と P99 指標値の基準線が表示されます。ジョブの同時実行グラフでは、保留中のジョブと実行中のジョブの合計のしきい値が表示されます。これらの参照値は、サマリー テーブルで色分けのしきい値として使用されます。

グラフの詳細については、[もっと見る] をクリックします。[リソース使用率] タブにリダイレクトされます。

リソースの使用率を表示する

管理リソースグラフのデータは、INFORMATION_SCHEMA.JOBS ビューに基づいており、リアルタイムで更新され、最大 30 日まで遡ることができます。

BigQuery リソース使用率は、管理リソースグラフを使用して表示できます。これらのリソースグラフには、次の 3 つの主要なインタラクティブ コンポーネントがあります。

  • イベント タイムライン グラフには、最大 30 日間のデータの概要が表示されます。デフォルトは 1 日です。

  • メイングラフには、組織または予約管理プロジェクトについて選択した指標(スロットの使用量、ジョブの同時実行、ジョブのパフォーマンス、エラー、処理されたバイト数)の推移が時系列で表示されます。また、グラフのデータに関連する凡例と、期間別に集計された詳細な統計情報も表示されます。

  • サイドパネル。さまざまなグラフ、内訳、フィルタ オプションを選択できます。

次の図は、BigQuery の管理グラフのさまざまなオプションの概要を示しています。

BigQuery の管理リソースグラフの概要。

始める前に

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

    予約の管理のために、たとえば bq-COMPANY_NAME-admin などわかりやすい名前で、別の Google Cloud プロジェクト予約管理プロジェクトを作成できます。
  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the BigQuery Reservation API.

    Enable the API

    詳細については、BigQuery Reservation API を有効にするをご覧ください。

  4. Google Cloud コンソールで、スロットの割り当てを表示します。

    スロットの割り当てを表示

    スロットを購入するには、スロットを購入するリージョンに十分なスロット割り当てが必要です。

    リージョンのスロット割り当てが、購入するスロット数より少ない場合は、割り当ての増加のリクエストをご覧ください。

管理リソースグラフを表示する

デフォルトでは、予約管理プロジェクトから移動すると、エディションの管理リソースグラフにアクセスできます。予約管理プロジェクト(プレビュー)から、オンデマンド管理リソースグラフとエディション管理リソースグラフを切り替えることができます。

管理リソースグラフを表示する方法は次のとおりです。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. プロジェクト メニューで、スロットの購入と予約の作成に使用した管理プロジェクトを選択します。

  3. ナビゲーション パネルで、[管理] > [モニタリング] を選択します。

  4. [グラフ オプション] > [範囲] セクションで、リストから課金モデルを選択できます。これには、3 種類のエディションとオンデマンドが含まれます。デフォルトでは、課金モデルは Enterprise エディションに設定されています。

  5. [グラフ オプション] > [グラフの構成] セクションで、次の操作を行います。

    1. [グラフ] リストでグラフの種類を選択します。さまざまなグラフ オプションの詳細については、グラフ オプションをご覧ください。
    2. [指標] リストで、使用可能な指標タイプを選択します。
    3. [グループ条件] リストから、グラフのデータをグループ化する分割項目を選択します。さまざまな分割項目の詳細については、グループ化オプションをご覧ください。
    4. [フィルタ] リストから、使用可能なフィルタ オプションを選択します。さまざまなフィルタの詳細については、フィルタと検索をご覧ください。
    5. グラフでデータを表示する期間を設定します。

グラフの構成

次のグラフ構成オプションを変更することで、管理リソースグラフの表示を調整できます。

グラフ オプション

BigQuery には、グラフに表示する次の指標タイプが用意されています。

  • スロットの使用状況: 選択した期間の平均スロット使用量。

  • ジョブの同時実行性: 選択した期間に同時に実行されたジョブの最大数。

  • ジョブのパフォーマンス: 完了したジョブの平均実行時間。ジョブの作成時刻からジョブの終了時刻までが計算されます。

  • 失敗したジョブ: 選択した期間中における失敗したジョブのスロット使用量の平均。

  • 処理されたバイト数: 選択した期間中に完了したジョブによって処理された合計バイト数。

  • シャッフル使用: 選択した期間の平均シャッフル使用率(プレビュー)。

テーブル コンポーネント

テーブルには、管理リソースグラフで選択した期間と分割項目に関連する指標が表示されます。

  • 予約でグループ化されている場合、テーブル コンポーネントには組織内の上位の予約が表示されます。

  • ジョブでグループ化されている場合、テーブル コンポーネントには、選択した期間に組織で最も多くのスロットを使用したジョブが表示されます。

スロットの使用状況グラフでは、テーブル コンポーネントに平均スロット使用量の指標が表示されます。

  • Jobs ビュージョブの全期間の平均スロット使用量。選択した期間内の使用量と時間のみが計算に含まれます。

  • 他のすべてのビュー。選択した期間のすべてのジョブの平均スロット使用量。選択した期間内に完了しなかったジョブについては、その期間内に使用されたスロットのみが含まれます。

ジョブのパフォーマンス グラフでは、テーブル コンポーネントには次の指標が表示されます。

  • Number of jobs: 選択した期間中に実行が完了したジョブまたは部分的に実行されたジョブの数。

  • Average job duration: 選択した期間に少なくとも一部が実行された、完了したジョブのジョブ実行時間の平均。

  • Median job duration: 選択した期間に少なくとも一部が実行された、完了したジョブのジョブ実行時間の中央値。

  • Min job duration: 選択した期間に少なくとも一部実行された、完了したジョブの最小ジョブ期間。この列はデフォルトでは非表示になっていますが、[列表示オプション] で有効にできます。

  • Max job duration: 選択した期間に少なくとも一部実行された、完了したジョブの最大ジョブ期間。この列はデフォルトでは非表示になっていますが、[列表示オプション] で有効にできます。

失敗したジョブグラフでは、テーブル コンポーネントに次のデータが表示されます。

  • 平均スロット使用量: スロットの使用状況グラフと同じですが、失敗したジョブのみが対象です。

  • 失敗したジョブの合計数: 選択した期間内に失敗したジョブの数。

グループ化オプション

グラフの種類に基づいて、グラフビュー内のデータを複数の分割項目でグループ化できます。

  • 全体: [Overall] ビューには、時間の経過に伴う組織全体での選択された指標の概要が表示されます。スロット使用量、容量、使用状況は同じグラフに表示され、時間の経過に伴うスロット全体の使用率がわかります。

  • プロジェクト: [Project] ビューには、プロジェクト別にグループ化された選択された指標が表示されます。組織に 10 個以上のプロジェクトがある場合は、選択した期間でスロット使用量、ジョブの同時実行数、ジョブの継続時間、または失敗したジョブについて、上位 10 個のプロジェクトのみが表示されます。スロット使用量については、その他すべてのプロジェクトがグラフの下部にある [Other] カテゴリにまとめられるため、全体の容量と比較しやすくなります。

  • 他の group-by ビューはすべてプロジェクト ビューと同様で、データがそれぞれの分割項目によってグループ化されます。

期間オプション

期間は、次の方法で変更できます。

  • 期間を選択してイベントのタイムライン グラフにドラッグする。

  • 期間を選択してメイングラフにドラッグする。

選択した期間が変更されると、アライメント期間が自動的に更新されます。アライメント期間が短いほど、より詳細なビューが得られます。[スロットの使用状況] オプションなど、頻繁に変更されるリソースを確認しやすくするには、アライメント期間を短くします。

グラフデータを絞り込むには、フィルタパネルでフィルタを適用します。一部のフィルタは、特定のグラフでのみ使用できます。[予約]、[フォルダ]、[プロジェクト]、[ユーザー] フィルタには、選択した期間でスロットを消費したそれぞれのリソースが設定されます。たとえば、過去 30 日間使用されていないプロジェクトは、プロジェクト フィルタリストに表示されません。

フィルタを適用すると、グラフが更新されて、選択したパラメータ範囲内のデータが表示されます。

プロジェクト レベルの管理グラフデータを表示する

[グラフ オプション] で範囲を調整して、プロジェクト レベルで管理グラフの概要を生成できます。このビューは、一部のグラフ オプションと適用できないグループ化オプションを除き、組織レベルの管理グラフと同様に、プロジェクト アナリストが所有プロジェクトのリソース使用率をモニタリングするのに役立ちます。このビューには、コンテキスト プロジェクト内の課金モードに関係なく、全体的なリソース使用率が表示されます。

BigQuery プロジェクト レベルの管理リソースグラフの概要。

組織レベルの権限を持つ管理者以外のプロジェクトから管理グラフに移動すると、管理グラフはデフォルトでプロジェクト レベルに切り替わります。[グラフ オプション] の [範囲] プルダウンを使用すると、正しいビューに戻すことができます。

管理ジョブ エクスプローラを表示する

BigQuery は、次の INFORMATION_SCHEMA ビューにクエリを実行して、クエリの詳細と分析情報を提供します。

これらの INFORMATION_SCHEMA ビューはリージョン化されているため、選択したリージョンに基づいて対応するジョブを表示できます。

ジョブのフィルタ

INFORMATION_SCHEMA.JOBS* views に含まれるクエリのジョブをフィルタリングするには、次の操作を行います。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. プロジェクト メニューで、スロットの購入と予約の作成に使用した管理プロジェクトを選択します。

  3. ナビゲーション パネルで、[管理] > [モニタリング] を選択します。

  4. [ジョブ エクスプローラ] タブをクリックします。

  5. [ロケーション] リストから、ジョブを表示するロケーションを選択します。そのロケーションの INFORMATION_SCHEMA.JOBS ビューに含まれている、実行中のすべてのクエリジョブのリストを確認できます。

    過去 1 分間のスロットの合計使用量とともに、アクティブなクエリとキューに格納済みのクエリも確認できます。

  6. オプションを使用してジョブをフィルタする。 オプションを使用してジョブをフィルタします。

    図 1. ジョブのフィルタ。

    図 1 で、ジョブをフィルタするオプションは次のとおりです。

    • ジョブの実行間隔。
    • プロジェクトや組織などのジョブのスコープ。
    • ジョブ ステータス(実行中、保留中、完了、エラーなど)。
    • ジョブ ID。
    • 管理者ジョブの所有者のメール ID。
    • 指定したスロット時間よりも時間がかかったジョブ。
    • ジョブの所要時間。
    • 指定された処理バイト数を上回る量を処理したジョブ。
    • スロット競合、メモリ シャッフル容量の超過、データ入力スケールの変更など、クエリ分析情報の種類。
    • クエリハッシュには、クエリのハッシュが含まれます。これは 16 進数の STRING ハッシュで、コメント、パラメータ値、UDF、リテラルを無視します。このフィールドは、キャッシュ ヒットではない GoogleSQL クエリが成功した場合に表示されます。

クエリ実行の詳細を表示する

ジョブのクエリ実行の詳細を表示する手順は次のとおりです。

  1. [Monitoring] ページに移動します。

    [Monitoring] に移動

  2. ジョブを表示するには、[ジョブ エクスプローラ] をクリックします。

  3. ジョブをフィルタして、制限付きのジョブを表示できます。

  4. クエリ実行の詳細を表示するジョブをクリックします。

  5. [クエリ結果] ペインで [実行グラフ] タブをクリックすると、管理者ジョブの実行の詳細が表示されます。

    ジョブの実行グラフ。

    図 2.ジョブの実行グラフ。

分析情報の理解については、クエリ パフォーマンスの分析情報を解釈するをご覧ください。

請求

管理リソースのグラフとジョブ エクスプローラは、追加料金なしで使用できます。これらのグラフへの入力に使用されるクエリは課金されず、ユーザーに割り当てられている予約のスロットを使用しません。大量のデータを処理するクエリはタイムアウトします。

次のステップ