Configurare un webhook in un avviso relativo alle metriche di Azure

I webhook consentono di instradare le notifiche di avviso di Azure ad altri sistemi per la post-elaborazione o le azioni personalizzate. È possibile usare un webhook in un avviso per instradarlo a servizi che inviano SMS, registrano bug, inviano notifiche a un team tramite servizi di messaggistica/chat o eseguono un numero qualsiasi di altre azioni. Questo articolo descrive come impostare un webhook in un avviso relativo alle metriche di Azure e illustra il payload per l'esecuzione di un'azione HTTP POST in un webhook. Per informazioni sulla configurazione e lo schema di un avviso del registro attività di Azure (avvisi per eventi), vedere invece questa pagina.

Gli avvisi di Azure eseguono l'azione HTTP POST per il contenuto degli avvisi in formato JSON, con lo schema definito di seguito, in un URI webhook specificato durante la creazione dell'avviso. L'URI deve essere un endpoint HTTP o HTTPS valido. Azure inserisce una voce per ogni richiesta quando viene attivato un avviso.

Configurazione di webhook tramite il portale

È possibile aggiungere o aggiornare l'URI del webhook nella schermata di creazione/aggiornamento degli avvisi nel portale.

Aggiungere una regola di avviso

È anche possibile configurare un avviso da inserire nell'URI di un webhook usando i cmdlet di Azure PowerShell, l'interfaccia della riga di comando multipiattaforma o l'API REST di Monitoraggio di Azure.

Autenticazione del webhook

È possibile autenticare il webhook usando l'autorizzazione basata su token. L'URI del webhook viene salvato con un ID token, ad esempio https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue

Schema del payload

L'operazione POST contiene il seguente payload e schema JSON per tutti gli avvisi basati su metriche.

{
"status": "Activated",
"context": {
            "timestamp": "2015-08-14T22:26:41.9975398Z",
            "id": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.insights/alertrules/ruleName1",
            "name": "ruleName1",
            "description": "some description",
            "conditionType": "Metric",
            "condition": {
                        "metricName": "Requests",
                        "metricUnit": "Count",
                        "metricValue": "10",
                        "threshold": "10",
                        "windowSize": "15",
                        "timeAggregation": "Average",
                        "operator": "GreaterThanOrEqual"
                },
            "subscriptionId": "s1",
            "resourceGroupName": "useast",                                
            "resourceName": "mysite1",
            "resourceType": "microsoft.foo/sites",
            "resourceId": "/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1",
            "resourceRegion": "centralus",
            "portalLink": "https://portal.azure.com/#resource/subscriptions/s1/resourceGroups/useast/providers/microsoft.foo/sites/mysite1"
},
"properties": {
              "key1": "value1",
              "key2": "value2"
              }
}
Campo Mandatory Set fisso di valori Note
status S "Activated", "Resolved" Stato dell'avviso in base alle condizioni impostate.
context S Contesto dell'avviso.
timestamp S Ora in cui è stato attivato l'avviso.
id S Ogni regola di avviso ha un ID univoco.
name S Nome dell'avviso.
description S Descrizione dell'avviso.
conditionType S "Metric", "Event" Sono supportati due tipi di avviso, uno basato su una condizione di metrica e l'altro basato su un evento nel registro attività. Usare questo valore per verificare se l'avviso si basa sulla metrica o sull'evento.
condition S Campi specifici da verificare in base al valore di conditionType.
metricName Per avvisi relativi alle metriche Nome della metrica che definisce l'oggetto monitorato dalla regola.
metricUnit Per avvisi relativi alle metriche "Bytes", "BytesPerSecond", "Count", "CountPerSecond", "Percent", "Seconds" Unità consentita nella metrica. I valori consentiti sono elencati qui.
metricValue Per avvisi relativi alle metriche Valore effettivo della metrica che ha generato l'avviso.
threshold Per avvisi relativi alle metriche Valore soglia al quale viene attivato l'avviso.
windowSize Per avvisi relativi alle metriche Periodo di tempo usato per monitorare l'attività degli avvisi in base alla soglia. Deve essere compreso tra 5 minuti e 1 giorno. Il formato della durata è conforme a ISO 8601.
timeAggregation Per avvisi relativi alle metriche "Average", "Last", "Maximum", "Minimum", "None", "Total" Definisce come i dati raccolti devono essere combinati nel tempo. Il valore predefinito è "Average". I valori consentiti sono elencati qui.
operator Per avvisi relativi alle metriche Operatore usato per confrontare i dati metrici attuali con la soglia impostata.
subscriptionId S ID sottoscrizione di Azure.
resourceGroupName S Nome del gruppo di risorse della risorsa interessata.
resourceName S Nome della risorsa interessata.
resourceType S Tipo della risorsa interessata.
resourceId S ID risorsa della risorsa interessata.
resourceRegion S Area o posizione della risorsa interessata.
portalLink S Collegamento diretto alla pagina di riepilogo delle risorse del portale.
properties N Facoltativo Set di coppie <Key, Value>, ad esempio Dictionary<String, String>, contenente i dettagli relativi all'evento. Il campo properties è facoltativo. In un flusso di lavoro basato su un'interfaccia utente personalizzata o un'app per la logica, gli utenti possono immettere una coppia chiave/valori che può essere passata tramite il payload. Il metodo alternativo per passare le proprietà personalizzate al webhook è rappresentato dall'URI del webhook stesso (sotto forma di parametri di query)
Nota

Il campo properties può essere impostato solo usando l'API REST di Monitoraggio di Azure.

Passaggi successivi