Chiamare un webhook negli avvisi dei log attività di AzureCall a webhook on Azure Activity Log alerts

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 da chiamare quando viene generato un avviso dei log attività di Azure.This article describes how to set a webhook to be called when an Azure Activity Log alert fires. L'articolo illustra anche il modo in cui il payload per il protocollo HTTP POST viene percepito da un webhook.It also shows what the payload for the HTTP POST to a webhook looks like. Per informazioni sulla configurazione e lo schema di un avviso relativo alle metriche di Azure, vedere invece questa pagina.For information on the setup and schema for an Azure metric alert, see this page instead. È anche possibile impostare un avviso del registro attività per l'invio di un messaggio di posta all'attivazione.You can also set up an Activity Log alert to send email when activated.

Nota

Questa funzionalità è attualmente disponibile in anteprima e verrà rimossa in futuro.This feature is currently in preview and will be removed at some point in the future.

È possibile configurare un avviso del log attività usando i cmdlet di Azure PowerShell, l'interfaccia della riga di comando multipiattaforma o l'API REST di Monitoraggio di Azure.You can set up an Activity Log alert using the Azure PowerShell Cmdlets, Cross-Platform CLI, or Azure Monitor REST API. Attualmente, non è possibile usare il portale di Azure per la configurazione.Currently, you cannot set one up using the Azure portal.

Autenticazione del webhookAuthenticating the webhook

L'autenticazione del webhook può essere eseguita con uno di questi metodi:The webhook can authenticate using either of these methods:

  1. Autorizzazione basata su token: l'URI del webhook viene salvato con un ID token, ad esempio https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalueToken-based authorization - The webhook URI is saved with a token ID, for example, https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
  2. Autorizzazione di base: l'URI del webhook viene salvato con nome utente e password, ad esempio https://userid:password@mysamplealert/webcallback?someparamater=somevalue&foo=barBasic authorization - The webhook URI is saved with a username and password, for example, https://userid:password@mysamplealert/webcallback?someparamater=somevalue&foo=bar

Schema del payloadPayload schema

L'operazione POST contiene il seguente payload e schema JSON per tutti gli avvisi basati sul registro attività.The POST operation contains the following JSON payload and schema for all Activity Log-based alerts. Questo schema è simile a quello usato per gli avvisi basati su metriche.This schema is similar to the one used by metric-based alerts.

