メトリック アラート ルールを作成または編集する

この記事では、新しいメトリック警告ルールを作成する方法、または既存のメトリック警告ルールを編集する方法について説明します。 アラートの詳細については、アラートの概要に関するページを参照してください。

監視するリソース、リソースからの監視データ、アラートをトリガーする条件を組み合わせてアラート ルールを作成します。 次に、アクション グループアラート処理規則を定義して、アラートがトリガーされたときに何が起こるかを決定できます。

これらのアラート ルールによってトリガーされるアラートに含まれるペイロードを定義することができます。 共通のアラート スキーマを使用するペイロード、またはアラートの種類ごとの個別のスキーマ (あまり推奨されません) を使用するペイロードを含めることができます。

[前提条件]

メトリック アラート ルールを作成する前に、次のアクセス許可があることを確認します。

  • アラート ルールのターゲット リソースに対する読み取り権限 (例えば リーダー)。
  • アラート ルールに関連付けられているアクション グループに対する読み取り権限 (該当する場合)。
  • アラート ルールを作成するリソース グループでの書き込み権限 (共同作成者 など)。 Azure ポータルからアラート ルールを作成する場合は、ターゲット リソースが存在するのと同じリソース グループに既定でアラート ルールを作成します。

Azure Role-Based Access Control (RBAC) を使用してこれらのアクセス許可を管理します。 詳細については、 Azure Monitor のロール、アクセス許可、セキュリティ に関するページを参照し、Azure portal を使用して Azure ロールを割り当てます

メトリックを使用できるようにリソースを作成してから、10 分から 15 分かかる場合があります。

Azure portal でアラート ルール ウィザードにアクセスする

アラート ルールを作成または編集するには、複数の方法があります。

ポータルのホーム ページから警告ルールを作成または編集する

  1. Azure Portal で、[モニター] を選択します。
  2. 左側のペインで、[アラート] を選びます。
  3. [+ 作成]>[アラート ルール] を選択します。

ポータルのホーム ページからアラート ルールを作成する手順を示すスクリーンショット。

特定のリソースから警告ルールを作成または編集する

  1. Azure portal で、リソースに移動します。
  2. 左側のペインで、[アラート] を選びます。
  3. [+ 作成]>[アラート ルール] を選択します。
  4. アラート ルールの範囲は、選択したリソースに設定されます。 アラート ルールの条件の設定を続けます。

選んだリソースからアラート ルールを作成する手順を示すスクリーンショット。

既存の警告ルールを編集する

次の手順に従います。

  1. Azure ポータルで、ホーム ページまたは特定のリソースから、左側のウィンドウから [アラート] を選択します。

  2. 警告ルールを選択します。

  3. 編集したい警告ルールを選択した後に、[編集] を選択します。

    既存の警告ルールの編集手順を示すスクリーンショット。

  4. 警告ルールのタブのいずれかを選択して設定を編集します。

警告ルールのスコープを構成する

  1. [リソースを選択する] ペインで、アラート ルールのスコープを設定します。 サブスクリプション、リソースの種類、リソースの場所でフィルター処理できます。

    新しいアラート ルールの作成時にリソースを選ぶためのペインを示すスクリーンショット。

  2. を選択してを適用します。

条件を設定

