Eseguire la migrazione del rilevamento intelligente di Application Insights in Monitoraggio di Azure agli avvisi (anteprima)

Questo articolo descrive il processo di migrazione del rilevamento intelligente di Application Insights agli avvisi. La migrazione crea regole di avviso per i diversi moduli di rilevamento intelligente. È possibile gestire e configurare queste regole come qualsiasi altra regola di avviso di Monitoraggio di Azure. È anche possibile configurare gruppi di azioni per queste regole, per ottenere più metodi di azioni o notifiche su nuovi rilevamenti.

Vantaggi della migrazione agli avvisi

Con la migrazione, il rilevamento intelligente consente ora di sfruttare tutte le funzionalità degli avvisi di Monitoraggio di Azure, tra cui:

  • Opzioni di notifica avanzate per tutti i rilevatori: usare i gruppi di azioni per configurare più tipi di notifiche e azioni che vengono attivate quando viene generato un avviso. È possibile configurare la notifica tramite email, SMS, chiamata vocale o notifiche push. È possibile configurare azioni come la chiamata di un webhook sicuro, un'app per la logica e un runbook di automazione. I gruppi di azioni favoriscono la gestione su larga scala, consentendo di configurare le azioni una sola volta e di usarle per più regole di avviso.
  • Gestione su larga scala: gli avvisi di rilevamento intelligente usano l'esperienza e l'API degli avvisi di Monitoraggio di Azure.
  • Eliminazione delle notifiche basata su regole: usare le regole di azione per definire o eliminare le azioni in qualsiasi ambito di Azure Resource Manager, ad esempio sottoscrizione di Azure, gruppo di risorse o risorsa di destinazione. I filtri consentono di restringere il subset specifico di istanze di avviso su cui si vuole agire.

Funzionalità di rilevamento intelligente di cui è stata eseguita la migrazione

Quando si esegue la migrazione di una risorsa di Application Insights, viene creato un nuovo set di regole di avviso. Viene creata una regola per ognuna delle funzionalità di rilevamento intelligente di cui è stata eseguita la migrazione. La tabella seguente esegue il mapping delle funzionalità di rilevamento intelligente pre-migrazione alle regole di avviso post-migrazione.

Nome regola di rilevamento intelligente (1) Nome regola di avviso (2)
Riduzione delle prestazioni nel tempo di risposta del server Riduzione della latenza di risposta: <nome risorsa di Application Insights>
Riduzione delle prestazioni nella durata delle dipendenze Riduzione della latenza delle dipendenze: <nome risorsa di Application Insights>
Degradazione del rapporto tra i livelli di gravità delle tracce (anteprima) Riduzione della gravità della traccia: <nome risorsa di Application Insights>
Aumento anomalo nel volume delle eccezioni (anteprima) Anomalie di eccezioni: <nome risorsa di Application Insights>
Potenziale perdita di memoria rilevata (anteprima) Potenziale perdita di memoria: <nome risorsa di Application Insights>
Rallentamento del tempo di caricamento delle pagine Non più supportato (3)
Rallentamento del tempo di risposta del server Non più supportato (3)
Dipendenze con durata lunga Non più supportato (3)
Potenziale problema di sicurezza rilevato (anteprima) Non più supportato (3)
Aumento anomalo del volume di dati giornaliero (anteprima) Non più supportato (3)

(1) Nome della regola visualizzata nel riquadro Impostazioni del rilevamento intelligente.
(2) Nome della nuova regola di avviso dopo la migrazione.
(3) Queste funzionalità di rilevamento intelligente non vengono convertite in avvisi a causa del basso utilizzo e della rivalutazione dell'efficacia del rilevamento. Questi rilevatori non saranno più supportati per questa risorsa al termine della migrazione.

Nota

Il rilevatore intelligente Anomalie degli errori è già creato come regola di avviso e non richiede la migrazione. Non viene trattato in questo articolo.

La migrazione non modifica la progettazione algoritmica e il comportamento del rilevamento intelligente. Le stesse prestazioni di rilevamento sono previste prima e dopo la modifica.

È necessario applicare la migrazione a ogni risorsa di Application Insights separatamente. Per le risorse di cui non è stata eseguita la migrazione in modo esplicito, il rilevamento intelligente continuerà a funzionare come in precedenza.

