Manage Application Insights smart detection rules by using Azure Resource Manager templates
Note
You can migrate your Application Insight resources to alerts-based smart detection (preview). The migration creates alert rules for the different smart detection modules. After you create the rules, you can manage and configure them like any other Azure Monitor alert rules. You can also configure action groups for these rules to enable multiple methods of taking actions or triggering notification on new detections.
For more information on the migration process and the behavior of smart detection after the migration, see Smart detection alerts migration.
You can manage and configure smart detection rules in Application Insights by using Azure Resource Manager templates.
You can use this method when you deploy new Application Insights resources with Resource Manager automation or when you modify the settings of existing resources.
Smart detection rule configuration
You can configure the following settings for a smart detection rule:
- If the rule is enabled. (The default is true.)
- If emails should be sent to users associated to the subscription's Monitoring Reader and Monitoring Contributor roles when a detection is found. (The default is true.)
- Any other email recipients who should get a notification when a detection is found.
- Email configuration isn't available for smart detection rules marked as preview.
To allow configuring the rule settings via Resource Manager, the smart detection rule configuration is available as an inner resource within the Application Insights resource. It's named ProactiveDetectionConfigs.
For maximal flexibility, you can configure each smart detection rule with unique notification settings.
Examples
The following examples show how to configure the settings of smart detection rules by using Resource Manager templates.
All samples refer to an Application Insights resource named "myApplication". They also refer to the "long dependency duration smart detection rule." It's internally named "longdependencyduration".
Make sure to replace the Application Insights resource name and to specify the relevant smart detection rule internal name. Check the following table for a list of the corresponding internal Resource Manager names for each smart detection rule.
Disable a smart detection rule
{
"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
}
}
]
}
Disable sending email notifications for a smart detection rule
{
"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
}
}
]
}
Add more email recipients for a smart detection rule
{
"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
}
}
]
}
Smart detection rule names
The following table shows smart detection rule names as they appear in the portal. The table also shows their internal names to use in the Resource Manager template.
Note
Smart detection rules marked as preview don't support email notifications. You can only set the enabled property for these rules.
Azure portal rule name | Internal name |
---|---|
Slow page load time | slowpageloadtime |
Slow server response time | slowserverresponsetime |
Long dependency duration | longdependencyduration |
Degradation in server response time | degradationinserverresponsetime |
Degradation in dependency duration | degradationindependencyduration |
Degradation in trace severity ratio (preview) | extension_traceseveritydetector |
Abnormal rise in exception volume (preview) | extension_exceptionchangeextension |
Potential memory leak detected (preview) | extension_memoryleakextension |
Potential security issue detected (preview) | extension_securityextensionspackage |
Abnormal rise in daily data volume (preview) | extension_billingdatavolumedailyspikeextension |
Failure Anomalies alert rule
This Resource Manager template demonstrates how to configure a Failure Anomalies alert rule with a severity of 2.
Note
Failure Anomalies is a global service, so rule location is created on the global location.
{
"$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
This Resource Manager template is unique to the Failure Anomalies alert rule and is different from the other classic smart detection rules described in this article. If you want to manage Failure Anomalies manually, use Azure Monitor alerts. All other smart detection rules are managed in the Smart Detection pane of the UI.
Next steps
Learn more about automatically detecting: