指標ベースのアラート ポリシーの管理

このページでは、Google Cloud Console を使用して、指標に基づいたアラート ポリシーの作成と管理を行う方法について説明します。このコンテンツは、ログベースのアラート ポリシーには適用されません。ログに特定のメッセージが表示されたときに通知する、ログベースのアラート ポリシーの詳細については、ログのモニタリングをご覧ください。

アラート ポリシーは、モニタリングする一連の条件を記述するものです。これらの条件は、アプリケーションの健全性、システム指標の値、リソースの消費量に関連している可能性があります。たとえば、稼働時間チェックをモニタリングするポリシーや、Cloud Monitoring API の使用状況をモニタリングするポリシーが必要な場合があります。アラート ポリシーでは、ポリシーの条件が満たされたときに通知する方法と、通知に含めるドキュメントを指定することもできます。

Cloud Monitoring API を使用してアラート ポリシーを作成、管理することもできます。この方法の詳細については、API ごとのアラートポリシーの管理をご覧ください。JSON で表されるポリシーについては、サンプル ポリシーをご覧ください。

始める前に

アラート ポリシーを作成する前に、アラート ポリシーの一般的なコンセプトと用語を十分理解しておく必要があります。ポリシーのコンポーネント、インシデントの概念、料金と制限については、アラートの概要をご覧ください。

アラート ポリシーを作成する

Cloud Monitoring では、アラート ポリシーの作成に使用するインターフェースが更新されています。このドキュメントでは、以前のインターフェースとプレビューのインターフェースについて説明します。プレビューのインターフェースを試すことを選択した場合で、以前のインターフェースを使用する場合は、[以前の UI に戻る] をクリックしてください。

以前のインターフェース

アラート ポリシーを作成するには:

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. [アラート] を選択します。

  3. [ポリシーを作成] をクリックして、[アラート ポリシーの作成] ページを表示します。

    [新しいアラート ポリシーの作成] ダイアログが表示されます。

    1. [条件を追加] をクリックし、ダイアログを完成させます。 条件のフィールドの詳細については、条件の指定をご覧ください。

      条件は、モニタリング対象リソース、そのリソースの指標、条件を満たすタイミングを記述します。アラート ポリシーには少なくとも 1 つの条件が必要ですが、アラート ポリシーには最大 6 個の条件を含めることができます。 アラート ポリシーの条件が 1 つだけで条件が満たされている場合、インシデントが作成されます。アラート ポリシーに複数の条件がある場合は、それらの条件をどのように組み合わせるかを指定します。詳細については、複数の条件を持つポリシーをご覧ください。

    2. [次へ] をクリックして通知セクションに進みます。

    3. インシデントが作成されたときに通知を受け取るには、アラート ポリシーに通知チャネルを追加します。複数の通知チャネルを追加できます。通知チャネルの選択の詳細については、通知オプションをご覧ください。

      通知チャネルを追加するには、[通知チャネル] をクリックします。ダイアログで、メニューから 1 つ以上の通知チャネルを選択し、[OK] をクリックします。

      「更新」ボタンと「チャネルを管理する」ボタンを表示する通知ダイアログ。

      追加する通知チャネルが一覧にない場合は、[通知チャネルを管理] をクリックします。新しいブラウザタブの [通知チャネル] ページが表示されます。このページで、構成された通知チャネルを更新できます。更新が完了したら、元のタブに戻って 更新 アイコンをクリックし、アラート ポリシーに追加する通知チャンネルを選択します。詳しくは、オンデマンドでチャネルを作成するをご覧ください。

    4. (省略可)インシデントが開いて閉じられたときに通知を受け取る場合は、[Notify on incident closure] チェックボックスをオンにします。デフォルトでは、インシデントが開かれたときにのみ通知が送信されます。

      [Notify on incident closure] ボタンの表示。

    5. (省略可)[インシデントの自動クローズ期間] フィールドが表示されている場合は、このフィールドの値を、モニタリングが受信を停止した際に、インシデントを閉じる前のモニタリングの待機時間に設定します。このフィールドのデフォルト値は 7 日間です。

      たとえば、仮想マシン(VM)をモニタリングする指標のしきい値の条件を含むアラートがあるとします。インシデントが開いている間に VM をシャットダウンすると、デフォルトでは、Monitoring はインシデントを閉じる前に 7 日間待機します。

    6. [次へ] をクリックして、ドキュメント セクションに進みます。

    7. [名前] をクリックし、ポリシー名を入力します。ポリシー名は通知に含まれ、[ポリシー] ページに表示されます。

    8. (省略可)通知に含めるドキュメントを指定します。ドキュメントのフォーマットには Markdown を使用できます。ポリシー自体から情報を pull してドキュメントの内容を調整するには、変数を使用できます。このフィールドの内容のフォーマットと調整の詳細については、ドキュメント テンプレートでマークダウンと変数を使用するをご覧ください。

      たとえば、Addressing High CPU Usage などのタイトルと、プロジェクトを識別する詳細をドキュメントに含めることができます。

      ## Addressing High CPU Usage
      
      This note contains information about high CPU Usage.
      
      You can include variables in the documentation. For example:
      
      This alert originated from the project ${project}, using
      the variable $${project}.
      

      この値は、通知内の変数のみを置き換えます。[マークダウンをプレビューする] ペインと、ドキュメントを表示する Cloud Console の他の場所では、Markdown の書式のみが反映されます。

      マークダウンを使用したドキュメント メモの作成例

      通知を制御するためのチャネル固有のタグを含めることもできます。詳細については、チャネル コントロールの使用をご覧ください。

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

