Configurar um webhook para obter alertas de registro de atividades
Como parte da definição de um grupo de ações, você pode configurar pontos de extremidade webhook para receber notificações de alerta de registro de atividades. Com webhooks, você pode rotear essas notificações para outros sistemas para pós-processamento ou ações personalizadas. Este artigo mostra como é a carga útil do HTTP POST para um webhook.
Para obter mais informações sobre alertas de log de atividades, consulte como criar alertas de log de atividades do Azure.
Para obter informações sobre grupos de ações, consulte como criar grupos de ações.
Nota
Você também pode usar o esquema de alerta comum para suas integrações de webhook. Ele oferece a vantagem de ter uma única carga útil de alerta extensível e unificada em todos os serviços de alerta no Azure Monitor. Saiba mais sobre o esquema de alerta comum.
Autenticar o webhook
O webhook pode, opcionalmente, usar autorização baseada em token para autenticação. O URI do webhook é salvo com um ID de token, por exemplo, https://mysamplealert/webcallback?tokenid=sometokenid&someparameter=somevalue
.
Esquema de carga útil
A carga JSON contida na operação POST difere com base no campo da data.context.activityLog.eventSource
carga útil.
Nota
Atualmente, a descrição que faz parte do evento de log de atividades é copiada para a propriedade fire.Alert Description
Para alinhar a carga útil do log de atividades com outros tipos de alerta, a partir de 1º de abril de 2021, a propriedade Description
de alerta acionado contém a descrição da regra de alerta.
Em preparação para essa mudança, criamos uma nova propriedade, Activity Log Event Description
, para o registro de atividades disparado alerta. Esta nova propriedade é preenchida com a Description
propriedade que já está disponível para uso. Portanto, o novo campo Activity Log Event Description
contém a descrição que faz parte do evento de registro de atividades.
Revise suas regras de alerta, regras de ação, webhooks, aplicativo lógico ou quaisquer outras configurações em que você possa estar usando a Description
propriedade do alerta disparado. Substitua a Description
propriedade pela Activity Log Event Description
propriedade.
Se sua condição em suas regras de ação, webhooks, aplicativo lógico ou quaisquer outras configurações estiver atualmente baseada na Description
propriedade para alertas de log de atividades, talvez seja necessário modificá-la para ser baseada na Activity Log Event Description
propriedade.
Para preencher a nova Description
propriedade, você pode adicionar uma descrição na definição da regra de alerta.
Comum
{
"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": {}
}
}
Administrativo
{
"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": {}
}
}
Segurança
{
"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":{}
}
}
Recomendação
{
"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":{}
}
}
Estado de Funcionamento do Serviço
{
"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": {}
}
}
Para obter detalhes específicos do esquema sobre alertas de log de atividades de notificação de integridade do serviço, consulte Notificações de integridade do serviço. Você também pode aprender como configurar notificações de webhook de integridade do serviço com suas soluções de gerenciamento de problemas existentes.
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 do elemento | Description |
---|---|
status | Usado para alertas métricos. Sempre definido como activated para alertas de registro de atividades. |
Contexto | Contexto do evento. |
resourceProviderName | O provedor de recursos do recurso afetado. |
conditionType | Sempre Event . |
nome | Nome da regra de alerta. |
ID | ID do recurso do alerta. |
descrição | Descrição do alerta definida quando o alerta é criado. |
subscriptionId | ID da subscrição do Azure. |
carimbo de data/hora | Hora em que o evento foi gerado pelo serviço do Azure que processou a solicitação. |
resourceId | ID do recurso afetado. |
resourceGroupName | Nome do grupo de recursos para o recurso afetado. |
propriedades | Conjunto de <Key, Value> pares (ou seja, Dictionary<String, String> ) que inclui detalhes sobre o evento. |
evento | Elemento que contém metadados sobre o evento. |
autorização | As propriedades de controle de acesso baseado em função do Azure do evento. Essas propriedades geralmente incluem a ação, a função e o escopo. |
category | Categoria do evento. Os valores suportados incluem Administrative , Alert , Security , ServiceHealth e Recommendation . |
chamador | Endereço de e-mail do usuário que executou a operação, reivindicação UPN ou reivindicação SPN com base na disponibilidade. Pode ser nulo para determinadas chamadas do sistema. |
correlationId | Geralmente um GUID em formato de cadeia de caracteres. Eventos com correlationId pertencem à mesma ação maior e geralmente compartilham um correlationId arquivo . |
descrição do evento | Descrição em texto estático do evento. |
eventDataId | Identificador exclusivo do evento. |
eventSource | Nome do serviço ou infraestrutura do Azure que gerou o evento. |
Pedido http | A solicitação geralmente inclui o clientRequestId método , clientIpAddress , e HTTP (por exemplo, PUT). |
nível | Um dos seguintes valores: Critical , Error , Warning , e Informational . |
operationId | Normalmente, um GUID compartilhado entre os eventos correspondentes a uma única operação. |
operationName | Nome da operação. |
propriedades | Propriedades do evento. |
status | String. Estado da operação. Os valores comuns incluem Started , In Progress , Succeeded , Failed , Active e Resolved . |
subStatus | Geralmente inclui o código de status HTTP da chamada REST correspondente. Ele também pode incluir outras cadeias de caracteres que descrevem um substatus. Os valores comuns de substatus incluem OK (Código de status HTTP: 200), Created (Código de status HTTP: 201), Accepted (Código de status HTTP: 202), No Content (Código de status HTTP: 204), Bad Request (Código de status HTTP: 400), Not Found (Código de status HTTP: 404), Conflict (Código de status HTTP: 409), Internal Server Error (Código de status HTTP: 500), Service Unavailable (Código de status HTTP: 503) e Gateway Timeout (Código de status HTTP: 504). |
Para obter detalhes específicos do esquema em todos os outros alertas do log de atividades, consulte Visão geral do log de atividades do Azure.
Próximos passos
- Saiba mais sobre o registro de atividades.
- Execute scripts de Automação do Azure (Runbooks) em alertas do Azure.
- Use um aplicativo lógico para enviar um SMS via Twilio a partir de um alerta do Azure. Este exemplo é para alertas de métrica, mas pode ser modificado para funcionar com um alerta de log de atividades.
- Use um aplicativo lógico para enviar uma mensagem do Slack a partir de um alerta do Azure. Este exemplo é para alertas de métrica, mas pode ser modificado para funcionar com um alerta de log de atividades.
- Use um aplicativo lógico para enviar uma mensagem para uma fila do Azure a partir de um alerta do Azure. Este exemplo é para alertas de métrica, mas pode ser modificado para funcionar com um alerta de log de atividades.