Configurare un webhook in un avviso relativo alle metriche di AzureConfigure a webhook on an Azure metric alert

I webhook consentono di instradare le notifiche di avviso di Azure ad altri sistemi per la post-elaborazione o le azioni personalizzate.Webhooks allow you to route an Azure alert notification to other systems for post-processing or custom actions. È 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.You can use a webhook on an alert to route it to services that send SMS, log bugs, notify a team via chat/messaging services, or do any number of other actions. 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.This article describes how to set a webhook on an Azure metric alert and what the payload for the HTTP POST to a webhook looks like. Per informazioni sulla configurazione e lo schema di un avviso del registro attività di Azure (avvisi per eventi), vedere invece questa pagina.For information on the setup and schema for an Azure Activity Log alert (alert on events), see this page instead.

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.Azure alerts HTTP POST the alert contents in JSON format, schema defined below, to a webhook URI that you provide when creating the alert. L'URI deve essere un endpoint HTTP o HTTPS valido.This URI must be a valid HTTP or HTTPS endpoint. Azure inserisce una voce per ogni richiesta quando viene attivato un avviso.Azure posts one entry per request when an alert is activated.

Configurazione di webhook tramite il portaleConfiguring webhooks via the portal

È possibile aggiungere o aggiornare l'URI del webhook nella schermata di creazione/aggiornamento degli avvisi nel portale.You can add or update the webhook URI in the Create/Update Alerts screen in the portal.

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.You can also configure an alert to post to a webhook URI using the Azure PowerShell Cmdlets, Cross-Platform CLI, or Azure Monitor REST API.

Autenticazione del webhookAuthenticating the webhook

È possibile autenticare il webhook usando l'autorizzazione basata su token.The webhook can authenticate using token-based authorization. L'URI del webhook viene salvato con un ID token, ad esempioThe webhook URI is saved with a token ID, eg. https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue

Schema del payloadPayload schema

L'operazione POST contiene il seguente payload e schema JSON per tutti gli avvisi basati su metriche.The POST operation contains the following JSON payload and schema for all metric-based alerts.

{
"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"
              }
}
CampoField MandatoryMandatory Set fisso di valoriFixed Set of Values NoteNotes
statusstatus SY "Activated", "Resolved"“Activated”, “Resolved” Stato dell'avviso in base alle condizioni impostate.Status for the alert based off of the conditions you have set.
contextcontext SY Contesto dell'avviso.The alert context.
timestamptimestamp SY Ora in cui è stato attivato l'avviso.The time at which the alert was triggered.
idid SY Ogni regola di avviso ha un ID univoco.Every alert rule has a unique id.
namename SY Nome dell'avviso.The alert name.
descriptiondescription SY Descrizione dell'avviso.Description of the alert.
conditionTypeconditionType SY "Metric", "Event"“Metric”, “Event” Sono supportati due tipi di avviso,Two types of alerts are supported. uno basato su una condizione di metrica e l'altro basato su un evento nel registro attività.One based on a metric condition and the other based on an event in the Activity Log. Usare questo valore per verificare se l'avviso si basa sulla metrica o sull'evento.Use this value to check if the alert is based on metric or event.
conditioncondition SY Campi specifici da verificare in base al valore di conditionType.The specific fields to check for based on the conditionType.
metricNamemetricName Per avvisi relativi alle metrichefor Metric alerts Nome della metrica che definisce l'oggetto monitorato dalla regola.The name of the metric that defines what the rule monitors.
metricUnitmetricUnit Per avvisi relativi alle metrichefor Metric alerts "Bytes", "BytesPerSecond", "Count", "CountPerSecond", "Percent", "Seconds""Bytes", "BytesPerSecond", "Count", "CountPerSecond", "Percent", "Seconds" Unità consentita nella metrica.The unit allowed in the metric. I valori consentiti sono elencati qui.Allowed values are listed here.
metricValuemetricValue Per avvisi relativi alle metrichefor Metric alerts Valore effettivo della metrica che ha generato l'avviso.The actual value of the metric that caused the alert.
thresholdthreshold Per avvisi relativi alle metrichefor Metric alerts Valore soglia al quale viene attivato l'avviso.The threshold value at which the alert is activated.
windowSizewindowSize Per avvisi relativi alle metrichefor Metric alerts Periodo di tempo usato per monitorare l'attività degli avvisi in base alla soglia.The period of time that is used to monitor alert activity based on the threshold. Deve essere compreso tra 5 minuti e 1 giorno.Must be between 5 minutes and 1 day. Il formato della durata è conforme a ISO 8601.ISO 8601 duration format.
timeAggregationtimeAggregation Per avvisi relativi alle metrichefor Metric alerts "Average", "Last", "Maximum", "Minimum", "None", "Total""Average", "Last", "Maximum", "Minimum", "None", "Total" Definisce come i dati raccolti devono essere combinati nel tempo.How the data that is collected should be combined over time. Il valore predefinito è "Average".The default value is Average. I valori consentiti sono elencati qui.Allowed values are listed here.
operatoroperator Per avvisi relativi alle metrichefor Metric alerts Operatore usato per confrontare i dati metrici attuali con la soglia impostata.The operator used to compare the current metric data to the set threshold.
subscriptionIdsubscriptionId SY ID sottoscrizione di Azure.Azure subscription ID.
resourceGroupNameresourceGroupName SY Nome del gruppo di risorse della risorsa interessata.Name of the resource group for the impacted resource.
resourceNameresourceName SY Nome della risorsa interessata.Resource name of the impacted resource.
resourceTyperesourceType SY Tipo della risorsa interessata.Resource type of the impacted resource.
resourceIdresourceId SY ID risorsa della risorsa interessata.Resource ID of the impacted resource.
resourceRegionresourceRegion SY Area o posizione della risorsa interessata.Region or location of the impacted resource.
portalLinkportalLink SY Collegamento diretto alla pagina di riepilogo delle risorse del portale.Direct link to the portal resource summary page.
propertiesproperties NN FacoltativoOptional Set di coppie <Key, Value>, ad esempio Dictionary<String, String>, contenente i dettagli relativi all'evento.Set of <Key, Value> pairs (i.e. Dictionary<String, String>) that includes details about the event. Il campo properties è facoltativo.The properties field is optional. 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.In a custom UI or Logic app-based workflow, users can enter key/values that can be passed via the payload. Il metodo alternativo per passare le proprietà personalizzate al webhook è rappresentato dall'URI del webhook stesso (sotto forma di parametri di query)The alternate way to pass custom properties back to the webhook is via the webhook uri itself (as query parameters)

Nota

Il campo properties può essere impostato solo usando l'API REST di Monitoraggio di Azure.The properties field can only be set using the Azure Monitor REST API.

Passaggi successiviNext steps