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

このページでは、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 日間です。自動クローズの最短期間は 30 分です。

      たとえば、仮想マシン(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. [通知と名前] のステップで [通知チャネルを使用] が有効になっていることを確認します。
    2. [通知チャンネル] というテキストをクリックし、メニューから 1 つ以上の通知チャネルを選択します。

      構成されたチャネルのリストに通知チャネルを追加する方法については、オンデマンドでチャネルを作成するをご覧ください。

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

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

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

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

  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 コンソールの他の場所では、マークダウン形式のみが表示されます。

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

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

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

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

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

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

条件を構成する

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

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

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

    • 基本モード

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

      基本モードで選択した条件は、MQL やダイレクト フィルタモードで使用される形式に変換できます。

      基本モードは、デフォルトの構成方式です。

    • MQL モード

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

      MQL でのクエリは、基本モードやダイレクト フィルタモードで使用されている形式に変換できません。

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

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

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

      直接フィルタモード クエリを基本モードまたは MQL で使用される形式に変換することはできません。

  2. (省略可)基本モードまたはダイレクト フィルタモードを使用する場合は、[Transform data] フィールドを使用して、選択した時系列の処理方法と組み合わせ方を指定できます。データ変換には、デフォルト設定が選択されます。

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

基本モード

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

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

    特定の文字列を含む指標にメニューを絞るには、フィルタバーにその文字列を入力します。たとえば、名前に「CPU」が含まれる指標のみを表示するようにメニューを制限するには、フィルタバーに「CPU」と入力します。メニューに指標がリストされているかどうかを判断するため、大文字と小文字を区別しない検査が実行されます。

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

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

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

クエリエディタを開いて選択した内容が自動的に入力されるようにするには、[MQL] をクリックします。行った変更は、基本モードに戻ると破棄されます。

次のステップ: [Transform data] フィールドを使用して、選択した時系列の処理方法と組み合わせ方を指定します。

MQL モード

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

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

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

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

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

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

基本モードに戻るには、[カスタム アラートの作成] ページのツールバーで [BASIC QUERY] をクリックします。行った変更は、基本モードに戻ると破棄されます。

次のステップ: 条件トリガーを構成します。

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

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

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

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

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

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

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

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

ダイレクト フィルタ モードで行った変更は、MQL モードに切り替えると破棄されます。モニタリング フィルタを作成または変更した後に基本モードに戻ると、変更が保持されない場合があります。

次のステップ: [Transform data] フィールドを使用して、選択した時系列の処理方法と組み合わせ方を指定します。

データの変換

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

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

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

    これらのフィールドは、ウィンドウに記録されるポイントの組み合わせ方を指定します。たとえば、ウィンドウが 15 分でウィンドウ関数が max の場合、揃えられるポイントは最新の 15 分間に記録されたすべてのサンプルの最大値です。

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

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

    単一の時系列を作成するには、次のようにします。

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

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

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

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

      たとえば、zone で時系列をグループ化し、集計フィールドを mean に設定すると、各ゾーンに 1 つの時系列となります。

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

    前の手順を済ませた後、1 つの時系列に複数の時系列を表示する場合は、[Secondary data transform] フィールドを使用してこれらの時系列を結合します。

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

次のステップ: 条件トリガーを構成します。

条件のトリガー

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

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

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

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

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

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

    • 指標の不在条件:

      [トリガーとなる不在時間] フィールドを使用して、アラート ポリシーが、指標データが受信されていないことを通知するまで待機する時間を指定します。

    • Threshold 条件:

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

      • (省略可)アラートがインシデントを生成する前に条件条件を満たす必要がある期間を選択するには、[詳細オプション] をクリックして、[再テストの時間枠] を選択します。

        [再テストなし] を選択している場合は、1 回の測定で通知が送信されることがあります。概念的な情報と例については、アライメントの期間と継続時間をご覧ください。

      • (省略可)時系列データが到着しなくなったときに Monitoring が条件を評価する方法を選択するには、[詳細オプション] をクリックして、[評価がないデータの評価] を選択します。

        Cloud Console
        [欠落データの評価] フィールド
        概要 詳細
        欠落データがない 対応待ちのインシデントはオープンのままです。
        新しいインシデントはオープンされません。

        条件が満たされている場合、データが到着しなくなっても、条件は引き続き満たされます。この条件でインシデントが対応待ちの場合、インシデントは対応待ちのままになります。インシデントが対応待ちで、データが送られてこない場合、自動クローズ タイマーは 15 分以上の時間をおいて開始されます。タイマーの期限が切れると、インシデントはクローズされます。

        条件が満たされていない場合、データが到着しなくなっても、条件は引き続き満たされません。

        欠落データポイントが、ポリシーに違反する値として扱われる 対応待ちのインシデントはオープンのままです。
        新しいインシデントをオープンできます。

        条件が満たされている場合、データが到着しなくなっても、条件は引き続き満たされます。この条件でインシデントが対応待ちの場合、インシデントは対応待ちのままになります。インシデントが対応待ちで、自動クローズ期間に 24 時間を加えた期間にデータが到着しない場合、インシデントはクローズされます。

        条件が満たされていない場合、この設定により、指標しきい値条件が指標不在条件のように動作します。再テストの時間枠で指定された時間内にデータを受信しない場合は、条件が満たされたと評価されます。条件が 1 つのアラート ポリシーでは、条件が満たされるとインシデントが開始されます。

        欠落データポイントが、ポリシーに違反しない値として扱われる 対応待ちのインシデントはクローズされます。
        新しいインシデントはオープンされません。

        条件が満たされている場合、データの受信が停止すると、その条件は満たされなくなります。この条件のインシデントが対応待ちの場合、インシデントはクローズされます。

        条件が満たされていない場合、データが到着しなくなっても、条件は引き続き満たされません。

  4. (省略可)条件名を更新します。

アラート ポリシーを表示

  1. Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動

  2. ナビゲーション パネルで [アラート] を選択します。

  3. すべてのポリシーを表示してフィルタを有効にするには、[Policies] ペインの [See all policies] をクリックします。

  4. 表示するポリシーを見つけて選択します。

たとえば、次のスクリーンショットは、Test staging という名前のアラート ポリシーの詳細を示しています。

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

上図に示されているように、詳細ページにはアラート ポリシーに関する情報が表示されます。

  • ポリシーによって作成されたインシデントを表示するには、インシデント セクションをご覧ください。

  • 構成済みの通知チャネルを表示するには、通知チャネル セクションをご覧ください。

  • 通知に含めるように指定した追加情報を表示するには、ドキュメント セクションをご覧ください。

  • ユーザー定義ラベルを表示するには、[ラベル] セクションを表示します。ラベルを使用してアラートを管理する方法を示す例については、アラート ポリシーに重大度を追加するをご覧ください。

  • JSON 表現を編集、コピー、削除、ダウンロードする場合や、ポリシーの有効状態を変更する場合は、ツールバーを使用します。たとえば、有効なアラート ポリシーを無効にするには、[有効] をクリックして [無効にする] を選択します。

アラート ポリシーの JSON を表示する

アラート ポリシーの JSON 表現は、ポリシー設定が Cloud Monitoring API のフィールドとどのように関連付けられているかを示します。アラート ポリシーの JSON 表現を表示またはダウンロードするには、次の操作を行います。

  1. Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動
  2. ナビゲーション パネルで [アラート] を選択します。
  3. 表示するポリシーを見つけて、ポリシー名をクリックし、[ポリシーの詳細] ページを開きます。

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

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

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

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

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

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

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

  1. Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動
  2. ナビゲーション パネルで、[ ダッシュボード] を選択し、表示または編集するダッシュボードを選択します。
  3. [Edit dashboard] ボタンが表示されている場合は、このボタンをクリックします。

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

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

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

アラートのグラフの例。

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

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

ポリシーを管理する

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

  1. Cloud Console で [Monitoring] を選択するか、次のボタンをクリックします。
    [Monitoring] に移動

  2. ナビゲーション パネルで [アラート] を選択します。

    [アラート] ページには、概要情報、インシデント、アラート ポリシーが列挙されたペインが表示されます。

  3. [Policies] ペインで [See all policies] をクリックします。

    [ポリシー] ページには、すべてのポリシーが表示され、フィルタバーと、各ポリシーに対してポリシーを編集、コピー、削除するためのオプションがあります。

    • 一覧表示されるアラート ポリシーを限定するには、次のいずれかを行います。

      • フィルタバーに名前を入力します。たとえば、名前に文字列「Example」が含まれるポリシーを表示するには、「Example」と入力します。フィルタがリストにあるかどうかを判断するために、大文字と小文字を区別しない比較テストが使用されます。
      • [Filter policies] をクリックし、フィルタ プロパティを選択して値を入力するか、メニューから値を選択します。

      複数のフィルタがある場合、OR フィルタを挿入しない限り、フィルタは論理 AND で結合されます。次のスクリーンショットでは、test または My Uptime Check Alert Policy に一致するすべてのアラート ポリシーが一覧表示されています。

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

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

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