プレビューのインターフェース

アラート ポリシーを作成するには:

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. Cloud Monitoring のナビゲーション パネルで [アラート] を選択し、[ポリシーを作成] をクリックします。

  3. [アラート ポリシーの作成] ページの [新しい条件] ステップで、アラート ポリシー条件を構成します

  4. (省略可)複数条件に基づくアラート ポリシーを作成するには、以下の操作を行います。

    1. 追加の条件ごとに、[条件を追加] をクリックして、条件を構成します。
    2. すべての条件を追加したら、[複数条件のトリガー] ステップでこれらの条件を組み合わせる方法を選択します。詳細については、複数の条件を持つポリシーをご覧ください。
  5. (省略可)アラート ポリシーの条件が満たされたときに通知を受け取るには、[通知と名前] ステップで [通知チャネルを使用] が有効になっていることを確認します。次に、以下の操作を行います。

    1. [通知チャネル] テキストをクリックして、メニューをアクティブにします。このメニューから 1 つ以上の通知チャネルを選択します。

      追加する通知チャネルが一覧にない場合は、オンデマンドでのチャネルの作成をご覧ください。

      通知チャネルの選択の詳細については、通知オプションをご覧ください。

    2. インシデントが解決されたときに通知を受け取るには、[Notify on incident closure] を選択します。

      デフォルトでは、Google Cloud Console でアラート ポリシーを作成すると、インシデントが作成されたときにのみ通知が送信されます。

    アラート ポリシーの通知チャネルは、ポリシーを編集することで変更できます。

  6. (省略可)[インシデントの自動クローズ期間] フィールドが表示されている場合は、このフィールドの値を、モニタリングが受信を停止した際に、インシデントを閉じる前のモニタリングの待機時間に設定します。このフィールドのデフォルト値は 7 日間です。

    たとえば、仮想マシン(VM)をモニタリングする指標しきい値条件のアラートがあるとします。インシデントが開いている間に VM をシャットダウンすると、デフォルトでは、Monitoring はインシデントを閉じる前に 7 日間待機します。

  7. (省略可)通知を含むカスタム ドキュメントを含めるには、[通知と名前] ステップの [ドキュメント] セクションに、そのコンテンツを追加します。

    ドキュメントのフォーマットには Markdown を使用できます。ポリシー自体から情報を pull してドキュメントの内容を調整するには、変数を使用できます。 たとえば、Addressing High CPU Usage などのタイトルと、プロジェクトを識別する詳細をドキュメントに含めることができます。

    ## Addressing High CPU Usage
    
    This note contains information about high CPU Usage.
    
    You can include variables in the documentation. For example:
    
    This alert originated from the project ${project}, using
    the variable $${project}.
    

    通知が作成されると、Monitoring によって変数が値に置き換えられます。この値は、通知内の変数のみを置き換えます。プレビューのパネルや Cloud Console の他の場所では、Markdown の形式のみが表示されます。

    マークダウンを使用したドキュメント メモの作成例

    Markdown と変数の詳細については、ドキュメント テンプレートで Markdown と変数を使用するをご覧ください。

    通知を制御するためにチャネル固有のタグを含める方法については、チャネル コントロールの使用をご覧ください。

    アラート ポリシーのドキュメントは、ポリシーを編集することで変更できます。

  8. (省略可)アラート ポリシーの名前を [新しいアラート] からわかりやすい名前に変更するには、[通知と名前] ステップに移動してポリシー名を更新します。

  9. [作成] をクリックします。

