Stackdriver を使用した BigQuery のモニタリング

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

始める前に

  • Stackdriver Monitoring を使用する前に、次を用意しておきます。

    • Google Cloud Platform アカウント。
    • 課金を有効にした BigQuery プロジェクト。

    どちらもあることを確認する方法の 1 つとして、ウェブ UI を使用したクイックスタートを行います。

  • Stackdriver アカウントがない場合は、Stackdriver のアカウントの設定のドキュメントの Stackdriver アカウントの作成セクションの手順を実施します。

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

Stackdriver ダッシュボードの表示

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

  1. Google Cloud Platform Console で [Stackdriver] > [Monitoring] を選択するか、次のボタンを使用します。

    Stackdriver Monitoring に移動

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

  3. BigQuery リソースを表示するには、[Resources] > [BigQuery] を選択します。

    Stackdriver BigQuery ダッシュボード

  4. [BigQuery] を選択すると、デフォルトの BigQuery ページに移動します。このページには、イベントとインシデントのユーザー設定可能なレポートの表の一覧と、プロジェクト指標およびデータセット指標のグラフが表示されます。

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

利用可能なスロットとプロジェクトに割り当てられたスロットを表示するには:

  1. Stackdriver ダッシュボードの表示の説明に沿って、BigQuery の Stackdriver ダッシュボードに移動します。

    BigQuery の Stackdriver Monitoring に移動

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

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

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

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

  1. Stackdriver Monitoring Console のトップメニューで [Dashboards] > [Create] を選択します。

    [Create Dashboard] ページに移動

  2. [Add Chart] をクリックします。[Add Chart] ページが表示されます。

    グラフの追加

  3. [Resource Type] メニューで [BigQuery] を選択します。

  4. [Metric Type] メニューで [Query Time - 50th Percentile] を選択します。プレビュー セクションにグラフデータが表示されます。

  5. [Save] をクリックします。

アラートの作成

条件を定義し、通知設定を構成して、アラートを作成します。

  1. Stackdriver Monitoring Console のトップメニューで [Alerting] > [Create a Policy] を選択すると、[Create new Alerting Policy] ページが開きます。

    [Create new Alerting Policy] ページに移動

  2. [Conditions] セクションで [Add Condition] をクリックします。

  3. [Select Condition Type] ページには複数のタイプの条件が表示されます。この例では、関連付けられた [Select] ボタンをクリックして、[Metric hreshold] を選択します。

  4. [Add Metric Threshold Condition] ページで:

    1. [RESOURCE TYPE] を [BigQuery] に設定します。
    2. [APPLIES TO] を [All] に設定します。
    3. [IF METRIC] を [Query Time (50th Percentile)] に設定します。
    4. [THRESHOLD] を 8 などの数値に設定します。
    5. 他のすべてのデフォルト値をそのままにして、[Save Condition] をクリックします。

    しきい値条件の追加

  5. [Create new Alerting Policy] ページで [Add Notification] をクリックし、通知設定を構成します。通知の受け取り方法には、メール、SMS などの複数のオプションがあります。

  6. [Documentation] セクションの [Add Documentation] ボタンをクリックして、通知メッセージをカスタマイズできます。

  7. 最後に、ポリシーに名前を付けて、[Save Policy] をクリックします。

表示に使用できる指標

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

リソースタイプ 名前 単位 説明
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 のグラフには、選択したプロジェクトに関するデータのみが表示されます。マルチプロジェクトのモニタリングはまだ実装されていません。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。