ソフトウェア運用の未来を形作るために、2021 年の State of DevOps アンケートに参加して、あなたの声を聞かせてください。

Metrics Explorer 使用時の指標の選択

このページでは、表示するデータを選択する方法と、Metrics Explorer を使用するときに選択したデータを表示する方法について説明します。グラフのスタイルを構成する方法については、表示オプションの設定をご覧ください。

表示するデータの選択

Metrics Explorer の使用時に表示する指標を指定するには、グラフの定義ページで [Metric] タブをクリックします。次のスクリーンショットは、指標選択のタブを示しています。

[指標選択] タブを表示します。

[Find resource type and metric] フィールドに入力するには、少なくとも 1 つの値のペアを指定する必要があります。

  • モニタリング対象リソースから収集できる測定値を識別する指標タイプ。これには、測定対象および測定値がどのように解釈されるかについての説明が含まれます。指標タイプは指標とも呼ばれます。コンセプトについては、指標タイプをご覧ください。

  • モニタリング対象リソースは、指標データを取得するリソースを指定します。モニタリング対象リソースは、モニタリング対象リソースタイプまたはリソースとも呼ばれます。コンセプトについては、モニタリング対象リソースをご覧ください。

Monitoring では、多くの事前定義済み指標タイプやモニタリング対象リソースが利用できます。また、カスタム指標を指定することもできます。

指標の指定用フィールド

指標を選択するには、[Find resource type and metric] フィールドを使用して、リソースタイプと指標タイプを 1 つずつ選択します。どちらを先に選択してもかまいません。まず、フィールドをクリックします。前の選択に応じて、1 つまたは 2 つのリストが表示されます。次のスクリーンショットのように、リストのヘッダーに Resource types または Metrics が表示されます。

指標とリソースを選択するための検索リスト

次のいずれかの方法でエントリを選択します。

  • リストからエントリを選択する。

  • 指標フィルタを入力する。指標フィルタを入力する方法は次のとおりです。

    1. [Find resource type and metric] の隣にある、[Help] をクリックします。
    2. [ヘルプ] ペインで [Direct filter mode] をクリックします。

      [Direct filter mode] が有効な場合、[Find resource type and metric] オプションが [Resource type, metric, and filter] という名前の編集可能なテキスト ボックスに置き換わります。

      [Direct filter mode] が表示されます。

      [Direct filter mode] を選択する前にリソースタイプ、指標、フィルタを選択した場合、これらの設定が [Resource type, metric, and filter] テキスト ボックスへの事前入力に使用されます。

    3. [Resource type, metric, and filter] テキスト ボックスに指標フィルタを入力します。フィルタには、指標タイプとリソースタイプを含める必要があります。また、ラベルフィルタを含めることもできます。フィルタの文法については、モニタリング フィルタをご覧ください。

      たとえば、us-east1-b ゾーンのすべての Google Cloud VM インスタンスのログエントリを表示するには、以下を入力します。

      metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance" resource.label."zone"="us-east1-b"
      

      ダイレクト フィルタ モードを使用してグラフやアラート ポリシーを構成していて、データが利用できない場合、グラフにエラー メッセージが表示されます。正確なエラー メッセージは、入力したフィルタによって変わります。たとえば、一般的なメッセージは Chart definition invalid です。「No data is available for the selected time frame.」というメッセージが表示されることもあります。

いずれかのリストの項目にカーソルを合わせると、ツールチップが開き、その項目の記述子に含まれる情報が表示されます。指標タイプまたはモニタリング対象リソースの記述子については、指標の一覧モニタリング対象リソースの一覧をそれぞれご覧ください。

リソースタイプと指標のペアを 1 つ以上選択すると、グラフには使用可能なすべての時系列が表示されます。[Metric] タブには、指定した指標の下に追加項目が表示されます。次のスクリーンショットは、1 つの指標を指定した後の [Metric] タブを示しています。

追加の選択オプションを表示します。

他の構成を行わず、選択した指標とリソースでグラフを表示すると、次のスクリーンショットのようなグラフが表示されます。

グラフが選択した指標とともに表示されます。

