BigQuery のモニタリング

このドキュメントでは、BigQuery 指標のグラフとアラートの作成など、Stackdriver Monitoring を使用して、BigQuery リソースをモニタリングする方法について説明します。

始める前に

ダッシュボード、グラフ、アラートの表示と作成

Stackdriver Monitoring ダッシュボードの表示

Stackdriver Monitoring を使用して BigQuery プロジェクトをモニタリングするには:

  1. Google Cloud Console で、[モニタリング] ページに移動します。

    [モニタリング] に移動

  2. ページ上部でまだプロジェクトの名前を選択していない場合はここで選択します。

  3. BigQuery リソースを表示するには、[リソース] > [BigQuery] を選択します。このページには、ユーザーによる構成が可能なテーブル、イベントとインシデントのレポートの一覧と、プロジェクト指標またはデータセット指標のグラフが表示されます。

    BigQuery ダッシュボード。

利用可能なスロットと割り当てられているスロットの表示

利用可能なスロットとプロジェクトに割り当てられたスロットを表示するには、Stackdriver ダッシュボードの表示の説明に沿って、BigQuery のダッシュボードに移動します。

  1. Google Cloud Console で、[モニタリング] ページに移動します。

    [モニタリング] に移動

  2. [リソース] > [BigQuery] を選択します。

  3. BigQuery の Stackdriver Monitoring ダッシュボードで [Slot Utilization] という名前のグラフまでスクロールします。

[Slot Utilization] グラフは、メインの Stackdriver Monitoring のデフォルト ダッシュボードと、BigQuery の Stackdriver Monitoring ダッシュボードの両方に表示されます。

ダッシュボードとグラフの作成

Stackdriver Monitoring が収集した指標を自分のグラフやダッシュボードに表示します。

  1. Google Cloud Console で、[モニタリング] ページに移動します。

    [モニタリング] に移動

  2. [ダッシュボード] > [ダッシュボードを作成] を選択します。

  3. [グラフを追加] をクリックします。[グラフを追加] ページが表示されます。

    グラフページを追加します。

  4. [Find resource type and metric] パネル フィールドで、次の操作を行います。

    • [Resource type] プルダウン リストで [Global] を選択します。[グローバル] のオプションは [リソースの種類] のリストを展開しないと表示されない場合があります。
    • [Metric] プルダウン リストで [Query execution time] を選択します。
  5. [Aggregation] ペイン フィールドでは、実行時間データをどのように表示するかを指定します。この各フィールドのデフォルト設定は変更できます。

  6. [保存] をクリックします。

アラートの作成

BigQuery クエリの実行時間の 50 パーセンタイルが、ユーザーによって定義された制限値を超過すると起動するアラート ポリシーを作成するには、次の設定を使用します。

[ターゲット] ペイン
フィールド

Resource type Global
Metric Query execution time
Filter
Aggregator none
Advanced Aggregation Aligner: 50th percentile
Alignment Period: 1 m
[条件] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold 許容値を決定します。この指標では、50 パーセンタイルの平均値の約 2 倍のしきい値を検討します。
For 1 minute

可視化に使用できる指標

次の指標を使用できます。最大数時間の遅延が発生します。

リソースの種類 名前 単位 説明
BigQuery Scanned Bytes バイト数/分 スキャンされたバイト数
BigQuery Scanned bytes billed バイト数/分 課金対象の送信バイト数

Scanned Bytes と Scanned Bytes Billed はいくつかの理由で異なることがあります。

  • 最小の課金額があります。スキャンがその金額に達しない場合は、課金されません。
  • アカウントになんらかのクレジットが関連付けられている場合、これらの指標が異なることがあります。

BigQuery Query time
- 5th percentile - 50th percentile - 95th percentile - 99th percentile
キャッシュされないクエリの実行時間(秒)
BigQuery Slots allocated スロット数 任意の時点でプロジェクトに割り当てられたスロット数。これは、そのプロジェクトによって利用されているスロット数とみなすこともできます。

スロットは課金アカウントごとに割り当てられ、複数のプロジェクトで同じスロットの予約を共有できます。

BigQuery Slots allocated by job type スロット数 任意の時点でプロジェクトに割り当てられているスロットの数をジョブタイプごとに区切った数です。この数は、そのプロジェクトで利用されているスロットの数とみなすこともできます。現在、読み込みジョブとエクスポート ジョブは無料のオペレーションとなっており、公開リソースプール内で実行されます。

スロットは課金アカウントごとに割り当てられ、複数のプロジェクトで同じスロットの予約を共有できます。

BigQuery Slots available スロット数 プロジェクトで利用可能なスロットの合計数。

プロジェクトで他のプロジェクトとスロットの予約を共有している場合、他のプロジェクトによって使用されているスロットは表示されません。

BigQuery データセット Stored bytes バイト数 データセットに保存されているバイト数 - データセット内で大きさが上位 100 個のテーブルについて、保存されているバイト数がテーブルごとに(名前別に)表示されます。データセット内の他のテーブル(上位 100 個に入らないテーブル)は 1 つにまとめて合計としてレポートされ、サマリーのテーブル名は空の文字列になります。
BigQuery データセット Tables テーブル数 データセット内のテーブル数
BigQuery データセット Uploaded billed bytes バイト数/分 データセット内の任意のテーブルにアップロードされた課金対象のバイト数
BigQuery データセット Uploaded bytes バイト数/分 データセット内の任意のテーブルにアップロードされたバイト数

Uploaded Billed Bytes と Uploaded Bytes Billed はいくつかの理由で異なることがあります。

  • 最小の課金額があります。スキャンがその金額に達しない場合は、課金されません。
  • アカウントになんらかのクレジットが関連付けられている場合、これらの指標が異なることがあります。
BigQuery データセット Uploaded rows 行数/分 データセット内の任意のテーブルにアップロードされたレコード数

既知の問題

  • 実行中のクエリがない場合、Slots Allocated や Slots Available、またはクエリ関連の変数に関するデータは返されません。データを表示するには、ズームアウトしてください。

  • クエリが US と EU の両方で実行されている場合、Slots Allocated と Slots Available が正しくないことがあります。

  • Slots Allocated は時間枠(時間枠の幅はグラフのズームレベルによって異なります)の平均値として報告されます。ズームインとズームアウトによって、Slots Allocated の値が変化することがあります。1 時間以下の時間枠にズームインすると、Slots Allocated の実際の値が表示されます。グラフに表示されたどの時間についてもこの範囲では、avg(slots allocated) = slots allocated になります。

  • Stackdriver Monitoring のグラフには、選択したプロジェクトに関するデータのみが表示されます。マルチプロジェクト モニタリングは現在利用できません。