カスタム ダッシュボードにグラフとテーブルを追加する

このドキュメントでは、Google Cloud コンソールを使用して、カスタム ダッシュボードにグラフ、テーブル、ゲージ、スコアカードを追加する方法について説明します。折れ線グラフ、積み上げ面グラフ、棒グラフ、ヒートマップ グラフを追加することで、一定期間内の指標データを表示できます。最新の測定値のみを表示する場合は、テーブル、円グラフ、ゲージ、スコアカードを追加します。ゲージとスコアカードの色は、最新の値を警告しきい値や危険しきい値を比較することで決まります。

ダッシュボードに追加できる可視化は、まとめてウィジェットと呼ばれます。さまざまなウィジェット タイプの一般的な情報については、ダッシュボードの概要をご覧ください。

カスタム ダッシュボード上のグラフ、テーブル、ゲージ、スコアカードでは、数値または分布値を含む任意の指標タイプユーザー定義の指標ログベースの指標など)を表示できます。文字列型データのグラフ化はできません。

このドキュメントでは、時系列データを表示するカスタム ダッシュボードに、グラフ、テーブル、ゲージ、スコアカードを追加する方法について説明します。他のタイプのウィジェットをダッシュボードに追加する方法については、次のドキュメントをご覧ください。

Cloud Monitoring API の詳細については、API でダッシュボードを管理をご覧ください。

始める前に

  • Google Cloud コンソールを使用してカスタム ダッシュボードを作成および変更するために必要な権限を取得するには、プロジェクトに対するモニタリング編集者roles/monitoring.editor)の IAM ロールの付与を管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

    ロールの詳細については、Identity and Access Management を使用してアクセスを制御するをご覧ください。

  • ダッシュボードには最大で 40 のウィジェットを配置できます。

  • ダッシュボードにウィジェットを追加するには、可視化を選択してウィジェットを構成するか、データ型を選択して可視化を構成します。

    たとえば、VM インスタンスの CPU 使用率を表示する表をダッシュボードに追加するには、次のいずれかを行います。

    • [テーブル] ウィジェットを選択して、VM インスタンスの CPU 使用率を表示するようにウィジェットを構成します。
    • [指標] データ型を選択し、VM インスタンスの CPU 使用率を表示するようにウィジェットを構成して、ウィジェット タイプを [テーブル] に変更します。

    このページの手順では、まずデータの種類を選択し、次にそのデータの表示方法を構成することを前提としています。

ダッシュボードにグラフとテーブルを追加する

このセクションでは、Google Cloud コンソールを使用してグラフとテーブルを構成する方法について説明します。

  • グラフは時間の経過に伴うデータを示し、次の 4 つのスタイルが用意されています。折れ線積み上げ面積み上げ棒ヒートマップ。1 つのグラフに複数の指標タイプを表示できます。たとえば、インスタンスから読み取られたディスクバイトとインスタンスに書き込まれたディスクバイトを表示するようにグラフを構成できます。

    グラフが構成されたら、ウィジェット タイプを変更できます。特定のスタイルを選択する理由については、時系列でデータを表示するグラフをご覧ください。

    Cloud Monitoring API を使用してグラフを構成する方法については、XyChart ウィジェットを含むダッシュボードをご覧ください。

  • テーブルには、ラベル値の組み合わせごとに 1 行が含まれます。テーブルに複数の指標タイプのデータが表示される場合、各行には、そのような結合が可能な場合にすべてのクエリの結果が含まれます。

    テーブルには 2 つのスタイルがあります。[テーブル] ウィジェットには「25%」などの数値が表示されます。[トップ リスト] ウィジェットには、値と、可能な値の範囲と比較した値の視覚的なインジケーターの両方が表示されます。

    テーブルとグラフのスタイルを変更したり、テーブルの列名を構成したり、テーブルのセルの色を変更するしきい値を追加したりできます。詳細と例については、ダッシュボードでデータを表形式で表示するをご覧ください。

    Cloud Monitoring API を使用してテーブルを構成する方法の詳細ついては、TimeSeriesTable ウィジェットを含むダッシュボードをご覧ください。