このグラフに含まれているデータは、表示できる量を超えています。グラフに表示できる線の数は最大 300 です。表示するデータが多すぎるという通知がグラフに表示され、外れ値モードの使用が推奨されます。外れ値モードは [View options] タブの選択肢の 1 つです。このモードを使用すると、表示するデータの量が大幅に削減されます。

また、追加の指標構成オプションを使用して、データ量を管理することもできます。これらの手法により、診断や分析に役立つグラフを作成できます。また、ユーザー インターフェースのパフォーマンスや反応も改善されます。

グラフデータをフィルタする

フィルタ条件を指定する、集計を適用する、または外れ値モードを使用することで、グラフ化するデータの量を減らすことができます。フィルタにより、一定の条件を満たす時系列のみが使用されるようになります。フィルタを適用すると、グラフ上の線が減少し、グラフのパフォーマンスが向上します。

複数のフィルタ条件を指定すると、対応するグラフには、すべての条件を満たす時系列(論理 AND)だけが表示されます。

Google Cloud Console でフィルタを追加するには、[フィルタ] フィールドをクリックします。これにより、フィルタ条件のリストを含むパネルが開きます。たとえば、リソース グループ、名前、リソースラベル、ゾーン、指標ラベルでフィルタリングできます。

次のスクリーンショットでは、特定の指標のラベルでフィルタリングを設定しています。

事前入力のフィルタラベルのリスト

条件をリストから選択することも、直接入力することもできます。まだ表示されていないデータのフィルタを作成することもできます。このようなフィルタ条件は選択リストに表示されませんが、今後有効になることがわかっている場合は手動で指定できます。

フィルタリングするラベルを選択したら、フィルタの残りの部分(値または値の範囲と比較演算子)を指定します。

たとえば、次のスクリーンショットには zone リソースラベルに設定したフィルタが示されています。[Filter] フィールドで使用できる比較演算子には、等式 ==~ のペアと、不等式 !=!=~ のペアがあります。各ペアの 2 番目の項目は、値として正規表現を取ります。デフォルトは、単純な等式(=)です。

フィルタ比較演算子のリスト。

比較演算子のリストの下にあるのは、使用可能な値のリストです。次のスクリーンショットには、プロジェクト内のゾーンの名前が示されています。

事前入力フィルタ値の例。

[Value] フィールドでは、プルダウン リストにあるいずれかの項目を選択できます。あるいは、複数の項目と一致する式を入力することもできます。

  • = または != を使用して直接比較する場合は、starts_with のようなフィルタ文字列を作成できます。たとえば、フィルタ文字列 starts_with("us-central") は任意の us-central ゾーンと一致します。

    フィルタ文字列の使用例。

    フィルタ文字列に関する詳細については、モニタリング フィルタをご覧ください。

  • =~ または !=~ を選択する場合は、値として RE2 正規表現を入力します。たとえば、正規表現 us-central1-.* は任意の us-central1 ゾーンと一致します。

    正規表現によるフィルタリングの例。

    正規表現 ^us.*.a$ は、名前が「a」で終わる任意の US ゾーンと一致します。

    正規表現を使用したゾーンのフィルタリングの例。

フィルタ条件は複数指定できます。また、同じラベルを複数回使用することもできます。これにより、ある範囲の値をフィルタリングできます。さらにフィルタを追加するには、フィルタ フィールドの下部にある [Add a filter] をクリックします。現時点では、すべてのフィルタ条件を満たす必要があるため、論理演算子 AND を使用した場合と同じになります。たとえば、starts_withends_with の両方のフィルタ文字列を使用して、米国の「a」ゾーンのみを表示できます。

複数フィルタの使用例。

zone="starts_with("asia-east1")" フィルタまたは zone=~"asia-east1.*" フィルタを使用すると、asia-east1 ゾーンのいずれかからのデータを含む時系列のみが表示されます。

フィルタリングされた時系列が表示されます。

グラフデータの表示方法の選択

このセクションでは、[集計] フィールドを設定して選択したデータを表示する方法について説明します。集計は、データポイントのアラインメントと、異なる時系列の組み合わせで構成されます。集計の詳細については、フィルタリングと集計: 時系列の操作をご覧ください。