条件の構成

このセクションでは、プレビューのインターフェースを使用して条件を構成する方法について説明します。以前のインターフェースを使用している場合は、条件の指定をご覧ください。

条件を構成するには、次の手順を行います。

  1. モニタリングする時系列の指定方法を選択します。

    • 基本モード

      MQL は使用しないものの、特定のリソースの指標をモニタリングする条件を構成する場合は、基本モードを使用します。

      基本モードを選択した場合は、MQL モードやダイレクト フィルタモードに変更できます。

    • MQL モード

      MQL を使用して条件を記述する場合、または指標の比率をモニタリングする場合は、MQL モードを使用します。

      MQL モードを使用している場合、クエリの基本モードまたはダイレクト フィルタモードへの変更はできません。

    • ダイレクト フィルタモード

      次のいずれかをモニタリングする場合は、ダイレクト フィルタ モードを使用します。

      • サービスレベル目標(SLO)。
      • 仮想マシン(VM)で実行されているプロセスの数。
      • まだデータがないカスタム指標。

      ダイレクト フィルタ モードを使用している場合、クエリの基本モードまたは MQL クエリへの変更はできません。

  2. (省略可)基本モードまたはダイレクト フィルタモードを使用している場合は、[データの変換] フィールドを使用して、選択した時系列の処理と結合方法を指定します。

  3. 条件のトリガーを構成します。

基本モード

基本モードを使用してモニタリングする時系列を選択する方法は、次のとおりです。

  1. [アラート ポリシーの作成] ページで [指標の選択] をクリックし、リソースまでスクロールしてメニュー内を移動します。指標を選択したら、[適用] をクリックします。

    特定の文字列を含む指標にメニューを制限するには、フィルタバーにその文字列を入力します。たとえば、「CPU」と入力すると、名前に CPU が含まれる指標のみが表示されます。メニューに指標が記載されているかどうかの判別に、大文字と小文字は区別されません。

    選択した指標またはリソースを変更するには、[指標の選択] メニューを展開し、[リセット] をクリックするか、メニュー内を移動して別の指標またはリソースを選択します。

  2. (省略可)グラフに表示される時系列の一部のみをモニタリングするには、フィルタを追加します。フィルタ ダイアログで、[フィルタ] フィールドを使用して、フィルタリングするラベルを選択します。たとえば、リソース グループ、名前、リソースラベル、ゾーン、指標ラベルでフィルタリングできます。

    たとえば、フィルタ zone =~ ^us.*.a$ は正規表現を使用して、ゾーン名が us で始まり a で終わるすべての時系列データに一致します。詳細については、選択したデータをフィルタリングするをご覧ください。

選択後にツールバーで [MQL] をクリックすると、クエリエディタが開き、選択内容を含むクエリが表示されます。既存のクエリを変更して基本モードに戻すと、変更は破棄されます。

MQL モード

MQL を使用して条件を構成するには、次の操作を行います。

  1. [カスタム アラートの作成] ページのツールバーで [MQL] をクリックし、条件のクエリを入力します。

    クエリは、次のいずれかのオペレーションで終了する必要があります。

    • しきい値アラートの condition オペレーション。
    • 不在のアラートのための absent_for オペレーション。

    詳細については、MQL のアラート ポリシーをご覧ください。

  2. [次へ] をクリックして条件のトリガーを構成します

基本モードに戻るには、[カスタム アラートの作成] ページのツールバーで [基本クエリ] をクリックします。

クエリを作成または既存のクエリを変更してから、基本モードに戻ると、変更は破棄されます。

ダイレクト フィルタモード

ダイレクト フィルタ モードを使用してモニタリングする時系列を選択する方法は、次のとおりです。

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

  2. モニタリング フィルタを入力します。

    たとえば、名前に nginx が含まれている Compute Engine VM インスタンスで動作しているプロセスの数をカウントするには、次のように入力します。

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    詳しくは、次のリソースをご覧ください。