ダッシュボードにグラフやテーブルを追加する手順は次のとおりです。

  1. Google Cloud コンソールで [ダッシュボード] ページに移動します。

    [ダッシュボード] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. 次のいずれかを行います。

    • 新しいダッシュボードを作成するには、[ダッシュボードを作成] を選択します。
    • 既存のダッシュボードを更新するには、すべてのダッシュボードのリストでダッシュボードを見つけて、その名前を選択します。
  3. ツールバーで [ウィジェットを追加] をクリックします。

  4. [ウィジェットを追加] ダイアログで、 [指標] を選択します。

  5. グラフに表示するデータを指定します。メニュー形式のインターフェース、Monitoring Query Language(MQL)、PromQL を使用するか、モニタリング フィルタを入力できます。

    1. 表示する時系列データを選択します。

      1. [指標] 要素で、[指標の選択] メニューを展開します。

        [指標を選択] メニューには、使用可能な指標タイプを探すのに役立つ機能が含まれています。

        • 特定の指標タイプを探すには、 フィルタバーを使用します。たとえば、「util」と入力すると、util を含むエントリを表示するようにメニューが制限されます。エントリは、大文字と小文字を「区別しない」テストに合格した場合に表示されます。

        • データが存在しない指標も含めて、すべての指標タイプを表示するには、[ アクティブ] をクリックします。デフォルトでは、メニューにはデータがある指標タイプのみが表示されます。

        たとえば、次のような選択を行います。

        1. [有効なリソース] メニューで、[VM インスタンス] を選択します。
        2. [アクティブな指標のカテゴリ] メニューで、[Uptime_check] を選択します。
        3. [ACTIVE METRICS] メニューで、[Request latency] を選択します。
        4. [適用] をクリックします。
      2. 省略可: 表示するデータのサブセットを指定するには、[フィルタ] 要素で [フィルタを追加] を選択して、ダイアログを完了します。たとえば、フィルタを適用することで、1 つのゾーンのデータを表示できます。フィルタは複数追加できます。詳細については、グラフ化したデータをフィルタリングするをご覧ください。

      詳細については、グラフ化するデータの選択をご覧ください。

    2. 時系列を結合して配置します。

      • すべての時系列を表示するには、[集計] 要素で最初のメニューを [未集計] に、2 番目のメニューを [なし] に設定します。

      • 時系列を結合するには、[集計] 要素で次の操作を行います。

        1. 最初のメニューを展開し、関数を選択します。

          グラフが更新され、単一の時系列が表示されます。たとえば、[平均] を選択すると、表示される時系列はすべての時系列の平均になります。

        2. 同じラベル値を持つ時系列を結合するには、2 番目のメニューを展開し、1 つ以上のラベルを選択します。

          グラフが更新され、ラベル値の一意の組み合わせごとに 1 つの時系列が表示されます。たとえば、ゾーンごとに時系列を表示するには、2 番目のメニューを [ゾーン] に設定します。

          2 つ目のメニューが [なし] に設定されている場合、グラフには 1 つの時系列が表示されます。

      • 省略可: データポイントの間隔を構成するには、 [クエリ要素を追加] をクリックし、[最小間隔] を選択して、値を入力します。

      グループ化とアライメントの詳細については、グラフ化したデータの表示方法を選択するをご覧ください。

    3. 省略可: 最大値または最小値を含む時系列のみを表示するには、[並べ替えと上限] 要素を使用します。

    MQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [MQL] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。たとえば、Google Cloud プロジェクトの VM インスタンスの CPU 使用率をグラフ化するには、次のクエリを使用します。

      fetch gce_instance
      | metric 'compute.googleapis.com/instance/cpu/utilization'
      | group_by 1m, [value_utilization_mean: mean(value.utilization)]
      | every 1m
      

      MQL の詳細については、次のドキュメントをご覧ください。

    PromQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [PromQL] で [PromQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。たとえば、Google Cloud プロジェクトの VM インスタンスの平均 CPU 使用率をグラフ化するには、次のクエリを使用します。

      avg(compute_googleapis_com:instance_cpu_utilization)
      

      PromQL の使用の詳細については、Cloud Monitoring の PromQL をご覧ください。

    モニタリング フィルタ

    1. [指標] 要素で、 [ヘルプ] をクリックして、[ダイレクト フィルタモード] を選択します。

      [指標] 要素と [フィルタ] 要素が削除され、テキストを入力できる [フィルタ] 要素が作成されます。

      [ダイレクト フィルタモード] モードに切り替える前にリソースタイプ、指標、フィルタを選択した場合は、これらの設定が [フィルタ] 要素のフィールドに表示されます。

    2. [フィルタ] 要素のフィールドにモニタリング フィルタを入力します。
    3. 時系列を結合して配置します。

      • すべての時系列を表示するには、[集計] 要素で最初のメニューを [未集計] に、2 番目のメニューを [なし] に設定します。

      • 時系列を結合するには、[集計] 要素で次の操作を行います。

        1. 最初のメニューを展開し、関数を選択します。

          グラフが更新され、単一の時系列が表示されます。たとえば、[平均] を選択すると、表示される時系列はすべての時系列の平均になります。

        2. 同じラベル値を持つ時系列を結合するには、2 番目のメニューを展開し、1 つ以上のラベルを選択します。

          グラフが更新され、ラベル値の一意の組み合わせごとに 1 つの時系列が表示されます。たとえば、ゾーンごとに時系列を表示するには、2 番目のメニューを [ゾーン] に設定します。

          2 つ目のメニューが [なし] に設定されている場合、グラフには 1 つの時系列が表示されます。

      • 省略可: データポイントの間隔を構成するには、 [クエリ要素を追加] をクリックし、[最小間隔] を選択して、値を入力します。

      グループ化とアライメントの詳細については、グラフ化したデータの表示方法を選択するをご覧ください。

  6. 省略可: 複数の指標タイプを表示するようにグラフまたはテーブルを構成します。

    1. [クエリを追加] を選択します。新しいクエリが追加されます。たとえば、ラベル B が含まれるクエリが追加されるとします。

    2. 新しいクエリの [指標] 要素で、リソースタイプと指標タイプを選択します。また、フィルタの追加、時系列の結合、表示される時系列の並べ替えと制限を行うこともできます。

    次のスクリーンショットは、2 つの指標タイプがグラフ化されている場合の Metrics Explorer の表示を示しています。

    2 つの指標タイプの Metrics Explorer の例。

    MQL

    サポートされていません。

    PromQL

    サポートされていません。

    モニタリング フィルタ

    サポートされていません。

  7. 省略可: 指標タイプの比率を表示するようにグラフを構成します。

    1. 同じ種類の指標がある 2 つの指標タイプを表示するようにグラフを構成します。たとえば、どちらも GAUGE 指標です。
    2. [最小間隔] フィールドの値が、両方の指標タイプで同じであることを確認します。このフィールドにアクセスするには、 [クエリ要素を追加] および [最小間隔] をクリックします。
    3. 集計フィールドを更新します。

      分母指標タイプのラベルは、分子指標タイプの値と一致させることをおすすめします。たとえば、分子と分母には zone ラベルを選択できます。

      両方の指標タイプに同じラベルセットを使用する必要はありませんが、両方の指標タイプに共通のラベルのみを選択できます。

    4. クエリペインのツールバーで、[比率を作成] を選択して、ダイアログを完了します。

      比率を作成すると、次の 3 つのクエリが表示されます。

      • [A/B 比率] は、比率クエリを識別します。
      • [A] は分子のクエリを識別します。
      • [B] は分母のクエリを識別します。

      次の例は、ディスクに書き込まれたバイト数のゾーンごとの合計をディスクに書き込まれた合計バイト数と比較した場合の比率を示しています。

      指標の比率の例。

    5. 省略可: 分子と分母の指標を切り替えるには、[比率] 要素でメニューを展開し、選択を行います。

    MQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [MQL] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。MQL を使用すると、2 つの異なる指標の比率を計算し、単一の指標をラベルでフィルタリングしてから比率を計算できます。次のクエリは、レスポンスの総数に対する値 500 のレスポンスの比率を計算します。

      fetch https_lb_rule::loadbalancing.googleapis.com/https/request_count
      | {
          filter response_code_class = 500
        ;
          ident
        }
      | group_by [matched_url_path_rule]
      | outer_join 0
      | div
      

      MQL の詳細については、次のドキュメントをご覧ください。

    PromQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [PromQL] で [PromQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。たとえば、my_summary_latency_seconds 指標の平均レイテンシの比率をグラフ化するには、次のクエリを使用します。

      sum without (instance)(rate(my_summary_latency_seconds_sum[5m])) /
      sum without (instance)(rate(my_summary_latency_seconds_count[5m]))
      

      PromQL の使用の詳細については、Cloud Monitoring の PromQL をご覧ください。

    モニタリング フィルタ

    サポートされていません。

  8. 省略可: 可視化を変更するには、ディスプレイペインで [ウィジェット タイプ] をクリックして選択します。

    [ウィジェット タイプ] メニューには、同じデータタイプを表示可能なすべてのウィジェット タイプが一覧表示されます。ただし、一部のウィジェットは有効になっていない場合があります。 たとえば、1 つの指標タイプを表示するように構成されたダッシュボードのグラフについて考えてみましょう。折れ線グラフには複数の時系列が表示され、各測定値は double 型です。

    • 円グラフ折れ線グラフ積み上げ棒グラフ積み上げ面グラフウィジェットは互換のように一覧表示されます。これらのいずれかのタイプを選択できます。

    • [スコアカード] ウィジェットと [ゲージ] ウィジェットは、単一の時系列のみを表示できるため、[Compatible with adjustments] としてリストに表示されます。これらのウィジェット タイプを有効にするには、グループ化構成を変更します。

    • [ヒートマップ] ウィジェットは、分布値のデータのみを表示するため、無効になっています。

    • ログパネルは、時系列データを表示できないため、一覧表示されません。

  9. 省略可: 選択したデータをグラフまたはテーブルに表示する方法を変更するには、[表示] ペインのオプションを使用します。

  10. 変更をダッシュボードに適用するには、ツールバーで [適用] をクリックします。変更を破棄するには、[キャンセル] をクリックします。

  11. 変更したダッシュボードを保存するには、ツールバーで [保存] をクリックします。

最新のデータのみを表示する

Monitoring では、測定履歴を表示する代わりに、最新の測定値のみを可視化できます。

  • 各時系列の最新の値をグラフィカルに表示します。各値をすべての値の合計に対する割合として表示するには、円グラフを追加します。これらのグラフは、合計値を表示するように設定できます。

  • 各時系列の最新の値を表形式で表示するには、テーブルを追加します。テーブル内の行数を制限したり、値の範囲と比較して値を表示するようにテーブルの行を構成したりできます。

  • しきい値のセットと比較した最新の値を緑色、黄色、赤色で表示するには、ゲージまたはスコアカードをダッシュボードに追加します。

最新のデータを円グラフでグラフ化する

最新のデータを合計の割合として表示するには、円グラフを追加します。円グラフでは、テーブルと同様に、数値を持つ任意の指標タイプを表示できます。また、分布値の指標のパーセンタイルを表示できます。各時系列は、円グラフの 1 つのスライスになります。

次のスクリーンショットは、2 つの異なる構成の円グラフ ウィジェットを使用して、仮想マシン インスタンスの CPU 使用率を表示するダッシュボードを示しています。

**PieChart** ウィジェットの例。

ダッシュボードに円グラフを追加する方法については、次のドキュメントをご覧ください。

  • Google Cloud コンソール: このドキュメントのグラフとテーブルの追加というタイトルのセクションをご覧ください。

    • グラフ化するデータを選択したら、[表示] ペインの [ウィジェット タイプ] フィールドを [円グラフ] に設定します。
    • 合計値を表示するには、[グラフの種類] フィールドを [ドーナツ] に設定します。
  • Cloud Monitoring API: PieChart ウィジェットを含むダッシュボードをご覧ください。

最新のデータを表形式で表示する

最新のデータを表形式で表示するには、テーブルを追加します。 テーブルには数値データを表示できます。たとえば、1 つ以上の指標タイプや、分布値の指標のパーセンタイルを表示できます。

テーブルに 1 つの指標タイプが表示される場合、テーブルの各行は 1 つの時系列に対応します。最新の値または集計値である数値を表示する 1 つのテーブル列。他の列には、時系列のラベルが表示されます。テーブルに複数の指標タイプが表示される場合、可能な限り、両方の指標タイプのデータが同じ行に表示されます。詳細については、テーブルで複数の指標タイプをマージする方法をご覧ください。

データを表形式で表示するウィジェットは、トップ リスト ウィジェットとテーブル ウィジェットの 2 つがあります。これらの 2 つのウィジェットの主な違いは、トップリスト ウィジェットは行の順序を並べ替え、値と、可能な値の範囲と比較した値の視覚的なインジケーターを表示することです。[トップ リスト] ウィジェットは値を視覚的に表すため、値としきい値の比較に基づいてセルを色分けすることはできません。

テーブルの構成については、次のセクションをご覧ください。

次のスクリーンショットは、2 つのテーブルを示しています。最初のテーブルには、インスタンスから読み取られたバイト数とインスタンスに書き込まれたバイト数の 2 つの指標タイプが表示されます。集計値が参照バーとともに表示されます。2 番目のテーブルには、1 つの指標タイプの最新の値が表示されます。値列は、値がしきい値と比較してどの程度であるかに基づいてセルに色分けするように構成されています。

2 つの指標タイプを表示するテーブルの例。

最新の値または集計値を表示する

デフォルトでは、テーブルには最新の値が表示されます。ただし、テーブルには、ダッシュボードに選択した期間にわたって計算された値を表示できます。

最新の値と集計値のどちらを選択するかは、[値のオプション] フィールドで指定します。

集計値を表示する場合、ダッシュボードで選択した期間内の時系列データが、アライメント関数によって結合されます。アライメント関数は集計オプションの 1 つであり、デフォルトでは表示されません。アライメント関数を表示するには、[集計] 要素を開き、最初の要素で [整列指定子を構成] を選択します。この選択を行うと、[集計] 要素が [グループ化] 要素と [アライメント関数] という名前のメニューに置き換えられます。

表示する列を選択する

デフォルトでは、テーブルの 1 つの列に数値が表示されます。他の列はすべて、時系列のラベルに対応しています。ラベルベースの列の場合、列名はラベルから派生します。

テーブルに表示する列を構成するには、[表示される列] メニューを開いて選択します。

列の形式を構成する

  • 個々の列を構成するには、[Columns] 要素で [Override column] メニューを開き、変更する列を選択して、次のいずれかの操作を行います。

    • 列の名前を設定するには、[表示名] フィールドを使用します。
    • 列内のデータの配置を設定するには、 [左揃え]、 [中央揃え]、 [右揃え] の各ボタンを使用します。
    • 数値としきい値の比較に基づいてセルに色分けするには、警告しきい値と危険しきい値を設定します。
    • PromQL クエリを作成する場合は、[単位] メニューを使用して、データに表示される単位を設定します。メニュー項目を使用してクエリを構成すると、単位が自動的に構成されます。

参照値を表示する

テーブルには値のみを表示することも、値の範囲を基準とした値を表示することもできます。範囲オプションを選択すると、値が青色のバーとともに表示され、バーの長さは表示される値に比例します。

参照値を表示するかどうかを構成するには、指標ビュー要素を使用します。

テーブルの並べ替えとフィルタ

テーブルに表示される行の順序は変更できます。また、テーブルの内容をフィルタリングして、特定の行のみを表示できます。 これらの設定は永続的ではありません。ダッシュボード ページを離れたり、ダッシュボードを再読み込みしたりすると、適用した並べ替えオプションとフィルタ オプションは破棄されます。

並べ替えとフィルタのオプションには、次のものがあります。

  • テーブルを列で並べ替えるには、列ヘッダーをクリックします。

  • テーブルの列を変更するには、 [列を表示] をクリックし、変更してから [OK] をクリックします。

  • 特定の行のみを表示するには、フィルタを 1 つ以上追加します。フィルタは複数追加できます。2 つのフィルタの間に OR 演算子を指定しない場合、論理 AND はフィルタを結合します。

    フィルタを追加するには、Enter property name or value をクリックし、メニューからプロパティを選択して、値を入力するか、値メニューから選択します。たとえば、プロパティ Name をフィルタリングして値 demo を入力すると、Name フィールドにdemo 値を含む行のみがテーブルに表示されます。

警告またはエラーの表示がある最新データを表示する

色分けされたしきい値と対比しながら最新の測定値を表示する場合は、ゲージまたはスコアカードを追加します。ゲージには最新の測定値のみが表示され、スコアカードには最近の測定値の履歴も表示されます。これらのウィジェットの背景色も色分けされています。最新の値が予想範囲内にある場合、ウィジェットの色は白になります。値が警告範囲内にある場合、ウィジェットは黄色になります。同様に、値が危険範囲内にある場合、ウィジェットは赤色になります。

どちらのウィジェットも 1 つの時系列を表示します。次のスクリーンショットは、最新の測定値が警告しきい値と危険しきい値より小さい場合のゲージの例を示しています。

ゲージの例。

このセクションの残りの部分は、Google Cloud コンソールに関するものです。Cloud Monitoring API の使用方法については、基本的な Scorecard を含むダッシュボードをご覧ください。

ゲージやスコアカードをダッシュボードに追加する手順は次のとおりです。

  1. Google Cloud コンソールで [ダッシュボード] ページに移動します。

    [ダッシュボード] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. 次のいずれかを行います。

    • 新しいダッシュボードを作成するには、[ダッシュボードを作成] を選択します。
    • 既存のダッシュボードを更新するには、すべてのダッシュボードのリストでダッシュボードを見つけて、その名前を選択します。
  3. ツールバーで [ウィジェットを追加] をクリックします。

  4. [ウィジェットを追加] ダイアログで、 [指標] を選択します。

  5. グラフに表示するデータを指定します。メニュー形式のインターフェース、Monitoring Query Language(MQL)、PromQL を使用するか、モニタリング フィルタを入力できます。

    1. 表示する時系列データを選択します。

      1. [指標] 要素で、[指標の選択] メニューを展開します。

        [指標を選択] メニューには、使用可能な指標タイプを探すのに役立つ機能が含まれています。

        • 特定の指標タイプを探すには、 フィルタバーを使用します。たとえば、「util」と入力すると、util を含むエントリを表示するようにメニューが制限されます。エントリは、大文字と小文字を「区別しない」テストに合格した場合に表示されます。

        • データが存在しない指標も含めて、すべての指標タイプを表示するには、[ アクティブ] をクリックします。デフォルトでは、メニューにはデータがある指標タイプのみが表示されます。

        たとえば、次のような選択を行います。

        1. [有効なリソース] メニューで、[VM インスタンス] を選択します。
        2. [アクティブな指標のカテゴリ] メニューで、[Uptime_check] を選択します。
        3. [ACTIVE METRICS] メニューで、[Request latency] を選択します。
        4. [適用] をクリックします。
      2. 省略可: 表示するデータのサブセットを指定するには、[フィルタ] 要素で [フィルタを追加] を選択して、ダイアログを完了します。たとえば、フィルタを適用することで、1 つのゾーンのデータを表示できます。フィルタは複数追加できます。詳細については、グラフ化したデータをフィルタリングするをご覧ください。

      詳細については、グラフ化するデータの選択をご覧ください。

    2. [集計] フィールドを使用して、時系列を結合します。

      • 最初のメニューを開き、時系列を結合する関数を選択します。
      • 2 番目のメニューを開き、ラベルが選択されていないことを確認します。

    MQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [MQL] 切り替えで [MQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。すべての時系列を結合するように集計フィールドが設定されていることを確認する必要があります。たとえば、Google Cloud プロジェクトの VM インスタンスの CPU 使用率をグラフ化するには、次のクエリを使用します。

      fetch gce_instance
      | metric 'compute.googleapis.com/instance/cpu/utilization'
      | group_by 1m, [value_utilization_mean: mean(value.utilization)]
      | every 1m
      | group_by [], [value_utilization_mean_mean: mean(value_utilization_mean)]
      

      MQL の詳細については、次のドキュメントをご覧ください。

    PromQL

    1. クエリビルダー ペインのツールバーで、名前が [MQL] または  [PromQL] のボタンを選択します。
    2. [PromQL] で [PromQL] が選択されていることを確認します。言語切り替えボタンは、クエリの書式設定を行うのと同じツールバーにあります。
    3. Query Editor にクエリを入力します。たとえば、Google Cloud プロジェクトの VM インスタンスの平均 CPU 使用率をグラフ化するには、次のクエリを使用します。

      avg(compute_googleapis_com:instance_cpu_utilization)
      

      PromQL の使用の詳細については、Cloud Monitoring の PromQL をご覧ください。

    モニタリング フィルタ

    1. [指標] 要素で、 [ヘルプ] をクリックして、[ダイレクト フィルタモード] を選択します。

      [指標] 要素と [フィルタ] 要素が削除され、テキストを入力できる [フィルタ] 要素が作成されます。

      [ダイレクト フィルタモード] モードに切り替える前にリソースタイプ、指標、フィルタを選択した場合は、これらの設定が [フィルタ] 要素のフィールドに表示されます。

    2. モニタリング フィルタを入力します。
    3. [集計] フィールドを使用して、時系列を結合します。

      • 最初のメニューを開き、時系列を結合する関数を選択します。
      • 2 番目のメニューを開き、ラベルが選択されていないことを確認します。

  6. [表示] ペインで、ゲージまたはスコアカードを構成します。

    1. [Widget type] をクリックし、[Gauge] または [Scorecard] を選択します。

    2. ゲージ ウィジェットの場合は、 [ゲージの範囲] をクリックし、最小値と最大値を設定します。ゲージに割合が表示されたら、これらの値をそれぞれ 0 と 1 に設定します。

    3. [ ゲージのしきい値] をクリックし、警告しきい値と危険しきい値を設定します。空のしきい値フィールドは使用されません。

      前述のゲージには、2 つのしきい値が設定されています。0.9 より大きい値は危険範囲内であることを示します。0.7 より大きい値は危険範囲にあり、警告の範囲内にあります。

    4. スコアカードの場合は、 [Spark グラフビュー] をクリックし、オプションのメニューを開いて表示スタイルを選択します。

  7. 変更をダッシュボードに適用するには、ツールバーで [適用] をクリックします。変更を破棄するには、[キャンセル] をクリックします。

  8. 変更したダッシュボードを保存するには、ツールバーで [保存] をクリックします。

テーブルで複数の指標タイプのデータを結合する方法

テーブルで複数の指標タイプをクエリすると、Google Cloud コンソールは、両方の指標タイプの集計データに添付されているラベルを調べて、結合オペレーションを実行します。両方のクエリに共通のラベルを使用して Monitoring が一意の行識別子を決定すると、テーブルの 1 つの行に各クエリの最新の値が表示されます。それ以外の場合は、時系列ごとに 1 行あります。

たとえば、テーブルで 2 つの異なる指標タイプをクエリするとします。これらのクエリを AB と呼びます。クエリ結果の結合方法は次のとおりです。

  • 両方のクエリの結果に同じラベルセットが含まれている場合、結合は常に成功します。各行には、各クエリの最新の値が含まれています。クエリで特定のラベルの組み合わせの値が返されない場合、テーブル セルは空になります。

    たとえば、両方のクエリに zone ラベルが含まれているとします。このテーブルには、クエリ A とクエリ B によって報告されたゾーンごとに 1 行が含まれます。ただし、クエリ A がゾーンが us-central1-a の時系列を返しても、クエリ B がこの値の時系列を返さない場合、クエリ B の最新の値は空のセルに表示されます。

  • 一方のクエリの結果のラベルが他方のクエリの結果のラベルのサブセットである場合、結果は結合されます。

    たとえば、両方のクエリの結果に locationcluster_name のラベルが含まれているものの、クエリ A の結果にも memory_type のラベルも含まれているとします。この場合、各行は、3 つのラベルに一意の値を持つ時系列に対応します。

    どの行でも、クエリ B に表示される値は、2 つの共通ラベル locationcluster_name に一致する時系列の値であり、3 つ目のラベルは無視されます。

  • 2 つのクエリの結果でラベルが共有されていない場合、または一部のラベルが共有されていても、一意の行識別子を形成するのに十分でない場合は、結果を結合できません。テーブルには、クエリ A またはクエリ B によって返された時系列ごとに 1 行が表示されます。一部のテーブル セルは空です。

    たとえば、クエリ A のラベルが locationmemory_type で、クエリ B のラベルが locationcluster_name であるとします。ラベル location は共通ですが、このラベルだけでは一意の行識別子を作成できません。

    次のセクションで説明するように、結合エラーを解決できる場合があります。

結合エラーを解決する

複数の指標をグラフに表示する場合、指標で同じフィールドに異なるラベル名が使用されているため、結合に失敗することがあります。このエラーを解決する 1 つの方法は、1 つのクエリを PromQL に変換し、label_replace() 関数を使用して、1 つの指標タイプで使用されているラベル名を他の指標タイプと一致するように変換することです。

たとえば、次の 2 つのクエリで構成されたテーブルについて考えてみましょう。

  • A: Prometheus/kube_pod_container_status_ready/gauge 指標タイプをクエリします。集計オプションは、cluster ラベルでデータをグループ化した後、時系列の合計を計算するように設定されています。

  • B: kubernetes.io/container/memory/request_bytes 指標タイプをクエリします。集計オプションは、cluster_name ラベルでデータをグループ化した後、時系列の合計を計算するように設定されています。

クエリ A とクエリ B の結果のラベルが異なるため、テーブルで結果を結合できません。

エラーを解決するには、クエリ A を PromQL に変換し、clustercluster_name に置き換えます。次の例は、変更後のクエリを示しています。

sum by (cluster_name)(
    label_replace(
        avg_over_time(kube_pod_container_status_ready[${__interval}]),
        "cluster_name", "$1", "cluster", "(.*)"
    )
)

変更を加えると、どちらのクエリでも同じラベルセットが生成されます。したがって、テーブルの各行には、クラスタ名、クエリ A の値、クエリ B の値が一覧表示されます。

PromQL の使用の詳細については、Cloud Monitoring の PromQL をご覧ください。

次のステップ

次のウィジェットをカスタム ダッシュボードに追加することもできます。

グラフ化されたデータの探索とダッシュボードのフィルタリングについては、次のドキュメントをご覧ください。