ターゲット指標の構成

このページでは、指標選択ツールを使用してアラート ポリシーのターゲット指標を指定する方法について説明します。[Target] リージョンの横にあるグラフでは、ターゲットによってキャプチャされたデータに関する視覚的フィードバックが提供されます。

[Target] リージョンでは、Metrics Explorer およびグラフの作成で使用されているのと同じ指標セレクタが使用されます。すでに指標セレクタに慣れている場合は、このページをスキップできます。

指標の選択

指標を選択するには、[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] タブを示しています。

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

フィルタリング

フィルタ条件を指定すると、指標に対して返されるデータの量を減らし、一定の条件を満たす時系列のみを使用できます。フィルタを適用すると、グラフ上の線が減少し、グラフのパフォーマンスが向上します。

複数のフィルタ条件を指定できます。対応するグラフには、条件をすべて満たす(論理 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」ゾーンのみを表示できます。

複数のフィルタの使用

集計

時系列を選択したら、次のステップは集計オプションの指定です。集計は、個々の時系列のアライメントを行い、それからアライメントされた時系列を組み合わせます。集計の詳細については、フィルタリングと集計: 時系列の操作をご覧ください。

データの配置

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

アラート ポリシーの条件を作成するときは、アライメント パラメータを指定する必要があります。Google Cloud Console を使用している場合、アラートの条件でリソースタイプと指標を選択すると、[Show advanced options] ボタンが表示されます。

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

期間: 期間は、特定の時点からのルックバック間隔です。たとえば、期間が 5 分の場合、午後 1 時になると、午後 12 時 55 分から午後 1 時の間に受信するサンプルがアライメントされます。午後 1 時 1 分の時点では、午後 12 時 56 分から午後 1 時 1 分の間に受信したサンプルがアライメントされます。アラート ポリシーのコンテキストでは、アライメント期間は、過去のスライディング ウィンドウとして表示できます。このフィールドの詳細については、アライメント期間と期間時間をご覧ください。

残りの集計オプションを表示するには、[Show advanced options] をクリックします。

詳細オプションの表示。

整列指定子: [整列指定子] フィールドは、アライメント期間内のすべてのデータポイントを組み合わせるために使用される関数を指定します。使用可能な整列指定子についての詳細は、API リファレンスの Aligner をご覧ください。 一部の整列指定子は、データの整列と別の種類の指標への変換の両方を行います。詳細については、種類、タイプ、変換をご覧ください。

時系列の結合

異なる時系列を組み合わせることで、指標に対して返されるデータの量を減らすことができます。複数の時系列を組み合わせるには、通常、グループ化と関数を指定します。グループ化はラベルに基づいて行われます。 Google Cloud Console では、Aggregator という機能を使用して、グループ内の時系列を 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 つの時系列になります。この動作は以下のスクリーンショットに示されています。

合計で集計された時系列の表示(グループ化なし)

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

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

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

二次集計

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

二次集計のフィールド

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

凡例テンプレート

Cloud Console で、[詳細設定を表示] をクリックして集計オプションを展開すると、整列指定子のフィールド、アライメント期間、セカンダリ アグリゲータの表示にくわえて、[凡例テンプレート] フィールドが表示されます。

[Legend Template] フィールドの場所を表示。

[Legend Template] フィールドを使用すると、グラフの時系列の説明をカスタマイズできます。この説明は、グラフのポップアップ カードや [Name] 列のグラフの凡例に表示されます。

デフォルトでは、凡例の説明は時系列のさまざまなラベルの値から自動的に作成されます。システムによってラベルが選択されるため、結果が適切ではない場合があります。このフィールドを使用すると、説明のテンプレートを自分で作成できます。

[Legend Template] フィールドに入力できる内容は次のとおりです。

  • 時系列のラベルを参照するフィルタ。時系列で使用可能なすべてのフィルタを表示するには、[フィルタを追加] をクリックします。フィルタを選択すると、テキスト ボックスに追加され、${resource.labels.zone} のような式として表されます。式が評価されると、その値が時系列のラベルから取り出されて、凡例に挿入されます。

  • 書式なしテキスト。 テキストだけを指定すると、チャート上の時系列の説明はどれも同じになります。ただし、テキストとフィルタはまとめることができます。

たとえば、次のスクリーンショットは、書式なしテキスト文字列とフィルタ式 ${resource.labels.zone} で構成されるテンプレートを示しています。

簡単な説明のテンプレート

グラフの凡例では、テンプレートから生成された値が [Name] という見出しの列とポップアップ カードに表示されます。

テンプレートから生成された説明

複数の文字列とフィルタを使用するテンプレートを作成できますが、ポップアップ カードで表示できるスペースは限られています。