{
        "status": "Activated",
        "context": {
                "resourceProviderName": "Microsoft.Web",
                "event": {
                        "$type": "Microsoft.WindowsAzure.Management.Monitoring.Automation.Notifications.GenericNotifications.Datacontracts.InstanceEventContext, Microsoft.WindowsAzure.Management.Mon.Automation",
                        "authorization": {
                                "action": "Microsoft.Web/sites/start/action",
                                "scope": "/subscriptions/s1/resourcegroups/rg1/providers/Microsoft.Web/sites/leoalerttest"
                        },
                        "eventDataId": "327caaca-08d7-41b1-86d8-27d0a7adb92d",
                        "category": "Administrative",
                        "caller": "myname@mycompany.com",
                        "httpRequest": {
                                "clientRequestId": "f58cead8-c9ed-43af-8710-55e64def208d",
                                "clientIpAddress": "104.43.166.155",
                                "method": "POST"
                        },
                        "status": "Succeeded",
                        "subStatus": "OK",
                        "level": "Informational",
                        "correlationId": "4a40beaa-6a63-4d92-85c4-923a25abb590",
                        "eventDescription": "",
                        "operationName": "Microsoft.Web/sites/start/action",
                        "operationId": "4a40beaa-6a63-4d92-85c4-923a25abb590",
                        "properties": {
                                "$type": "Microsoft.WindowsAzure.Management.Common.Storage.CasePreservedDictionary, Microsoft.WindowsAzure.Management.Common.Storage",
                                "statusCode": "OK",
                                "serviceRequestId": "f7716681-496a-4f5c-8d14-d564bcf54714"
                        }
                },
                "timestamp": "Friday, March 11, 2016 9:13:23 PM",
                "id": "/subscriptions/s1/resourceGroups/rg1/providers/microsoft.insights/alertrules/alertonevent2",
                "name": "alertonevent2",
                "description": "test alert on event start",
                "conditionType": "Event",
                "subscriptionId": "s1",
                "resourceId": "/subscriptions/s1/resourcegroups/rg1/providers/Microsoft.Web/sites/leoalerttest",
                "resourceGroupName": "rg1"
        },
        "properties": {
                "key1": "value1",
                "key2": "value2"
        }
}
Nome dell'elementoElement Name DescrizioneDescription
statusstatus Usato per avvisi relativi alle metriche.Used for metric alerts. Sempre impostato su "Activated" per gli avvisi del registro attività.Always set to "activated" for Activity Log alerts.
contextcontext Contesto dell'evento.Context of the event.
resourceProviderNameresourceProviderName Provider della risorsa interessata.The resource provider of the impacted resource.
conditionTypeconditionType Sempre "Event".Always "Event."
namename Nome della regola di avviso.Name of the alert rule.
idid ID risorsa dell'avviso.Resource ID of the alert.
Descrizionedescription Descrizione dell'avviso definita durante la creazione dell'avviso.Alert description as set during creation of the alert.
subscriptionIdsubscriptionId ID sottoscrizione di Azure.Azure Subscription ID.
timestamptimestamp Data e ora in cui l'evento è stato generato dal servizio di Azure che ha elaborato la richiesta.Time at which the event was generated by the Azure service that processed the request.
resourceIdresourceId ID risorsa della risorsa interessata.Resource ID of the impacted resource.
resourceGroupNameresourceGroupName Nome del gruppo di risorse della risorsa interessataName of the resource group for the impacted resource
propertiesproperties 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.
eventevent Elemento contenente i metadati relativi all'evento.Element containing metadata about the event.
autorizzazioneauthorization Proprietà di Controllo degli accessi in base al ruolo dell'evento.The RBAC properties of the event. Includono in genere "action", "role" e "scope".These usually include the “action”, “role” and the “scope.”
categorycategory Categoria dell'evento.Category of the event. I valori supportati includono Administrative, Alert, Security, ServiceHealth, Recommendation.Supported values include: Administrative, Alert, Security, ServiceHealth, Recommendation.
callercaller Indirizzo di posta elettronica dell'utente che ha eseguito l'operazione, attestazione UPN o attestazione SPN, a seconda della disponibilità.Email address of the user who performed the operation, UPN claim, or SPN claim based on availability. Può essere null per alcune chiamate di sistema.Can be null for certain system calls.
correlationIdcorrelationId In genere un GUID in formato stringa.Usually a GUID in string format. Gli eventi con correlationId appartengono alla stessa azione di livello superiore e in genere condividono un elemento correlationId.Events with correlationId belong to the same larger action and usually share a correlationId.
eventDescriptioneventDescription Testo statico che descrive l'evento.Static text description of the event.
eventDataIdeventDataId Identificatore univoco dell'evento.Unique identifier for the event.
eventSourceeventSource Nome del servizio o dell'infrastruttura di Azure che ha generato l'evento.Name of the Azure service or infrastructure that generated the event.
httpRequesthttpRequest In genere include "clientRequestId", "clientIpAddress" e "method" (metodo HTTP, ad esempio PUT).Usually includes the “clientRequestId”, “clientIpAddress” and “method” (HTTP method e.g. PUT).
levellevel Uno dei valori seguenti: "Critical", "Error", "Warning", "Informational" e "Verbose".One of the following values: “Critical”, “Error”, “Warning”, “Informational” and “Verbose.”
operationIdoperationId In genere un GUID condiviso tra gli eventi corrispondenti a una singola operazione.Usually a GUID shared among the events corresponding to single operation.
operationNameoperationName Nome dell'operazione.Name of the operation.
propertiesproperties Proprietà dell'evento.Properties of the event.
statusstatus Stringa.String. Stato dell'operazione.Status of the operation. I valori comuni includono: "Started", "In Progress", "Succeeded", "Failed", "Active", "Resolved".Common values include: "Started", "In Progress", "Succeeded", "Failed", "Active", "Resolved".
subStatussubStatus In genere include il codice di stato HTTP della chiamata REST corrispondente.Usually includes the HTTP status code of the corresponding REST call. Può includere anche altre stringhe che descrivono uno stato secondario.It might also include other strings describing a substatus. I valori di stato secondario comuni includono: OK (codice di stato HTTP: 200), Created (codice di stato HTTP: 201), Accepted (codice di stato HTTP: 202), No Content (codice di stato HTTP: 204), Bad Request (codice di stato HTTP: 400), Not Found (codice di stato HTTP: 404), Conflict (codice di stato HTTP: 409), Internal Server Error (codice di stato HTTP: 500), Service Unavailable (codice di stato HTTP: 503), Gateway Timeout (codice di stato HTTP: 504)Common substatus values include: OK (HTTP Status Code: 200), Created (HTTP Status Code: 201), Accepted (HTTP Status Code: 202), No Content (HTTP Status Code: 204), Bad Request (HTTP Status Code: 400), Not Found (HTTP Status Code: 404), Conflict (HTTP Status Code: 409), Internal Server Error (HTTP Status Code: 500), Service Unavailable (HTTP Status Code: 503), Gateway Timeout (HTTP Status Code: 504)

Passaggi successiviNext steps