基本モードに戻るには、[?] をクリックします。[指標の選択] ヘッダーで、[基本モード] を選択します。

基本モードを使用して選択を行い、ダイレクト フィルタモードに入ると、モニタリング フィルタを表示できます。モニタリング フィルタを変更しない場合は、基本モードに戻すことができます。モニタリング フィルタを作成または変更した後に基本モードに戻ると、変更が保持されない場合があります。

ダイレクト フィルタ モードを使用してモニタリングする時系列を選択してから、MQL モードに切り替えると、変更は保存されません。

データの変換

このセクションは、基本モードとダイレクト フィルタ モードにのみ適用されます。MQL モードには適用されません。

各時系列の配置方法と時系列の結合方法を構成する方法は、次のとおりです。

  1. (省略可)時系列のポイントを固定時間間隔に整列させるには、[データの変換] セクションの [ローリング ウィンドウ] と [ローリング ウィンドウ関数] を設定します。

    これらのフィールドでは、ウィンドウに記録されるポイントの結合方法を指定します。たとえば、ウィンドウが 15 分でウィンドウ関数が max の場合、直近 15 分間に記録されたすべてのサンプルの最大値がアライメント ポイントとなります。

    詳細については、時系列を配置するをご覧ください。

  2. (省略可)時系列を結合するには、[時系列間] セクションで、 [もっと見る] をクリックして、ダイアログを完了します。デフォルトでは、時系列は結合されません。

    時系列を 1 つ作成する方法は次のとおりです。

    1. [時系列集計] フィールドを none 以外の値に設定します。たとえば、mean を選択すると、表示される時系列の各ポイントは、個々の時系列のポイントの平均になります。

    2. [時系列のグループ化の基準] フィールドが空であることを確認します。

    時系列をグループ化するには、次の操作を行います。

    1. [時系列集計] フィールドを none 以外の値に設定します。

      たとえば、zone で時系列をグループ化し、集計フィールドを mean に設定すると、ゾーンごとに 1 つの時系列が作成されます。

    2. [時系列のグループ化の基準] フィールドで、グループ化するラベルを 1 つ以上選択します。

    前の手順を完了した後に複数の時系列が表示される場合、これらの時系列を 1 つの時系列に結合するには、[セカンダリ データ変換] フィールドを使用します。

    詳細については、時系列を結合するをご覧ください。

条件のトリガー

条件が満たされるタイミングを構成するには、[アラート トリガーの構成] ページに移動して、次の操作を行います。

  1. [条件タイプ] フィールドが表示されている場合は、条件のタイプを選択します。

    • 指標データの受信が停止したときに通知を受け取るには、[指標の不在] を選択します。

    • 指標の値に基づいて通知を受け取るには、[しきい値] を選択します。

  2. 条件が満たされたときに個々の時系列がどのように影響するかを指定するには、[アラートのトリガー] メニューから値を選択します。このメニューを使用すると、条件が満たされるためにトリガーを満たす必要がある時系列のサブセットを指定できます。

  3. 以下の条件固有のフィールドに値を入力します。

    • 指標の不在条件

      [この時間にデータが存在しない場合にトリガー] フィールドを使用して、指標データが受信されていないことを知らせるアラート ポリシーが待機する期間を入力します。

    • しきい値条件

      [しきい値の位置]、[しきい値]、[しきい値を超えている時間] の各フィールドを使用して、指標の値が条件基準を満たしている方法を入力します。たとえば、これらの値を [しきい値を越えている]、[0.3]、[5 minutes] に設定すると、5 分間隔のすべてのサンプルが 0.3 より大きい場合、時系列は条件を満たします。

      [再テスト ウィンドウ] を使用して、アラートがインシデントを生成する前に、条件基準を満たす必要がある期間を入力します。[最新の値] を選択した場合、1 回の測定で通知を行えます。概念的な情報と例については、アライメント期間と期間時間をご覧ください。

アラート ポリシー用の JSON

