Usare le azioni di scalabilità automatica per inviare notifiche di avviso di webhook e posta elettronica in Monitoraggio di Azure
Questo articolo illustra come configurare le notifiche in modo da poter chiamare URL Web specifici o inviare messaggi di posta elettronica in base alle azioni di scalabilità automatica in Azure.
Webhook
I webhook consentono di inviare richieste HTTP a un endpoint URL specifico (URL di callback) quando si verifica un determinato evento o un trigger. Usando i webhook, è possibile automatizzare e semplificare i processi abilitando lo scambio automatico di informazioni tra sistemi o applicazioni diversi. Usare webhook per attivare codice personalizzato, notifiche o altre azioni da eseguire quando si verifica un evento di scalabilità automatica.
È possibile inviare un messaggio di posta elettronica a qualsiasi indirizzo di posta elettronica valido quando si verifica un evento di scalabilità automatica. Anche gli amministratori e i coamministratori della sottoscrizione in cui viene eseguita la regola vengono notificati.
Configurare le notifiche
Usare i modelli di portale di Azure, interfaccia della riga di comando, PowerShell o Resource Manager per configurare le notifiche.
Configurare le notifiche usando il portale di Azure.
Selezionare la scheda Notifica nella pagina delle impostazioni di scalabilità automatica per configurare le notifiche.
Selezionare le caselle di controllo per inviare un messaggio di posta elettronica all'amministratore della sottoscrizione o ai coamministratori. È anche possibile immettere un elenco di indirizzi di posta elettronica a cui inviare notifiche.
Immettere un URI webhook per inviare una notifica a un servizio Web. È anche possibile aggiungere intestazioni personalizzate alla richiesta webhook. Ad esempio, è possibile aggiungere un token di autenticazione nell'intestazione, nei parametri di query o aggiungere un'intestazione personalizzata per identificare l'origine della richiesta.
Autenticazione nei webhook
Il webhook può eseguire l'autenticazione usando l'autenticazione basata su token, in cui si salva l'URI del webhook con un ID token come parametro di query. Ad esempio: https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123
.
Schema di payload del webhook di notifica di scalabilità automatica
Quando viene generata la notifica di scalabilità automatica, nel payload del webhook vengono inclusi i metadati seguenti:
{
"version": "1.0",
"status": "Activated",
"operation": "Scale Out",
"context": {
"timestamp": "2023-06-22T07:01:47.8926726Z",
"id": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/microsoft.insights/autoscalesettings/AutoscaleSettings-002",
"name": "AutoscaleSettings-002",
"details": "Autoscale successfully started scale operation for resource 'ScaleableAppServicePlan' from capacity '1' to capacity '2'",
"subscriptionId": "123456ab-9876-a1b2-a2b1-123a567b9f8767",
"resourceGroupName": "rg-001",
"resourceName": "ScaleableAppServicePlan",
"resourceType": "microsoft.web/serverfarms",
"resourceId": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"portalLink": "https://portal.azure.com/#resource/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"resourceRegion": "West Central US",
"oldCapacity": "1",
"newCapacity": "2"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
Campo | Obbligatorio | Descrizione |
---|---|---|
status | Sì | Stato che indica che è stata generata un'azione di scalabilità automatica. |
operation | Sì | Per un aumento delle istanze, è "Scale Out". Per una diminuzione delle istanze, si tratta di "Scale In". |
contesto | Sì | Contesto dell'azione di scalabilità automatica. |
timestamp | Sì | Timestamp quando è stata attivata l'azione di scalabilità automatica. |
id | Sì | Resource Manager ID dell'impostazione di scalabilità automatica. |
name | Sì | Nome dell'impostazione di scalabilità automatica. |
dettagli | Sì | Spiegazione dell'azione eseguita dal servizio di scalabilità automatica e della modifica nel conteggio delle istanze. |
subscriptionId | Sì | ID sottoscrizione della risorsa di destinazione ridimensionata. |
resourceGroupName | Sì | Nome del gruppo di risorse della risorsa di destinazione ridimensionata. |
resourceName | Sì | Nome della risorsa di destinazione ridimensionata. |
resourceType | Sì | Tre valori supportati: "microsoft.classiccompute/domainnames/slots/roles" - Ruoli di Servizi cloud di Azure, "microsoft.compute/virtualmachinescalesets" - Azure set di scalabilità di macchine virtuali e "Microsoft.Web/serverfarms" - Funzionalità app Web di Monitoraggio di Azure. |
resourceId | Sì | Resource Manager ID della risorsa di destinazione ridimensionata. |
portalLink | Sì | portale di Azure collegamento alla pagina di riepilogo della risorsa di destinazione. |
oldCapacity | Sì | Numero di istanze correnti (precedente) quando la scalabilità automatica ha eseguito un'azione di scalabilità. |
newCapacity | Sì | Numero di nuove istanze a cui è stata ridimensionata automaticamente la risorsa. |
properties | No | facoltativo. Set di <coppie Chiave, Valore> , ad esempio String dizionario <, Stringa>. Il campo properties è facoltativo. In un flusso di lavoro personalizzato basato su app per l'app per la logica è possibile immettere chiavi e valori che possono essere passati usando il payload. Un modo alternativo per passare le proprietà personalizzate alla chiamata webhook in uscita consiste nell'usare l'URI webhook stesso (come parametri di query). |