Configurazione del gruppo di azioni per le nuove regole di avviso di rilevamento intelligente

Come parte della migrazione, ogni nuova regola di avviso viene configurata automaticamente con un gruppo di azioni. La migrazione può assegnare un gruppo di azioni predefinito per ogni regola. Il gruppo di azioni predefinito è configurato in base alla notifica della regola prima della migrazione:

  • Se per la regola di rilevamento intelligente è stata configurata l'email predefinita o nessuna notifica, la nuova regola di avviso viene configurata con un gruppo di azioni denominato Rilevamento intelligente di Application Insights.

    • Se lo strumento di migrazione trova un gruppo di azioni esistente con tale nome, collega la nuova regola di avviso a quel gruppo di azioni.
    • In caso contrario, crea un nuovo gruppo di azioni con tale nome. Il nuovo gruppo è configurato per le azioni del ruolo di Azure Resource Manager tramite posta elettronica e invia notifiche agli utenti collaboratore e lettore di monitoraggio di Azure Resource Manager.
  • Se la notifica tramite posta elettronica predefinita è stata modificata prima della migrazione, viene creato un gruppo di azioni denominato Rilevamento intelligente di Application Insights <n>, con un'azione di posta elettronica che invia le notifiche agli indirizzi di posta elettronica configurati in precedenza.

Anziché usare il gruppo di azioni predefinito, selezionare un gruppo di azioni esistente che verrà configurato per tutte le nuove regole di avviso.

Eseguire il processo di migrazione del rilevamento intelligente

Usare il portale di Azure, l'interfaccia della riga di comando di Azure o i modelli di Azure Resource Manager (modelli ARM) per eseguire la migrazione.

Eseguire la migrazione del rilevamento intelligente tramite il portale di Azure

Per eseguire la migrazione del rilevamento intelligente nella risorsa:

  1. Selezionare Rilevamento intelligente nell'intestazione Analisi nella risorsa di Application Insights.

  2. Selezionare il banner Eseguire la migrazione del rilevamento intelligente agli avvisi (anteprima). Verrà visualizzata la finestra di dialogo della migrazione.

    Screenshot che mostra il banner del feed Rilevamento intelligente.

  3. Selezionare l'opzione Esegui la migrazione di tutte le risorse di Application Insights in questa sottoscrizione. In alternativa, è possibile lasciare l'opzione deselezionata se si vuole eseguire la sola migrazione della risorsa corrente in uso.

    Nota

    La selezione di questa opzione riguarda tutte le risorse Application Insights esistenti di cui non è ancora stata eseguita la migrazione. Finché la migrazione agli avvisi è in anteprima, le nuove risorse di Application Insights verranno create con il rilevamento intelligente senza avvisi.

  4. Selezionare un gruppo di azioni da configurare per le nuove regole di avviso. È possibile usare il gruppo di azioni predefinito come illustrato oppure usare uno dei gruppi di azioni esistenti.

  5. Selezionare Esegui la migrazione per avviare il processo di migrazione.

    Screenshot che mostra la finestra di dialogo di migrazione di Rilevamento intelligente.

Dopo la migrazione, vengono create nuove regole di avviso per la risorsa Application Insight, come illustrato.

Eseguire la migrazione del rilevamento intelligente usando l'interfaccia della riga di comando di Azure

Avviare la migrazione del rilevamento intelligente usando il comando dell'interfaccia della riga di comando di Azure seguente. Il comando avvia il processo di migrazione preconfigurato come descritto in precedenza.

az rest --method POST --uri /subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/migrateFromSmartDetection?api-version=2021-01-01-preview --body @body.txt

Per eseguire la migrazione di una singola risorsa di Application Insights, il file body.txt deve includere:

{
      "scope": [
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}"
      ],
      "actionGroupCreationPolicy" : "{Auto/Custom}",
      "customActionGroupName" : "{actionGroupName}"           
}

Per eseguire la migrazione di tutte le risorse di Application Insights in una sottoscrizione, il file body.txt deve includere:

{
      "scope": [
	"/subscriptions/{subscriptionId} "
      ],
      "actionGroupCreationPolicy" : "{Auto/Custom}",
      "customActionGroupName" : "{actionGroupName}"           
}

