Configurare un webhook per ottenere gli avvisi per il log attività
Nella definizione di un gruppo di azione è possibile configurare gli endpoint webhook in modo da ricevere le notifiche per gli avvisi del log attività. Con i webhook è possibile instradare queste notifiche ad altri sistemi per la post-elaborazione o azioni personalizzate. L'articolo illustra anche il modo in cui il payload per il protocollo HTTP POST viene percepito da un webhook.
Per altre informazioni sugli avvisi del log di attività, vedere come creare gli avvisi del log attività di Azure.
Per informazioni su gruppi di azioni, vedere come creare gruppi di azioni.
Nota
È anche possibile usare lo schema di avviso comune per le integrazioni webhook. Tale schema offre il vantaggio di disporre di un singolo payload di avviso estendibile e unificato in tutti i servizi di avviso in Monitoraggio di Azure. Informazioni sullo schema di avviso comune.
Autenticazione del webhook
Facoltativamente il webhook può usare l'autorizzazione basata su token per l'autenticazione. L'URI del webhook viene salvato con un ID token, ad esempio https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
.
Schema del payload
Il payload JSON contenuto nell'operazione POST varia in base al campo del payload di data.context.activityLog.eventSource
.
Nota
Attualmente, la descrizione che fa parte dell'evento del log attività viene copiata nella proprietà Alert Description
attivata.
Per allineare il payload del log attività ad altri tipi di avviso, a partire dal 1° aprile 2021, la proprietà Description
dell’avviso attivata contiene invece la descrizione della regola di avviso.
In vista di questo cambiamento, è stata creata una nuova proprietà, denominataActivity Log Event Description
, per l'avviso attivato dal log attività. Questa nuova proprietà viene integrata con la proprietà Description
già disponibile per l'uso. Il nuovo campo Activity Log Event Description
contiene quindi la descrizione che fa parte dell'evento del log attività.
Esaminare le regole di avviso, le regole di azione, i webhook, l'app per la logica o qualsiasi altra configurazione in cui è possibile usare la proprietà Description
dell'avviso attivato. Sostituire la proprietà Description
con la proprietà Activity Log Event Description
.
Se la condizione presente nelle regole d'azione, nei webhook, nell'app per la logica o in qualsiasi altra configurazione attualmente è basata sulla proprietà Description
per gli avvisi del log attività, potrebbe essere necessario modificarla in modo che si basi invece sulla proprietà Activity Log Event Description
.
Per assegnare la nuova proprietà Description
, è possibile aggiungere una descrizione nella definizione della regola di avviso.
Comune
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Operation",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"eventSource": "Administrative",
"eventTimestamp": "2017-03-29T15:43:08.0019532+00:00",
"eventDataId": "8195a56a-85de-4663-943e-1a2bf401ad94",
"level": "Informational",
"operationName": "Microsoft.Insights/actionGroups/write",
"operationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"status": "Started",
"subStatus": "",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"submissionTimestamp": "2017-03-29T15:43:20.3863637+00:00",
...
}
},
"properties": {}
}
}
Amministrativo
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"authorization": {
"action": "Microsoft.Insights/actionGroups/write",
"scope": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/CONTOSO-TEST/providers/Microsoft.Insights/actionGroups/IncidentActions"
},
"claims": "{...}",
"caller": "me@contoso.com",
"description": "",
"httpRequest": "{...}",
"resourceId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/CONTOSO-TEST/providers/Microsoft.Insights/actionGroups/IncidentActions",
"resourceGroupName": "CONTOSO-TEST",
"resourceProviderName": "Microsoft.Insights",
"resourceType": "Microsoft.Insights/actionGroups"
}
},
"properties": {}
}
}
Sicurezza
{
"schemaId":"Microsoft.Insights/activityLogs",
"data":{"status":"Activated",
"context":{
"activityLog":{
"channels":"Operation",
"correlationId":"2518408115673929999",
"description":"Failed SSH brute force attack. Failed brute force attacks were detected from the following attackers: [\"IP Address: 01.02.03.04\"]. Attackers were trying to access the host with the following user names: [\"root\"].",
"eventSource":"Security",
"eventTimestamp":"2017-06-25T19:00:32.607+00:00",
"eventDataId":"Sec-07f2-4d74-aaf0-03d2f53d5a33",
"level":"Informational",
"operationName":"Microsoft.Security/locations/alerts/activate/action",
"operationId":"Sec-07f2-4d74-aaf0-03d2f53d5a33",
"properties":{
"attackers":"[\"IP Address: 01.02.03.04\"]",
"numberOfFailedAuthenticationAttemptsToHost":"456",
"accountsUsedOnFailedSignInToHostAttempts":"[\"root\"]",
"wasSSHSessionInitiated":"No","endTimeUTC":"06/25/2017 19:59:39",
"actionTaken":"Detected",
"resourceType":"Virtual Machine",
"severity":"Medium",
"compromisedEntity":"LinuxVM1",
"remediationSteps":"[In case this is an Azure virtual machine, add the source IP to NSG block list for 24 hours (see https://azure.microsoft.com/documentation/articles/virtual-networks-nsg/)]",
"attackedResourceType":"Virtual Machine"
},
"resourceId":"/subscriptions/12345-5645-123a-9867-123b45a6789/resourceGroups/contoso/providers/Microsoft.Security/locations/centralus/alerts/Sec-07f2-4d74-aaf0-03d2f53d5a33",
"resourceGroupName":"contoso",
"resourceProviderName":"Microsoft.Security",
"status":"Active",
"subscriptionId":"12345-5645-123a-9867-123b45a6789",
"submissionTimestamp":"2017-06-25T20:23:04.9743772+00:00",
"resourceType":"MICROSOFT.SECURITY/LOCATIONS/ALERTS"
}
},
"properties":{}
}
}
Elemento consigliato
{
"schemaId":"Microsoft.Insights/activityLogs",
"data":{
"status":"Activated",
"context":{
"activityLog":{
"channels":"Operation",
"claims":"{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress\":\"Microsoft.Advisor\"}",
"caller":"Microsoft.Advisor",
"correlationId":"bbbb1111-cc22-3333-44dd-555555eeeeee",
"description":"A new recommendation is available.",
"eventSource":"Recommendation",
"eventTimestamp":"2017-06-29T13:52:33.2742943+00:00",
"httpRequest":"{\"clientIpAddress\":\"0.0.0.0\"}",
"eventDataId":"1bf234ef-e45f-4567-8bba-fb9b0ee1dbcb",
"level":"Informational",
"operationName":"Microsoft.Advisor/recommendations/available/action",
"properties":{
"recommendationSchemaVersion":"1.0",
"recommendationCategory":"HighAvailability",
"recommendationImpact":"Medium",
"recommendationName":"Enable Soft Delete to protect your blob data",
"recommendationResourceLink":"https://portal.azure.com/#blade/Microsoft_Azure_Expert/RecommendationListBlade/recommendationTypeId/12dbf883-5e4b-4f56-7da8-123b45c4b6e6",
"recommendationType":"12dbf883-5e4b-4f56-7da8-123b45c4b6e6"
},
"resourceId":"/subscriptions/12345-5645-123a-9867-123b45a6789/resourceGroups/contoso/providers/microsoft.storage/storageaccounts/contosoStore",
"resourceGroupName":"CONTOSO",
"resourceProviderName":"MICROSOFT.STORAGE",
"status":"Active",
"subStatus":"",
"subscriptionId":"12345-5645-123a-9867-123b45a6789",
"submissionTimestamp":"2017-06-29T13:52:33.2742943+00:00",
"resourceType":"MICROSOFT.STORAGE/STORAGEACCOUNTS"
}
},
"properties":{}
}
}
ServiceHealth
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Admin",
"correlationId": "cccc2222-dd33-4444-55ee-666666ffffff",
"description": "Active: Virtual Machines - Australia East",
"eventSource": "ServiceHealth",
"eventTimestamp": "2017-10-18T23:49:25.3736084+00:00",
"eventDataId": "6fa98c0f-334a-b066-1934-1a4b3d929856",
"level": "Informational",
"operationName": "Microsoft.ServiceHealth/incident/action",
"operationId": "cccc2222-dd33-4444-55ee-666666ffffff",
"properties": {
"title": "Virtual Machines - Australia East",
"service": "Virtual Machines",
"region": "Australia East",
"communication": "Starting at 02:48 UTC on 18 Oct 2017 you have been identified as a customer using Virtual Machines in Australia East who may receive errors starting Dv2 Promo and DSv2 Promo Virtual Machines which are in a stopped "deallocated" or suspended state. Customers can still provision Dv1 and Dv2 series Virtual Machines or try deploying Virtual Machines in other regions, as a possible workaround. Engineers have identified a possible fix for the underlying cause, and are exploring implementation options. The next update will be provided as events warrant.",
"incidentType": "Incident",
"trackingId": "0NIH-U2O",
"impactStartTime": "2017-10-18T02:48:00.0000000Z",
"impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"Australia East\"}],\"ServiceName\":\"Virtual Machines\"}]",
"defaultLanguageTitle": "Virtual Machines - Australia East",
"defaultLanguageContent": "Starting at 02:48 UTC on 18 Oct 2017 you have been identified as a customer using Virtual Machines in Australia East who may receive errors starting Dv2 Promo and DSv2 Promo Virtual Machines which are in a stopped "deallocated" or suspended state. Customers can still provision Dv1 and Dv2 series Virtual Machines or try deploying Virtual Machines in other regions, as a possible workaround. Engineers have identified a possible fix for the underlying cause, and are exploring implementation options. The next update will be provided as events warrant.",
"stage": "Active",
"communicationId": "636439673646212912",
"version": "0.1.1"
},
"status": "Active",
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"submissionTimestamp": "2017-10-18T23:49:28.7864349+00:00"
}
},
"properties": {}
}
}
Per i dettagli su schemi specifici relativi agli avvisi del log attività per le notifiche sull'integrità del servizio, vedere Notifiche sull'integrità del servizio. Sono inoltre disponibili informazioni su come configurare notifiche webhook di integrità del servizio con le soluzioni di gestione dei problemi esistenti.
ResourceHealth
{
"schemaId": "Microsoft.Insights/activityLogs",
"data": {
"status": "Activated",
"context": {
"activityLog": {
"channels": "Admin, Operation",
"correlationId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
"eventSource": "ResourceHealth",
"eventTimestamp": "2018-09-04T23:09:03.343+00:00",
"eventDataId": "2b37e2d0-7bda-4de7-ur8c6-1447d02265b2",
"level": "Informational",
"operationName": "Microsoft.Resourcehealth/healthevent/Activated/action",
"operationId": "2b37e2d0-7bda-489f-81c6-1447d02265b2",
"properties": {
"title": "Virtual Machine health status changed to unavailable",
"details": "Virtual machine has experienced an unexpected event",
"currentHealthStatus": "Unavailable",
"previousHealthStatus": "Available",
"type": "Downtime",
"cause": "PlatformInitiated"
},
"resourceId": "/subscriptions/<subscription Id>/resourceGroups/<resource group>/providers/Microsoft.Compute/virtualMachines/<resource name>",
"resourceGroupName": "<resource group>",
"resourceProviderName": "Microsoft.Resourcehealth/healthevent/action",
"status": "Active",
"subscriptionId": "<subscription Id>",
"submissionTimestamp": "2018-09-04T23:11:06.1607287+00:00",
"resourceType": "Microsoft.Compute/virtualMachines"
}
}
}
}
Nome dell'elemento | Descrizione |
---|---|
stato | Usato per avvisi relativi alle metriche. Sempre impostato su activated per gli avvisi del log attività. |
context | Contesto dell'evento. |
resourceProviderName | Provider della risorsa interessata. |
conditionType | Sempre Event . |
name | Nome della regola di avviso. |
ID | ID risorsa dell'avviso. |
description | Descrizione dell'avviso impostata al momento della creazione dell'avviso. |
subscriptionId | ID sottoscrizione di Azure. |
timestamp | Data e ora in cui l'evento è stato generato dal servizio di Azure che ha elaborato la richiesta. |
resourceId | ID della risorsa interessata. |
resourceGroupName | Nome del gruppo di risorse per la risorsa interessata. |
proprietà | Set di coppie <Key, Value> (cioè Dictionary<String, String> ), inclusi dettagli relativi all'evento. |
evento | Elemento contenente i metadati relativi all'evento. |
autorizzazione | Proprietà di controllo degli accessi in base al ruolo di Azure dell'evento. Queste proprietà includono in genere action, role e scope. |
category | Categoria dell'evento. Tra i valori supportati sono inclusi Administrative , Alert , Security , ServiceHealth e Recommendation . |
caller | Indirizzo di posta elettronica dell'utente che ha eseguito l'operazione, attestazione UPN o attestazione SPN, a seconda della disponibilità. Può essere null per alcune chiamate di sistema. |
correlationId | In genere un GUID in formato stringa. Gli eventi con correlationId appartengono alla stessa azione di livello superiore e in genere condividono un correlationId . |
eventDescription | Testo statico che descrive l'evento. |
eventDataId | Identificatore univoco per l'evento. |
eventSource | Nome del servizio o dell'infrastruttura di Azure che ha generato l'evento. |
httpRequest | La richiesta include in genere clientRequestId , clientIpAddress e il metodo HTTP, ad esempio PUT. |
level | Uno dei valori seguenti: Critical , Error , Warning e Informational . |
operationId | In genere un GUID condiviso tra gli eventi corrispondenti a una singola operazione. |
operationName | Nome dell'operazione. |
proprietà | Proprietà dell'evento. |
stato | String. Stato dell'operazione. I valori comuni sono Started , In Progress , Succeeded , Failed , Active e Resolved . |
subStatus | In genere include il codice di stato HTTP della chiamata REST corrispondente. Può includere anche altre stringhe che descrivono uno stato secondario. I valori comuni dello stato secondario 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) e Gateway Timeout (codice di stato HTTP: 504). |
Per i dettagli su schemi specifici relativi a tutti gli altri avvisi del log attività, vedere Panoramica del log attività di Azure.
Passaggi successivi
- Altre informazioni sul log attività.
- Eseguire gli script di Automazione di Azure (runbook) sugli avvisi di Azure.
- Usare un'app per la logica per inviare SMS tramite Twilio da un avviso di Azure. Questo esempio si riferisce agli avvisi relativi alle metriche, ma può essere modificato per funzionare con un avviso del log attività.
- Usare un'app per la logica per inviare un messaggio Slack da un avviso di Azure. Questo esempio si riferisce agli avvisi relativi alle metriche, ma può essere modificato per funzionare con un avviso del log attività.
- Usare un'app per la logica per inviare un messaggio a una coda di Azure da un avviso di Azure. Questo esempio si riferisce agli avvisi relativi alle metriche, ma può essere modificato per funzionare con un avviso del log attività.