次の手順に従います。

  1. [ 条件 ]タブで[ シグナル名 ]フィールドを選択すると、最もよく使用されるシグナルがドロップダウン リストに表示されます。 これらの一般的なシグナルのいずれかを選択するか、条件に別のシグナルを選択する場合は [すべてのシグナルを表示] を選択します。

    警告ルールの作成時によく使われるシグナルを示すスクリーンショット。

  2. (省略可能)前の手順で [すべてのシグナルを表示 ] を選択した場合は、[ シグナルの選択 ] ウィンドウを使用してシグナル名を検索するか、シグナルの一覧をフィルター処理します。 フィルター条件:

    次の表では、メトリック警告ルールで使用できるサービスについて説明します。

    信号源 説明
    プラットホーム メトリック シグナルの場合、監視サービスはメトリック名前空間です。 "プラットフォーム" は、メトリックがリソース プロバイダー (つまり "Azure") によって提供されることを意味します。
    Azure.ApplicationInsights 顧客から報告されるメトリック。Application Insights SDK によって送信されます。
    Azure.VM.Windows.GuestMetrics VM ゲスト メトリック。VM で実行されている拡張機能によって収集されます。 組み込みのオペレーティング システムのパフォーマンス カウンターとカスタムのパフォーマンス カウンターを含めることができます。
    <カスタムの名前空間> カスタム メトリック名前空間。Azure Monitor メトリック API によって送信されるカスタム メトリックを含みます。

    [シグナル名] を選択し、[適用] を選択します。

  3. [プレビュー] セクションで、選択したメトリック シグナルの結果をプレビューします。 次のフィールドの値を選択します。

    フィールド 説明
    時間範囲 結果に含める時間範囲。 過去 6 時間から最後の週まで指定できます。
    タイム シリーズ 結果に含める時系列。
  4. [アラート ロジック] セクションでは、次のとおりです。

    フィールド 説明
    しきい値 静的な値または動的な値に基づいてしきい値を評価する必要があるかどうかを選択します。
    静的しきい値では、構成したしきい値を使用してルールが評価されます。
    動的しきい値では、機械学習アルゴリズムを使用してメトリックの動作パターンが継続的に学習され、予期しない動作に該当するしきい値が計算されます。 動的しきい値の使用について詳しくは、こちらをご覧ください。
    オペレーター メトリックの値をしきい値と比較するための演算子を選択します。
    動的しきい値を使用する場合、同じアラート ルールで上限と下限の両方に対するメトリックの動作に基づいて調整されたしきい値を使用できます。 次のいずれかの演算子を選択します。
    • 上限しきい値より大きいか、より低いしきい値より低い (既定)
    • 上限しきい値より大きい
    設定されたしきい値よりも低い
    集計の種類 データ ポイントに適用する集計関数 (Sum、Count、Average、Min、Max) を選択します。
    しきい値 静的しきい値を選択した場合は、条件ロジックのしきい値を入力します。
    単位 選択したメトリック シグナルで、バイト、KB、MB、GB などの異なる単位がサポートされている場合に、静的しきい値を選択したときは、条件ロジックの単位を入力します。
    しきい値の感度 動的しきい値を選択した場合は、感度レベルを入力します。 感度レベルは、アラートをトリガーするために必要なメトリック系列パターンからの偏差の量に影響します。
    : しきい値は厳密であり、メトリック シリーズ パターンに近い値です。 アラート ルールは最小の偏差でトリガーされ、アラートは増えます。
    : しきい値は、より緩やかでバランスが取れたものになります。 高感度 (既定) の場合より警告が少なくなります。
    : しきい値が緩んでいるため、メトリック系列パターンからの偏差が大きくなります。 アラート ルールは大きい偏差でのみトリガーされ、アラートは減ります。
  5. (省略可能) ディメンションによる分割を構成できます。

    ディメンションは、メトリック値に関する追加のデータを含む、名前と値のペアです。 ディメンションを使用すると、すべてのディメンション値の集計を監視する代わりに、メトリックをフィルター処理して、特定の時系列を監視できます。

    複数のディメンション値を選択した場合は、その組み合わせによって生成される時系列ごとに独自のアラートがトリガーされ、個別に処理されます。 たとえば、ストレージ アカウントのトランザクション メトリックには、各トランザクションによって呼び出される API の名前 (GetBlob、DeleteBlob、PutPage など) を含む API 名ディメンションがある場合があります。 特定の API (集計データ) に多数のトランザクションがあるときにアラートを発生させることを選択できます。 ディメンションを使用して、特定の API のトランザクション数が多いときにのみアラートを発生させることもできます。

    フィールド 説明
    ディメンション名 ディメンションには、数値または文字列型の列を使用できます。 ディメンションを使用して、特定の時系列を監視し、生成されるアラートにコンテキストを提供します。
    Azure リソース ID 列で分割すると、指定したリソースがアラート ターゲットになります。 ResourceID 列が検出されると、自動的に選択され、発生したアラートのコンテキストがレコードのリソースに変更されます。
    オペレーター ディメンションの名前と値に使用される演算子。
    次元値 ディメンション値は、過去 48 時間のデータに基づいています。 カスタム ディメンション値を追加するには、[カスタム値を追加] を選択します。
    今後のすべての値を含める 選択したディメンションに追加される今後の値を含めるには、このフィールドを選択します。
  6. [評価するタイミング] セクションで:

    フィールド 説明
    毎回確認してください アラート ルールで条件が満たされているかどうかを調べる頻度を選択します。
    ルックバック期間 データがチェックされるたびに、どの程度遡って参照するかを選択します。 たとえば、1 分ごとに 5 分遡ります。
  7. (省略可能)動的しきい値を使用している場合は、[ 詳細オプション ] セクションで、特定の期間内にアラートをトリガーするエラーの数を指定します。 たとえば、過去 1 時間に 3 つのエラーが発生した場合にのみアラートをトリガーするように指定できます。 アプリケーション ビジネス ポリシーでこの設定を決定する必要があります。

    次のフィールドの値を選択します。

    フィールド 説明
    違反の数 アラートをトリガーする構成された時間枠内の違反の数。
    評価期間 違反の数が発生する期間。
    前のデータを無視します この設定を使用して、動的しきい値を計算するために、メトリック履歴データの使用を開始する日付を選択します。 たとえば、リソースがテスト モードで実行されていて、運用環境に移行された場合、リソースがテスト中のメトリックの動作を無視できます。
  8. 完了を選択します。 アラート ルールの条件を構成したら、アラート ルールの詳細を構成してアラートの作成を完了できます。 必要に応じて、アラート ルールにアクションとタグを追加することもできます。

