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

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

  • BigQuery の運用の健全性をモニタリングするBigQuery のリアルタイム運用健全性のモニタリングは、組織全体と複数のロケーションにおける BigQuery の使用状況を観察できる一元化されたモニタリング システムです。

  • 管理リソースの使用率を表示する管理リソースグラフは、主に、過去のリソース使用に基づく容量計画のための根本原因分析やパフォーマンスの変化の診断などに使用します。

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

必要なロール

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

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

必要な権限

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

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

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

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

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

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

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

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

    [BigQuery] に移動

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

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

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

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

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

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

ビュー

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

概要ビュー

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

BigQuery 管理概要ビュー。

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

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

詳細ビュー

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

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

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

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

詳細ビューに表示されるデータをさらに絞り込むには、次のオプションのフィルタを使用します。

  • [予約を選択] リストで、予約名を選択します。
  • [プロジェクトを選択] リストで、プロジェクトを選択します。

グラフ

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

サマリー テーブル

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

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

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

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

指標がしきい値を超えると、テーブルのセルが色分けされます。すべてのしきい値は事前定義されており、カスタマイズすることはできません。色分けは、繰り返しジョブのパフォーマンス分析情報の数が増加し、通常の指標値よりも高い場合に適用されます。最終更新の 30 分前の指標値が、前週の同じ曜日の使用量の P99 値より大きい場合、テーブルセルは濃い青色の背景でマークされます。30 分間の指標値が、前週の同じ曜日の使用量の P95 ~ P99 値の範囲内にある場合、テーブルセルは明るい青色の背景で示されます。

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

データをフィルタする

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

BigQuery 管理フィルタデータ。

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

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

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

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

エラー ドーナツグラフ

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

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

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

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

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

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

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

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

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

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

分析情報の表

この表には、選択した期間内のジョブ実行中に収集された割り当てエラー、アクセス拒否エラー、パフォーマンス分析情報が集約されます。分析情報は予約レベルで集計されます。各行には、インサイト タイプ、ロケーション、予約、インサイトの詳細、サンプルジョブ ID に関する情報が表示されます。ジョブ ID をクリックすると、ジョブ エクスプローラでジョブの詳細が表示されます。概要ビューでは、デフォルトのモニタリング期間は過去 30 分間です。詳細ビューでは、期間セレクタを使用して、観測データを表示する特定の期間を制御します。

BigQuery 分析情報テーブル。

単一プロジェクトの運用の健全性をモニタリングする

プロジェクトの運用の健全性ダッシュボードは、組織全体にアクセスできない場合や、プロジェクトが予約を所有していない場合に表示されるデフォルトのビューです。このビューは、組織レベルの運用状況ダッシュボードと同様に、プロジェクト アナリストがプロジェクトのシステムの健全性をモニタリングするのに役立ちますが、グラフとフィルタにはプロジェクト レベルのデータのみが表示されます。

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

管理リソースグラフのデータは、INFORMATION_SCHEMA.JOBS ビューINFORMATION_SCHEMA.JOBS_TIMELINE ビューに基づいており、リアルタイムで更新され、最大 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 には、グラフに表示する次の指標タイプが用意されています。

  • スロットの使用状況。平均スロット使用量。[グループ条件] オプションが [全体] に設定されている場合、または [フィルタ] が [なし] または単一の予約の場合、容量と借用スロットの使用状況の指標も表示されます。

    • 合計使用量。選択した期間の平均スロット使用量。
    • 借用されたスロットの使用状況。予約の容量を超える平均使用量。これは通常、他の予約とコミットメントから借用されたアイドル状態のスロット、または使用データの丸め誤差です。
    • コミットメント容量。エディションのコミットメント サイズ。
    • ベースライン容量。予約のベースライン サイズ。
    • 自動スケーリング容量。自動スケーリングされたスロットサイズ。
    • 最大容量。ユーザーがアクセスできるスロットの最大数。
  • ジョブの同時実行性: 選択した期間に同時に実行されたジョブの最大数。

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

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

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

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

テーブル コンポーネント

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

[スロットの使用状況] グラフには、選択した期間に実行されたすべてのジョブの平均スロット使用量が表示されます。選択した期間内に完了しなかったジョブには、その期間内に使用されたスロットのみが含まれます。

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

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

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

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

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

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

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

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

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

グループ化オプション

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

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

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

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

期間オプション

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

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

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

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

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

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

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

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

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

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

課金

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

次のステップ