グループ時系列

異なる時系列を組み合わせることで、指標に対して返されるデータの量を減らすことができます。複数の時系列を組み合わせるには、通常、グループ化と関数を指定します。グループ化はラベル値で行います。関数は、グループ内のすべての時系列を新しい時系列に結合する方法を定義します。

グループを追加するには、[Group by] テキスト ボックス内のテキストをクリックし、メニューから選択します。メニューは、選択したリソースと指標の時系列データに基づいて動的に作成されます。グループ化とフィルタリングでは、同じラベルセットを使用します。

最初のラベルを追加すると、次のようになります。

  • アグリゲータが選択されます。選択される関数は、表示されるデータのタイプによって決まります。ただし、この関数は変更できます。
  • アグリゲータは、同じラベル値を持つ時系列を 1 つの時系列に結合する方法を決定します。
  • グラフには、[Group by] テキスト ボックスに記載されているラベルの値ごとに 1 つの時系列が表示されます。

複数のラベルでグループ化した場合、アグリゲータは指定されたラベルついて、同じ値を持つ時系列を結合します。

グループ化オプションを指定せずにアグリゲータを指定すると、関数は選択したすべての時系列に適用され、1 つの時系列になります。

次のスクリーンショットは、アグリゲータが sum のデフォルト値に設定された、user_labels.version によるグループ化を示しています。

グループ化の設定の例

この選択により、user_labels.version の値ごとに 1 つの時系列が生成されます。各時系列のデータポイントは、特定バージョンの個別の時系列のすべての値の合計から計算されます。

user_labels.version でグループ化された時系列の表示

複数のラベルでグループ化できます。複数のグループ化オプションがある場合は、ラベル値の組み合わせごとに時系列がグループ化され、各グループにアグリゲータが適用されます。結果のグラフには、ラベル値の組み合わせごとに 1 つの時系列が表示されます。ラベルを指定する順序は問題になりません。

たとえば、次のスクリーンショットは、user_labels.versionsystem_labels.machine_image によるグループ化を示しています。

バージョンとマシンイメージでグループ化された時系列。

図のように、両方のラベルでグループ化すると、値のペアごとに 1 つの時系列が取得されます。この方法では、ラベルの組み合わせごとに時系列が作成されるため、1 つのグラフに作成する場合よりも多くのデータが作成されます。

グループ化を指定した場合、またはアグリゲータを選択した場合、グラフ化された時系列には、プロジェクト識別子などの必要なラベルと、グループ化で指定されたラベルのみが含まれます。

グループ条件の条件を削除

グループ別条件を削除するには、次の操作を行います。

  1. グループ別ラベルを削除します。
  2. アグリゲータを none に設定します。

アライメント

アライメントは、Monitoring によって受信された時系列データを、固定間隔でデータポイントを持つ新しい時系列に変換するプロセスです。アライメントのプロセスは、一定時間内に受信したすべてのデータポイントを収集し、それらのデータポイントを結合する関数を適用し、結果にタイムスタンプを割り当てます。この関数では、すべてのサンプルの平均を計算することも、すべてのサンプルの最大値を抽出することもできます。

[Period] フィールドには、時系列データをアライメントするときに使用する最小時間間隔を指定します。選択した表示期間でグラフに表示するデータポイントが多すぎる場合は、すべてのデータポイントが集計されるように、アライメント期間が自動的に増加します。このフィールドのデフォルト設定は 1 分です。

たとえば、サンプリング期間が 1 分の指標について考えてみましょう。グラフが 1 時間のデータを表示するように構成されている場合、グラフには 60 個のデータポイントすべてを表示できます。アライメント期間が 10 minutes に設定されている場合、グラフには 6 個のデータポイントが表示されます。ただし、1 週間のデータを表示するようにグラフを構成した場合、グラフに表示するポイントが多すぎるため、期間が自動的に変更されます。この例では、アライメント期間が 1 時間に変更されます。