アラート ルールのアクションを構成する

[ アクション ] タブでは、必要に応じてアラート ルールの アクション グループ を選択または作成できます。

新しいアラート ルールを作成するための [アクション] タブを示すスクリーンショット。

必要に応じて、通知用のカスタムメールの件名を設定できます。 詳細については、「 ログ検索アラートの電子メールの件名をカスタマイズする」を参照してください。

アラート ルールの詳細を構成する

次の手順に従います。

  1. [詳細] タブで、[プロジェクトの詳細] を定義します。

    • [サブスクリプション] を選択します。
    • リソース グループを選択してください。
  2. [アラート ルールの詳細] を定義します。

    新しいアラート ルールの作成時の [詳細] タブを示すスクリーンショット。

  3. 重大度を選択します。

  4. [アラート ルール名][アラート ルールの説明] の値を入力します。

  5. (省略可能)特定のリージョン内のカスタム メトリックを監視するメトリック アラート ルールを作成する場合は、そのリージョン内でアラート ルールのデータ処理が行われるようにすることができます。 これを行うには、アラート ルールを処理するリージョンのいずれかを選択します。

    • 北ヨーロッパ
    • 西ヨーロッパ
    • スウェーデン中部
    • ドイツ中西部
  6. (省略可能)[ 詳細オプション ] セクションで、いくつかのオプションを設定します。

    フィールド 説明
    作成時に有効化 アラート ルールの作成が完了したらすぐにその実行が開始されるようにするには、これを選択します。
    アラートを自動的に解決する アラートをステートフルにする場合に選択します。 アラートがステートフルの場合、条件が満たされなくなった時点でアラートは解決されます。
    このチェック ボックスをオンにしない場合、メトリック アラートはステートレスになります。 ステートレス アラートは、すでにアラートが発生していても、条件が満たされるたびに発生します。
    ステートレス メトリック アラートの通知の頻度は、アラート ルールで構成された頻度によって異なります。
    アラートの頻度が 5 分未満: 条件が継続して満たされている間、1 分から 6 分の間に通知が 1 回送信されます。
    5 分を超える警告の頻度: 条件が継続して満たされている間、構成された値とその値の 2 倍の間の頻度で通知が送信されます。 たとえば、頻度が 15 分のアラート ルールの場合、通知は 15 分から 30 分の間のどこかで送信されます。
  7. (省略可能) [カスタム プロパティ] セクションで、この警告ルールにアクション グループが含まれている場合、アラート通知ペイロードに含める独自のプロパティを追加できます。 これらのプロパティは、Webhook、Azure 関数、ロジック アプリのアクションなど、アクション グループが呼び出すアクションで使用できます。

    カスタム プロパティは、静的テキスト、アラート ペイロードから抽出された動的値、またはその両方の組み合わせを使用して、キーと値のペアとして指定されます。

    アラート ペイロードから動的値を抽出するための形式は ${<path to schema field>} です。 たとえば、 ${data.essentials.monitorCondition}と指定します。

    警告ルール用に構成されたアクション グループで共通スキーマが使用されているかどうかに関係なく、共通アラート スキーマの形式を使用して、ペイロードのフィールドを指定します。

    Webhook、Logic Apps、Azure Functions、Automation Runbook アクションに送信される JSON ペイロードにカスタム プロパティを追加します。 電子メール、SMS、プッシュ通知には含まれていません。また、Azure ポータルのアラートの詳細ページには表示されません。

    新しいアラート ルールを作成するカスタム プロパティを示すスクリーンショット。

    次の例では、カスタム プロパティの値を使用して、共通のアラート スキーマを使用するペイロードのデータを利用します。

    この例では、ウィンドウの開始時間とウィンドウの終了時間に関連するデータを含む [追加情報] タグを作成します。

    • 名前: Additional Details
    • 値: Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
    • 結果は次のとおりです。AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z

    この例では、アラートが解決または発生した理由についてのデータを追加します。

    • 名前: Alert ${data.essentials.monitorCondition} reason
    • 値: ${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
    • 考えられる結果:
      • Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
      • Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
  8. スコープ、条件、および詳細の構成が完了したら、[ 確認と作成] を選択します。

警告ルール タグを構成する

(オプション) アラート ルールにタグを追加するには、次の手順に従います。

  1. [タグ] タブを選択します。

  2. アラート ルール リソースに必要なタグを設定します。

    新しいアラート ルールの作成時の [タグ] タブを示すスクリーンショット。

警告ルールを確認して作成する

次の手順に従います。

  1. [ 確認と作成 ] タブでは、ルールが検証され、問題があれば表示されます。

  2. 検証に合格し、設定を確認したら、[ 作成] を選択します。

    新しいアラート ルールの作成時の [確認と作成] タブのスクリーンショット。

メトリック アラート ルールの名前付け制限

メトリック アラート ルール名の次の制限をご検討ください。

  • メトリック アラート ルールの名前は、作成後に変更 (名前変更) することはできません。
  • メトリック アラート ルール名は、リソース グループ内で一意である必要があります。
  • メトリック警告ルール名に次の文字を含めることはできません: * # & + : <> ? @ % { } \ /
  • メトリック アラート ルール名の末尾の文字をスペースやピリオドにすることはできません。
  • 結合されたリソース グループ名とアラート ルール名は、252 文字を超えることはできません。

アラート ルール名に英字または数字以外の文字が含まれている場合、特定のクライアントは、名前を取得するときにこれらの文字を URL エンコードすることがあります。 たとえば、スペース、句読点、記号などがあります。

複数の条件を含むメトリック アラート ルールでディメンションを使用する場合の制限事項

メトリック アラートは、多次元メトリックに対するアラートをサポートし、アラート ルールごとに最大 5 つの条件を含む複数の条件の定義をサポートします。

複数の条件を含むアラート ルールでディメンションを使用する場合は、次の制約を検討してください。

  • 各条件内では、ディメンションごとに 1 つの値のみを選択できます。

  • [ 現在と将来のすべての値を選択 ] オプション (アスタリスク *) を使用することはできません。 各ディメンション値を明示的に指定する必要があります。

  • 複数の条件を監視するアラート ルールでは、動的しきい値を使用できません。

  • 異なる条件で構成されたメトリックが同じディメンションをサポートする場合は、関連する条件のすべてのメトリックに対して、同じ方法で構成されたディメンション値を明示的に設定する必要があります。

    例えば次が挙げられます。

    • ストレージ アカウントで定義され、次の 2 つの条件を監視するメトリック アラート ルールについて考えてみましょう。

      • 合計 トランザクション> 5
      • 平均 SuccessE2ELatency> 250 ミリ秒
    • 最初の条件を更新し、ApiName ディメンションが "GetBlob" と等しいトランザクションのみを監視したいと考えています。

    • TransactionsSuccessE2ELatency の両方のメトリックで ApiName ディメンションがサポートされているため、両方の条件を更新し、値で "GetBlob" ディメンションを指定する必要があります。

次のステップ