Migrer la détection intelligente Azure Monitor Application Insights vers les alertes (préversion)
Cet article décrit le processus de migration de la détection intelligente Application Insights vers les alertes. La migration crée des règles d’alerte pour les différents modules de détection intelligente. Vous pouvez gérer et configurer ces règles comme n’importe quelle autre règle d’alerte d’Azure Monitor. Vous pouvez également configurer des groupes d’actions pour ces règles, ce qui offre plusieurs moyens de prendre des mesures ou de déclencher des notifications en cas de nouvelle détection.
Avantages de la migration vers les alertes
Avec la migration, la détection intelligente vous permet désormais de tirer parti des fonctionnalités complètes des alertes Azure Monitor, notamment :
- Options de notification riches pour tous les détecteurs : utilisez les groupes d’actions pour configurer plusieurs types de notifications et d’actions déclenchées lors du déclenchement d’une alerte. Vous pouvez configurer la notification par e-mail, SMS, appel vocal ou notifications Push. Vous pouvez configurer des actions telles que l’appel d’un webhook sécurisé, d’une application logique et d’un runbook d’automatisation. L’action regroupe la gestion à grande échelle en vous permettant de configurer des actions une seule fois et de les utiliser sur plusieurs règles d’alerte.
- Gestion à grande échelle : les alertes de détection intelligente à l’aide de l’API et de l’expérience d’alertes Azure Monitor.
- Suppression des notifications basée sur des règles : utilisez des règles d’action pour définir ou supprimer des actions dans n’importe quelle étendue Azure Resource Manager, comme l’abonnement Azure, le groupe de ressources ou la ressource cible. Les filtres vous permettent de limiter le sous-ensemble des instances d’alerte sur lesquelles vous souhaitez agir.
Fonctionnalités de détection intelligente migrées
Un ensemble de règles d’alerte est créé lors de la migration d’une ressource Application Insights. Une règle est créée pour chacune des fonctionnalités de détection intelligente migrées. Le tableau suivant mappe les fonctionnalités de détection intelligente pré-migration aux règles d’alerte post-migration.
Nom de la règle de détection intelligente (1) | Nom de la règle d’alerte (2) |
---|---|
Dégradation du temps de réponse du serveur | Dégradation de la latence de réponse : <nom de la ressource Application Insights> |
Dégradation de la durée de dépendance | Dégradation de la latence de dépendance : <nom de la ressource Application Insights> |
Dégradation du rapport entre les niveaux de gravité des suivis (préversion) | Dégradation de la gravité de la trace : <nom de la ressource Application Insights> |
Élévation anormale du volume des exceptions (préversion) | Anomalies d’exception : <nom de la ressource Application Insights> |
Fuite de mémoire potentielle détectée (préversion) | Fuite de mémoire potentielle : <nom de la ressource Application Insights> |
Durée de chargement de page lente | La prise en charge n’est plus offerte (3) |
Temps de réponse du serveur lent | La prise en charge n’est plus offerte (3) |
Durée de dépendance longue | La prise en charge n’est plus offerte (3) |
Problème de sécurité potentiel détecté (préversion) | La prise en charge n’est plus offerte (3) |
Élévation anormale du volume de données quotidien (préversion) | La prise en charge n’est plus offerte (3) |
(1) Nom de la règle telle qu’elle apparaît dans le volet Paramètres de détection intelligente.
(2) Nom de la nouvelle règle d’alerte après la migration.
(3) Ces fonctionnalités de détection intelligente ne sont pas converties en alertes, en raison de la faible utilisation et de la réévaluation de l’efficacité de la détection. Ces détecteurs ne seront plus pris en charge pour cette ressource une fois sa migration terminée.
Notes
Le détecteur intelligent des défaillances est déjà créé en tant que règle d’alerte et ne nécessite pas de migration. Il n’est pas abordé dans cet article.
La migration ne modifie pas la conception algorithmique et le comportement de la détection intelligente. Les mêmes performances de détection sont attendues avant et après la modification.
Vous devez appliquer la migration à chaque ressource Application Insights séparément. Pour les ressources qui ne sont pas explicitement migrées, la détection intelligente continue de fonctionner comme avant.
Configuration du groupe d’actions pour les nouvelles règles d’alerte de détection intelligente
Dans le cadre de la migration, chaque nouvelle règle d’alerte est automatiquement configurée avec un groupe d’actions. La migration peut affecter un groupe d’actions par défaut pour chaque règle. Le groupe d’actions par défaut est configuré en fonction de la notification de la règle avant la migration :
Si la règle de détection intelligente comportait l’e-mail par défaut ou si aucune notification n’est configurée, la nouvelle règle d’alerte est configurée avec un groupe d’actions nommé Détection intelligente Application Insights.
- Si l’outil de migration trouve un groupe d’actions existant portant ce nom, il lie la nouvelle règle d’alerte à ce groupe d’actions.
- Dans le cas contraire, il crée un nouveau groupe d’actions portant ce nom. Le nouveau groupe est configuré pour les actions Envoyer un message au rôle Azure Resource Manager et envoie une notification à vos utilisateurs Contributeur et Lecteur de surveillance Azure Resource Manager.
Si la notification par e-mail par défaut a été modifiée avant la migration, un groupe d’actions appelé Détection intelligente <n> dans Application Insights est créé, avec une action e-mail envoyant des notifications aux adresses e-mail précédemment configurées.
Au lieu d’utiliser le groupe d’actions par défaut, vous sélectionnez un groupe d’actions existant qui sera configuré pour toutes les nouvelles règles d’alerte.
Exécuter le processus de migration de détection intelligente
Utilisez le portail Azure, Azure CLI ou les modèles Azure Resource Manager (modèles ARM) pour effectuer la migration.
Migrer votre détection intelligente à l’aide du portail Azure
Pour migrer la détection intelligente dans votre ressource :
Sélectionnez Détection intelligente sous l’en-tête Examiner dans le menu de gauche de la ressource Application Insights.
Sélectionnez la bannière Migrer la détection intelligente vers les alertes (préversion). La boîte de dialogue de migration s’affiche.
Sélectionnez l’option Migrer toutes les ressources Application Insights de cet abonnement. Vous pouvez également laisser l’option désactivée si vous souhaitez migrer uniquement la ressource actuelle dans laquelle vous vous trouvez.
Notes
La sélection de cette option affecte toutes les ressources Application Insights existantes qui n’ont pas encore été migrées. Tant que la migration vers les alertes est en préversion, les nouvelles ressources Application Insights seront toujours créées avec la détection intelligente sans alertes.
Sélectionnez un groupe d’actions à configurer pour les nouvelles règles d’alerte. Vous pouvez utiliser le groupe d’actions par défaut comme expliqué ou l’un de vos groupes d’actions existants.
Sélectionnez Migrer pour commencer le processus de migration.
Après la migration, des règles d’alerte sont créées pour votre ressource Application Insight, comme expliqué.
Migrer votre détection intelligente à l’aide d’Azure CLI
Démarrez la migration de la détection intelligente à l’aide de la commande Azure CLI suivante. La commande déclenche le processus de migration préconfiguré comme décrit précédemment.
az rest --method POST --uri /subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/migrateFromSmartDetection?api-version=2021-01-01-preview --body @body.txt
Pour migrer une seule ressource Application Insights, body.txt doit inclure :
{
"scope": [
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}"
],
"actionGroupCreationPolicy" : "{Auto/Custom}",
"customActionGroupName" : "{actionGroupName}"
}
Pour migrer toutes les ressources Application Insights d’un abonnement, body.txt doit inclure :
{
"scope": [
"/subscriptions/{subscriptionId} "
],
"actionGroupCreationPolicy" : "{Auto/Custom}",
"customActionGroupName" : "{actionGroupName}"
}
Le paramètre ActionGroupCreationPolicy
sélectionne la stratégie de migration des paramètres de messagerie dans les règles de détection intelligente dans les groupes d’actions. Les valeurs autorisées sont les suivantes :
- Auto : utilise les groupes d’actions par défaut, comme décrit dans ce document.
- Personnalisé : crée toutes les règles d’alerte avec le groupe d’actions spécifié dans
customActionGroupName
. - <vide> : si
ActionGroupCreationPolicy
n’est pas spécifié, la stratégieAuto
est utilisée.
Migrer votre détection intelligente à l’aide de modèles ARM
Vous pouvez déclencher la migration de la détection intelligente vers des alertes pour une ressource Application Insights spécifique, à l’aide de modèles ARM. Pour utiliser cette méthode, vous devez :
- Créer une règle d’alerte de détection intelligente pour chaque détecteur pris en charge.
- Modifier les propriétés d’Application Insight pour indiquer que la migration a été effectuée.
Grâce à cette méthode, vous pouvez contrôler les règles d’alerte à créer, définir le nom et la description de votre propre règle d’alerte et sélectionner le groupe d’actions souhaité pour chaque règle.
Utilisez les modèles suivants à cet effet. Modifiez-les si nécessaire pour fournir votre ID d’abonnement et le nom de la ressource Application Insights.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"applicationInsightsResourceName": {
"type": "string"
},
"actionGroupName": {
"type": "string",
"defaultValue": "Application Insights Smart Detection"
},
"actionGroupResourceGroup": {
"type": "string",
"defaultValue": "[resourceGroup().Name]"
}
},
"variables": {
"applicationInsightsResourceId": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',resourceGroup().Name,'/providers/microsoft.insights/components/',parameters('applicationInsightsResourceName'))]",
"actionGroupId": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',parameters('actionGroupResourceGroup'),'/providers/microsoft.insights/ActionGroups/',parameters('actionGroupName'))]",
"requestPerformanceDegradationDetectorRuleName": "[concat('Response Latency Degradation - ', parameters('applicationInsightsResourceName'))]",
"dependencyPerformanceDegradationDetectorRuleName": "[concat('Dependency Latency Degradation - ', parameters('applicationInsightsResourceName'))]",
"traceSeverityDetectorRuleName": "[concat('Trace Severity Degradation - ', parameters('applicationInsightsResourceName'))]",
"exceptionVolumeChangedDetectorRuleName": "[concat('Exception Anomalies - ', parameters('applicationInsightsResourceName'))]",
"memoryLeakRuleName": "[concat('Potential Memory Leak - ', parameters('applicationInsightsResourceName'))]"
},
"resources": [
{
"name": "[variables('requestPerformanceDegradationDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Response Latency Degradation notifies you of an unusual increase in latency in your app response to requests.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "RequestPerformanceDegradationDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('dependencyPerformanceDegradationDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Dependency Latency Degradation notifies you of an unusual increase in response by a dependency your app is calling (e.g. REST API or database)",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "DependencyPerformanceDegradationDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('traceSeverityDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Trace Severity Degradation notifies you of an unusual increase in the severity of the traces generated by your app.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "TraceSeverityDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('exceptionVolumeChangedDetectorRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Exception Anomalies notifies you of an unusual rise in the rate of exceptions thrown by your app.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "ExceptionVolumeChangedDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[variables('memoryLeakRuleName')]",
"type": "Microsoft.AlertsManagement/smartdetectoralertrules",
"location": "global",
"apiVersion": "2019-03-01",
"properties": {
"description": "Potential Memory Leak notifies you of increased memory consumption pattern by your app which may indicate a potential memory leak.",
"state": "Enabled",
"severity": "Sev3",
"frequency": "PT24H",
"detector": {
"id": "MemoryLeakDetector"
},
"scope": [
"[variables('applicationInsightsResourceId')]"
],
"actionGroups": {
"groupIds": [
"[variables('actionGroupId')]"
]
}
}
},
{
"name": "[concat(parameters('applicationInsightsResourceName'),'/migrationToAlertRulesCompleted')]",
"type": "Microsoft.Insights/components/ProactiveDetectionConfigs",
"location": "[resourceGroup().location]",
"apiVersion": "2018-05-01-preview",
"properties": {
"name": "migrationToAlertRulesCompleted",
"sendEmailsToSubscriptionOwners": false,
"customEmails": [],
"enabled": true
},
"dependsOn": [
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('requestPerformanceDegradationDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('dependencyPerformanceDegradationDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('traceSeverityDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('exceptionVolumeChangedDetectorRuleName'))]",
"[resourceId('Microsoft.AlertsManagement/smartdetectoralertrules', variables('memoryLeakRuleName'))]"
]
}
]
}
Afficher vos alertes après la migration
Après la migration, vous pouvez afficher vos alertes de détection intelligente en sélectionnant l’entrée Alertes dans votre ressource Application Insights. Pour Type de signal, sélectionnez Détecteur intelligent pour filtrer et présenter uniquement les alertes de détection intelligente. Vous pouvez sélectionner une alerte pour afficher ses détails de détection.
Vous pouvez également toujours voir les détections disponibles dans le flux de détection intelligente de votre ressource Application Insights.
Gérer les paramètres des règles d’alerte de détection intelligente après la migration
Utilisez les modèles du portail Azure ou ARM pour gérer les paramètres des règles d’alerte de détection intelligente après la migration.
Gérer les paramètres des règles d’alerte à l’aide du portail Azure
Une fois la migration terminée, vous accédez aux nouvelles règles d’alerte de détection intelligente de la même façon que les autres règles d’alerte définies pour la ressource.
Sélectionnez Alertes sous l’en-tête Supervision dans votre ressource Application Insights.
Sélectionnez Gérer les règles d’alerte.
Pour Type de signal, sélectionnez Détecteur intelligent pour filtrer et présenter les règles d’alerte de détection intelligente.
Activer ou désactiver les règles d’alerte de détection intelligente
Les règles d’alerte de détection intelligente peuvent être activées ou désactivées par le biais de l’interface utilisateur du portail ou par programme, comme n’importe quelle autre règle d’alerte.
Si une règle de détection intelligente spécifique a été désactivée avant la migration, la nouvelle règle d’alerte sera également désactivée.
Configurer des groupes d’actions pour vos règles d’alerte
Vous pouvez créer et gérer des groupes d’actions pour les nouvelles règles d’alerte de détection intelligente, comme pour toute autre règle d’alerte Azure Monitor.
Gérer les paramètres de règle d’alerte à l’aide de modèles ARM
Une fois la migration terminée, vous pouvez utiliser des modèles ARM pour configurer les paramètres des règles d’alerte de détection intelligente.
Notes
Une fois la migration terminée, les paramètres de détection intelligente doivent être configurés à l’aide de modèles de règles d’alerte de détection intelligente. Ils ne peuvent plus être configurés à l’aide du modèle Resource Manager Application Insights.
Cet exemple de modèle ARM montre comment configurer une règle d’alerte Response Latency Degradation
dans un état Enabled
avec une gravité de 2
.
La détection intelligente est un service global. Par conséquent, l’emplacement de la règle est créé à l’emplacement
global
.La propriété
id
doit changer en fonction du détecteur spécifique configuré. La valeur doit être l’une des suivantes :FailureAnomaliesDetector
RequestPerformanceDegradationDetector
DependencyPerformanceDegradationDetector
ExceptionVolumeChangedDetector
TraceSeverityDetector
MemoryLeakDetector
{
"$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": "Response Latency Degradation - my-app",
"location": "global",
"properties": {
"description": "Response Latency Degradation notifies you of an unusual increase in latency in your app response to requests.",
"state": "Enabled",
"severity": "2",
"frequency": "PT24H",
"detector": {
"id": "RequestPerformanceDegradationDetector"
},
"scope": ["/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyResourceGroup/providers/microsoft.insights/components/my-app"],
"actionGroups": {
"groupIds": ["/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/MyResourceGroup/providers/microsoft.insights/actiongroups/MyActionGroup"]
}
}
}
]
}