アラート ポリシーの JSON 表現を表示またはダウンロードするには、次の操作を行います。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. [アラート] を選択し、表示するポリシーを選択して、[ポリシーの詳細] ページを開きます。

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

    • JSON をローカル システムにダウンロードするには、JSON)をクリックします。

    • JSON を表示するには、プレビュー インターフェースを使用していることを確認します。 編集] をクリックして、[コードを表示] をクリックします。

      条件コードを表示表示されない場合は、従来のインターフェースを使用しているか、 [その他の設定] をクリックします。

ダッシュボードにアラート ポリシーを追加する

アラート ポリシーに条件が 1 つ含まれている場合、そのアラート ポリシーの概要をカスタム ダッシュボードに表示できます。概要には、アラート ポリシーがモニタリングする時系列、しきい値、対応待ちのインシデント数が含まれます。

アラート ポリシーの概要をカスタム ダッシュボードに表示する手順は、次のとおりです。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. [ダッシュボード] を選択し、変更するカスタム ダッシュボードを開きます。

  3. [編集] が表示されない場合は、 [表示中] をクリックし、[編集モードに切り替える] を選択します。

  4. ウィジェット ライブラリから [アラートのグラフ] を選択するか、[グラフを追加] をクリックして、メニューから [アラートのグラフ] を選択します。

  5. アラートのグラフの構成ペインで、[アラート ポリシー] メニューを使用してアラート ポリシーを選択します。[アラート ポリシー] メニューからは単一条件のアラート ポリシーのみを選択できます。

次のスクリーンショットは、アラートのグラフを示しています。

アラートのグラフの例。

この例では、アラート ポリシーにより、2 つの異なる仮想マシンの CPU 使用率がモニタリングされています。赤い点線は条件しきい値を示しており、しきい値は 50% に設定されています。No incidents というラベルが付いた緑色のチップは、アラート ポリシーに対応待ちのインシデントがないことを示しています。対応待ちのインシデントの数を示すチップ上にポインタを置くと、基盤となるアラート ポリシーにリンクするダイアログが開きます。

詳細については、ダッシュボードとグラフの使用をご覧ください。

ポリシーを管理する

すべてのアラート ポリシーを一覧表示するには、次のようにします。

  1. Cloud Console で、[Monitoring] を選択します。

    [Monitoring] に移動

  2. [アラート] を選択します。

  3. ポリシーの部分的なリストが [Policies] ペインに表示されます。すべてのポリシーを表示してフィルタを有効にするには、[すべてのポリシーを見る] をクリックします。

アラート ポリシーの詳細を表示するには、アラート ポリシーの名前をクリックします。

一覧表示されるアラート ポリシーを制限するには、フィルタを追加します。各フィルタは、名前と値で構成されています。値はポリシー名に対して完全一致、または部分一致に設定できます。フィルタでは、大文字と小文字を区別しない比較は行われません。複数のフィルタがある場合、OR フィルタを挿入しない限り、論理 AND によってフィルタが結合されます。次のスクリーンショットは、test または My Uptime Check Alert Policy に一致するすべてのアラート ポリシーを示しています。

フィルタを使用したアラートの概要のサンプル。

[ポリシー] ページでは、アラート ポリシーを編集、削除、コピー、有効化、無効化できます。

  • ポリシーを編集またはコピーするには、[その他のオプション] をクリックして、対応するオプションを選択します。ポリシーの編集方法とコピー方法は、アラート ポリシーの作成方法と似ています。フィールドの値は変更でき、場合によっては削除することもできます。完了したら、[保存] をクリックします。

  • ポリシーを削除するには、その他アイコン をクリックし、[削除] を選択します。確認ダイアログで [削除] を選択します。

  • アラート ポリシーの有効ステータスを変更するには、[有効] の下にある切り替えボタンをクリックします。

アラート ポリシーを選択すると、[ポリシーの詳細] が表示されます。たとえば、次のスクリーンショットは、Test staging という名前のアラート ポリシーの詳細を示しています。

アラート ポリシーの詳細ページのサンプル。

[通知] セクションには、インシデントが終了したときに通知するようにポリシーを構成したかどうかが表示されます。インシデントが開かれると、常に通知されます。通知の動作を変更するには、アラート ポリシーを編集します。

アラート ポリシーの編集、削除、コピー、有効化、無効化は、[ポリシーの詳細] ページで行えます。たとえば、現在有効なアラート ポリシーを無効にするには、[有効] をクリックした後、[オフにする] を選択します。同様に、現在無効なポリシーを有効にするには、[無効] をクリックします。