Il parametro ActionGroupCreationPolicy seleziona i criteri per la migrazione delle impostazioni di posta elettronica nelle regole di rilevamento intelligente in gruppi di azioni. I valori consentiti sono i seguenti:

  • Automatico: usa i gruppi di azioni predefiniti, come descritto in questo documento.
  • Personalizzato: crea tutte le regole di avviso con il gruppo di azioni specificato in customActionGroupName.
  • <vuoto>: se ActionGroupCreationPolicy non è specificato, viene usato il criterio Auto.

Eseguire la migrazione del rilevamento intelligente usando i modelli ARM

È possibile attivare la migrazione del rilevamento intelligente agli avvisi per una risorsa specifica di Application Insights usando i modelli ARM. Per usare questo metodo, è necessario:

  • Creare una regola di avviso di rilevamento intelligente per ognuno dei rilevatori supportati.
  • Modificare le proprietà di Application Insight per indicare che la migrazione è stata completata.

Con questo metodo è possibile controllare quali regole di avviso creare, definire il nome e la descrizione della regola di avviso e selezionare qualsiasi gruppo di azioni desiderato per ogni regola.

A tale scopo, usare i modelli seguenti. Modificarli in base alle esigenze per specificare l'ID sottoscrizione e il nome della risorsa 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'))]"
			]
		}
	]
}

Visualizzare gli avvisi dopo la migrazione

Dopo la migrazione, è possibile visualizzare gli avvisi di rilevamento intelligente selezionando la voce Avvisi nella risorsa di Application Insights. Per Tipo di segnale, selezionare Rilevamento intelligente per filtrare e presentare solo avvisi di rilevamento intelligente. È possibile selezionare un avviso per visualizzarne i dettagli di rilevamento.

Screenshot che mostra gli avvisi di rilevamento intelligente.

È anche possibile visualizzare i rilevamenti disponibili nel feed Rilevamento intelligente della risorsa Application Insights.

Screenshot che mostra il feed Rilevamento intelligente.

Gestire le impostazioni delle regole di avviso di rilevamento intelligente dopo la migrazione

Usare il portale di Azure o i modelli ARM per gestire le impostazioni delle regole di avviso di rilevamento intelligente dopo la migrazione.

Gestire le impostazioni delle regole di avviso tramite il portale di Azure

Al termine della migrazione, è possibile accedere alle nuove regole di avviso di rilevamento intelligente in modo simile ad altre regole di avviso definite per la risorsa.

  1. Selezionare Avvisi nell'intestazione Monitoraggio nella risorsa Application Insights.

    Screenshot che mostra il menu Avvisi.

  2. Selezionare Gestisci regole di avviso.

    Screenshot che mostra Gestisci regole di avviso.

  3. Per Tipo di segnale, selezionare Rilevamento intelligente per filtrare e presentare le regole di avviso di rilevamento intelligente.

    Screenshot che mostra le regole di rilevamento intelligente.

Abilitare o disabilitare le regole di avviso di rilevamento intelligente

Le regole di avviso di rilevamento intelligente possono essere abilitate o disabilitate tramite l'interfaccia utente del portale o a livello di codice, come qualsiasi altra regola di avviso.

Se una regola di rilevamento intelligente specifica è stata disabilitata prima della migrazione, verrà disabilitata anche la nuova regola di avviso.

Configurare i gruppi di azioni per le regole di avviso

È possibile creare e gestire gruppi di azioni per le nuove regole di avviso di rilevamento intelligente, ad esempio per qualsiasi altra regola di avviso di Monitoraggio di Azure.

Gestire le impostazioni delle regole di avviso usando i modelli ARM

Al termine della migrazione, è possibile usare i modelli ARM per configurare le impostazioni per le regole di avviso di rilevamento intelligente.

Nota

Al termine della migrazione, è necessario configurare le impostazioni di rilevamento intelligente usando i modelli di regole di avviso di rilevamento intelligente. Non è più possibile configurarli tramite il modello Application Insights Resource Manager..

Questo esempio di modello ARM mostra come configurare una regola di avviso Response Latency Degradation in uno stato Enabled con gravità pari a 2.

  • Il rilevamento intelligente è un servizio globale, quindi la posizione della regola viene creata nella posizione global.

  • La proprietà id deve essere modificata in base al rilevatore specifico configurato. Il valore deve essere uno dei seguenti:

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

Passaggi successivi