[Aligner] フィールドは、アライメント期間内のすべてのデータポイントを結合するために使用される関数を指定します。Aligner のほとんどは、一般的な数学関数を実行します。たとえば [min] を選択した場合、データポイントは、アライメント期間内のすべてのデータポイントの最小値にアライメントされます。一部の Aligner は、より複雑なアクションを実行します。

  • 次の古い: アライメント期間内に最新のサンプルのみを保持するには、次の古い Aligner を使用します。この Aligner は、稼働時間チェックでよく使用されます。最新の値のみを対象とする場合は、適切な選択肢です。

    この Aligner は、ゲージ指標にのみ有効です。

  • パーセンタイル: 折れ線グラフ、積み上げ面グラフ、積み上げ棒グラフなどのプロトタイプで分布指標を表示するには、表示する分布でのパーセンタイルを選択する必要があります。このパーセンタイルを指定する方法の 1 つに、パーセンタイル Aligner の選択があります。5、50、95、99 パーセンタイルを選択できます。アライメントされるデータポイントは、アライメント期間内のすべてのデータポイントを使用して指定されたパーセンタイルを計算することで決定されます。

    この Aligner は、分布データ型を持つゲージ指標とデルタ指標に対してのみ有効です。

  • デルタ: 累積指標またはデルタ指標を、アライメント期間ごとのサンプルが 1 つであるデルタ指標に変換するには、この Aligner を使用します。この Aligner によって、データ補間が発生する可能性があります。例については、種類、タイプ、変換をご覧ください。

    この Aligner は、累積指標とデルタ指標にのみ有効です。

  • レート: 累積指標またはデルタ指標をゲージ指標に変換するには、この Aligner を使用します。この Aligner を選択した場合、時系列がデルタ Aligner と同様に変換され、アライメント期間で除算されると考えることができます。たとえば、元の時系列の単位が MiB で、アライメント期間の単位が秒の場合、この Aligner ではグラフの単位が MiB/秒 になります。詳細については、種類、タイプ、変換をご覧ください。

    この Aligner は、累積指標とデルタ指標にのみ有効です。

使用可能な Aligner についての詳細は、API リファレンスの Aligner をご覧ください。

アライメント フィールドにアクセスするには、次の手順を実行します。

リソースタイプと指標を選択すると、メインパネルにアライメント期間が表示されます。

[Period] フィールドの表示。

アライメント関数を表示するには、[詳細設定を表示] をクリックします。

詳細オプションの表示。

次のスクリーンショットは、特定の Google Cloud プロジェクトの Compute Engine VM インスタンスの CPU 使用率を示しています。この画像では、アライメント フィールドがデフォルト値になっています。アライメント関数は mean に設定され、アライメント期間は 1 minute に設定されています。

デフォルトのアライメント設定を使用する VM インスタンスの CPU 使用率。

比較のため、次のスクリーンショットでは、期間を 1 minute から 5 minutes に変更した場合の影響を示しています。

アライメント期間が 5 分である VM インスタンスの CPU 使用率

期間を増やすことにより、結果のグラフのポイントが少なくなり、時系列あたり 60 ポイントから時系列あたり 10 ポイントに減ります。グラフの各ポイントは、アライメント期間内の時系列ポイントを平均することで計算されます。アライメント期間を増やすことにより、平均するポイントが増え、プロットするデータが滑らかになる効果が得られます。

二次集計

[Group By] オプションの例にあるように、すでに複数の時系列で集計が表されている場合は、[Secondary Aggregator] を選択すると時系列をさらに集計できます。

二次集計のフィールド

二次集計を行うことで、グラフのすべての時系列を 1 つに削減できます。

次のスクリーンショットでは、フィルタリングされたデータセットをグループ化した結果として、複数の時系列が表示されています。グループ化を使用するには集計が必要で、各行のグループが 1 つにまとめられます。次のスクリーンショットでは、ゾーンでグループ化した時系列が表示されています。

ゾーン別にグループ化され、フィルタリングされた時系列が表示されています。

次のスクリーンショットは、二次集計を使用して、グループ化された時系列の平均値を求めた結果を表しています。

前の例に適用された 2 次集計を表示しています。

次のステップ