使用 Azure 资源管理器模板管理 Application Insights 智能检测规则

注意

你可以将 Application Insights 资源迁移到基于警报的智能检测(预览版)。 迁移时会为各种智能检测模块创建警报规则。 创建规则后,可以像管理和配置任何其他 Azure Monitor 警报规则一样对其进行管理和配置。 你还可以为这些规则配置操作组,以启用多种方法对新的检测执行操作或触发通知。

有关迁移过程和迁移后智能检测行为的详细信息,请参阅智能检测警报迁移

可以使用 Azure 资源管理器模板来管理和配置 Application Insights 中的智能检测规则。

在使用资源管理器自动化部署新的 Application Insights 资源或修改现有资源的设置时,可以使用此方法。

智能检测规则配置

可以配置智能检测规则的以下设置:

  • 是否已启用规则。 (默认值为 true。)
  • 发现检测时是否应向与订阅的监视读者监视参与者角色关联的用户发送电子邮件。 (默认值为 true。)
  • 发现检测时应收到通知的任何其他电子邮件收件人。
    • 电子邮件配置不适用于标记为“预览版”的智能检测规则。

为了允许通过资源管理器配置规则设置,智能检测规则配置已在 Application Insights 资源中作为内部资源提供。 它的名称是 ProactiveDetectionConfigs

为了提供最大程度的灵活性,可为每个智能检测规则配置唯一的通知设置。

示例

以下示例演示了如何使用资源管理器模板配置智能检测规则的设置。

所有示例引用名为“myApplication”的 Application Insights 资源。 它们还引用了“长依赖项持续时间智能检测规则”。它在内部的名称是“longdependencyduration”

请务必替换 Application Insights 资源名称,并指定相关的智能检测规则内部名称。 在下表中查看每个智能检测规则对应的内部资源管理器名称列表。

禁用智能检测规则

{
      "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
          }
        }
      ]
    }

智能检测规则名称

下表显示了智能检测规则显示在门户中时的名称。 该表还显示了它们在资源管理器模板中使用的内部名称。

注意

标记为“预览”的智能检测规则不支持电子邮件通知。 只能为这些规则设置已启用的属性。

Azure 门户规则名称 内部名称
页面加载慢 slowpageloadtime
服务器响应慢 slowserverresponsetime
依赖项持续时间长 longdependencyduration
服务器响应降级 degradationinserverresponsetime
依赖项持续时间减少 degradationindependencyduration
跟踪严重性比下降(预览) extension_traceseveritydetector
异常卷的异常增加(预览) extension_exceptionchangeextension
检测到潜在的内存泄漏(预览) extension_memoryleakextension
检测到潜在的安全问题(预览) extension_securityextensionspackage
每日数据量中异常增加(预览) extension_billingdatavolumedailyspikeextension

失败异常警报规则

此资源管理器模板演示了如何配置严重性为 2 的失败异常警报规则。

注意

失败异常是一项全局服务,因此会在全局位置上创建规则位置。

{
    "$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"]
                  }
            }
        }
    ]
}

注意

此资源管理器模板对于失败异常警报规则是唯一的,并且不同于本文中所述的其他经典智能检测规则。 如果要手动管理失败异常,可使用 Azure Monitor 警报。 所有其他智能检测规则在 UI 的“智能检测”窗格中进行管理。

后续步骤

了解有关自动检测的详细信息: