Azure Resource Manager テンプレートを使用して Application Insights スマート検出ルールを管理する

Note

Application Insight リソースを、警告を利用したスマート検出 (プレビュー) に移行できます。 移行によって、さまざまなスマート検出モジュールのアラート ルールが作成されます。 ルールを作成すると、Azure Monitor の他の警告ルールと同様に、管理および構成することができます。 これらのルールに対するアクション グループを構成して、新たな検出があった場合にアクションを実行したり、通知をトリガーしたりする複数の方法を有効にすることもできます。

移行プロセスと移行後のスマート検出の動作の詳細については、スマート検出アラートの移行に関する記事を参照してください。

Application Insights のスマート検出ルールは、Azure Resource Manager テンプレートを使用して管理および構成できます。

この手法は、Resource Manager オートメーションで新しい Application Insights リソースをデプロイするとき、または既存のリソースの設定を変更するときに使用できます。

スマート検出ルールの構成

スマート検出ルールに対して次の設定を構成できます。

  • ルールを有効にするかどうか。 (既定値は true です。)
  • 検出された場合に、メールをサブスクリプションの [監視閲覧者] ロールと [監視共同作成者] ロールに関連付けられたユーザーに送信する必要があるかどうか。 (既定値は true です。)
  • 検出された場合に、通知を受け取るその他のメール受信者。
    • メールの構成は、プレビューとマークされたスマート検出ルールでは使用できません。

Resource Manager を使用してルールの設定を構成できるように、スマート検出ルールの構成は、Application Insights リソース内の内部リソースとして使用できます。 名前は ProactiveDetectionConfigs です。

柔軟性を最大化するために、各スマート検出ルールを一意の通知設定で構成できます。

次の例では、Resource Manager テンプレートを使用してスマート検出ルールの設定を構成する方法を示します。

すべてのサンプルが、"myApplication" という名前の Application Insights リソースを参照します。 また、"長い依存関係の期間のスマート検出ルール" も参照します。この内部名は "longdependencyduration" です。

Application Insights リソース名を置換し、関連するスマート検出ルールの内部名を指定する必要があります。 各スマート検出ルールに対応する Resource Manager 内部名の一覧については、次の表をご確認ください。

スマート検出ルールを無効にする

{
      "apiVersion": "2018-05-01-preview",
      "name": "myApplication",
      "type": "Microsoft.Insights/components",
      "location": "[resourceGroup().location]",
      "properties": {
        "Application_Type": "web"
      },
      "resources": [
        {
          "apiVersion": "2018-05-01-preview",
          "name": "longdependencyduration",
          "type": "ProactiveDetectionConfigs",
          "location": "[resourceGroup().location]",
          "dependsOn": [
            "[resourceId('Microsoft.Insights/components', 'myApplication')]"
          ],
          "properties": {
            "name": "longdependencyduration",
            "sendEmailsToSubscriptionOwners": true,
            "customEmails": [],
            "enabled": false
          }
        }
      ]
    }

スマート検出ルールの電子メール通知の送信を無効にする

{
      "apiVersion": "2018-05-01-preview",
      "name": "myApplication",
      "type": "Microsoft.Insights/components",
      "location": "[resourceGroup().location]",
      "properties": {
        "Application_Type": "web"
      },
      "resources": [
        {
          "apiVersion": "2018-05-01-preview",
          "name": "longdependencyduration",
          "type": "ProactiveDetectionConfigs",
          "location": "[resourceGroup().location]",
          "dependsOn": [
            "[resourceId('Microsoft.Insights/components', 'myApplication')]"
          ],
          "properties": {
            "name": "longdependencyduration",
            "sendEmailsToSubscriptionOwners": false,
            "customEmails": [],
            "enabled": true
          }
        }
      ]
    }

スマート検出ルールのメール受信者を追加する

{
      "apiVersion": "2018-05-01-preview",
      "name": "myApplication",
      "type": "Microsoft.Insights/components",
      "location": "[resourceGroup().location]",
      "properties": {
        "Application_Type": "web"
      },
      "resources": [
        {
          "apiVersion": "2018-05-01-preview",
          "name": "longdependencyduration",
          "type": "ProactiveDetectionConfigs",
          "location": "[resourceGroup().location]",
          "dependsOn": [
            "[resourceId('Microsoft.Insights/components', 'myApplication')]"
          ],
          "properties": {
            "name": "longdependencyduration",
            "sendEmailsToSubscriptionOwners": true,
            "customEmails": ["alice@contoso.com", "bob@contoso.com"],
            "enabled": true
          }
        }
      ]
    }

スマート検出ルール名

次の表は、ポータルに表示されるスマート検出ルールの名前を示しています。 この表には、Resource Manager テンプレートで使用する内部名も含まれています。

Note

プレビュー としてマークされているスマート検出ルールでは、メール通知はサポートされません。 これらのルールに対しては、有効な プロパティのみを設定できます。

Azure portal ルール名 内部名
ページの読み込み速度が遅い slowpageloadtime
サーバーの応答速度が遅い slowserverresponsetime
依存関係の期間が長い longdependencyduration
サーバー応答速度の低下 degradationinserverresponsetime
依存関係の期間の減少 degradationindependencyduration
トレースの重大度の比率の低下 (プレビュー) extension_traceseveritydetector
例外数の異常な上昇 (プレビュー) extension_exceptionchangeextension
Potential memory leak detected (潜在的なメモリ リークの検出) (プレビュー) extension_memoryleakextension
Potential security issue detected (潜在的なセキュリティの問題の検出) (プレビュー) extension_securityextensionspackage
日次データ ボリュームの異常な上昇 (プレビュー) extension_billingdatavolumedailyspikeextension

失敗の異常の警告ルール

この Resource Manager テンプレートでは、重大度が 2 の失敗の異常の警告ルールを構成する方法について示しています。

Note

失敗の異常はグローバル サービスであるため、ルールはグローバルな場所に作成されます。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "microsoft.alertsmanagement/smartdetectoralertrules",
            "apiVersion": "2019-03-01",
            "name": "Failure Anomalies - my-app",
            "location": "global", 
            "properties": {
                  "description": "Failure Anomalies notifies you of an unusual rise in the rate of failed HTTP requests or dependency calls.",
                  "state": "Enabled",
                  "severity": "2",
                  "frequency": "PT1M",
                  "detector": {
                  "id": "FailureAnomaliesDetector"
                  },
                  "scope": ["/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/MyResourceGroup/providers/microsoft.insights/components/my-app"],
                  "actionGroups": {
                        "groupIds": ["/subscriptions/00000000-1111-2222-3333-444444444444/resourcegroups/MyResourceGroup/providers/microsoft.insights/actiongroups/MyActionGroup"]
                  }
            }
        }
    ]
}

Note

この Resource Manager テンプレートは、失敗の異常の警告ルールに固有のものであり、この記事で説明されている他の従来のスマート検出ルールとは異なります。 失敗の異常を手動で管理する場合は、Azure Monitor アラートを使用します。 その他のスマート検出ルールはすべて、UI の [スマート検出] ペインで管理されます。

次のステップ

自動検出の詳細を確認します。