Partilhar via


Esquema de alertas comuns

O esquema de alerta comum padroniza o consumo de notificações de alerta do Azure Monitor. Historicamente, os alertas de log de atividades, métricas e pesquisa de log tinham seus próprios modelos de e-mail e esquemas de webhook. O esquema de alerta comum fornece um esquema padronizado para todas as notificações de alerta.

O uso de um esquema padronizado ajuda a minimizar o número de integrações, o que simplifica o processo de gerenciamento e manutenção de suas integrações. O esquema comum permite uma experiência de consumo de alerta mais avançada no portal do Azure e no aplicativo móvel do Azure.

O esquema de alerta comum fornece uma estrutura consistente para:

  • Modelos de e-mail: use o modelo de e-mail detalhado para diagnosticar problemas rapidamente. Links incorporados para a instância de alerta no portal e para o recurso afetado garantem que você possa entrar rapidamente no processo de correção.
  • Estrutura JSON: use a estrutura JSON consistente para criar integrações para todos os tipos de alerta usando:
    • Azure Logic Apps
    • Funções do Azure
    • Runbook da Automatização do Azure

Nota

  • Os alertas gerados pelas informações da VM não suportam o esquema comum.
  • Os alertas de deteção inteligente usam o esquema comum por padrão. Não é necessário ativar o esquema comum para alertas de deteção inteligente.

Estrutura do esquema comum

O esquema comum inclui informações sobre o recurso afetado e a causa do alerta nestas seções:

  • Essenciais: campos padronizados, usados por todos os tipos de alerta que descrevem o recurso afetado pelo alerta e metadados comuns de alerta, como gravidade ou descrição.

    Se quiser rotear instâncias de alerta para equipes específicas com base em critérios como um grupo de recursos, você pode usar os campos na seção Essentials para fornecer lógica de roteamento para todos os tipos de alerta. As equipes que recebem a notificação de alerta podem usar os campos de contexto para sua investigação.

  • Contexto do alerta: campos que variam dependendo do tipo de alerta. Os campos de contexto do alerta descrevem a causa do alerta. Por exemplo, um alerta de métrica teria campos como o nome da métrica e o valor da métrica no contexto do alerta. Um alerta de registro de atividades teria informações sobre o evento que gerou o alerta.

  • Propriedades personalizadas: informações adicionais que não estão incluídas na carga útil de alerta por padrão podem ser incluídas na carga de alerta usando propriedades personalizadas. As propriedades personalizadas são um par Key:Value que pode incluir qualquer informação configurada na regra de alerta.

Amostra de carga útil de alerta

{
  "schemaId": "azureMonitorCommonAlertSchema",
  "data": {
    "essentials": {
      "alertId": "/subscriptions/<subscription ID>/providers/Microsoft.AlertsManagement/alerts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
      "alertRule": "WCUS-R2-Gen2",
      "severity": "Sev3",
      "signalType": "Metric",
      "monitorCondition": "Resolved",
      "monitoringService": "Platform",
      "alertTargetIDs": [
        "/subscriptions/<subscription ID>/resourcegroups/pipelinealertrg/providers/microsoft.compute/virtualmachines/wcus-r2-gen2"
      ],
      "configurationItems": [
        "wcus-r2-gen2"
      ],
      "originAlertId": "3f2d4487-b0fc-4125-8bd5-7ad17384221e_PipeLineAlertRG_microsoft.insights_metricAlerts_WCUS-R2-Gen2_-117781227",
      "firedDateTime": "2019-03-22T13:58:24.3713213Z",
      "resolvedDateTime": "2019-03-22T14:03:16.2246313Z",
      "description": "",
      "essentialsVersion": "1.0",
      "alertContextVersion": "1.0"
    },
    "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 7.727
          }
        ]
      }
    },
    "customProperties": {
      "Key1": "Value1",
      "Key2": "Value2"
    }
  }
}

Para alertas de exemplo que usam o esquema comum, consulte Cargas úteis de alerta de exemplo.

Campos essenciais

Campo Descrição
alertId O ID de recurso exclusivo que identifica a instância de alerta.
alertRule O nome da regra de alerta que gerou a instância de alerta.
Gravidade A gravidade do alerta. Os valores possíveis são Sev0, Sev1, Sev2, Sev3 ou Sev4.
Tipo de sinal Identifica o sinal no qual a regra de alerta foi definida. Os valores possíveis são Metric, Log ou Activity Log.
monitorCondition Quando um alerta é acionado, a condição do monitor do alerta é definida como Acionado. Quando a condição subjacente que causou o disparo do alerta se apagar, a condição do monitor é definida como Resolvida.
monitoramentoServiço O serviço ou solução de monitoramento que gerou o alerta. O serviço de monitoramento determina quais campos estão no contexto de alerta.
alertTargetIDs A lista das IDs do Azure Resource Manager que são alvos afetados de um alerta. Para um alerta de pesquisa de log definido em um espaço de trabalho do Log Analytics ou instância do Application Insights, é o respetivo espaço de trabalho ou aplicativo.
configurationItems A lista de recursos afetados de um alerta.
Em alguns casos, os itens de configuração podem ser diferentes dos destinos de alerta. Por exemplo, em alertas de pesquisa de métrica para log ou log definidos em um espaço de trabalho do Log Analytics, os itens de configuração são os recursos reais que enviam os dados, e não o espaço de trabalho.
  • Na API de alertas de pesquisa de log (Regras de Consulta Agendada) v2021-08-01, os configurationItem valores são retirados de dimensões explicitamente definidas nesta prioridade: _ResourceId, ResourceId, Resource, Computer.
  • Em versões anteriores da API de alertas de pesquisa de log, os configurationItem valores são obtidos implicitamente dos resultados nesta prioridade: _ResourceId, ResourceId, Resource, Computer.
Em sistemas ITSM, o configurationItems campo é usado para correlacionar alertas a recursos em um banco de dados de gerenciamento de configuração.
originAlertId A ID da instância de alerta, conforme gerada pelo serviço de monitoramento que a gera.
firedDateTime A data e a hora em que a instância de alerta foi acionada no Tempo Universal Coordenado (UTC).
resolvedDateTime A data e a hora em que a condição do monitor para a instância de alerta é definida como Resolvido em UTC. Atualmente aplicável apenas para alertas métricos.
descrição A descrição, conforme definido na regra de alerta.
alertRuleID A ID da regra de alerta que gerou a instância de alerta.
resourceType O tipo de recurso afetado pelo alerta.
resourceGroupName Nome do grupo de recursos para o recurso afetado.
essentialsVersion O número da versão da seção essencial.
alertContextVersion O número da versão da alertContext seção.
investigaçãoLink Link para investigar o alerta no Azure Monitor. Atualmente requer um registo de pré-visualização limitado.

Campos de contexto de alerta para alertas métricos

Campo Descrição
propriedades (Opcional.) Uma coleção de propriedades definidas pelo cliente.
conditionType O tipo de condição selecionada para a regra de alerta:
- limiar estático
- limiar dinâmico
- WebTest
condição
windowSize O período de tempo analisado pela regra de alerta.
allOf Indica que todas as condições definidas na regra de alerta devem ser atendidas para disparar um alerta.
alertSensibilidade Em uma regra de alerta com um limite dinâmico, indica o quão sensível a regra é ou o quanto o valor pode se desviar do limite superior ou inferior.
failingPeriods Em uma regra de alerta com um limite dinâmico, o número de períodos de avaliação que não atendem ao limite de alerta que disparam um alerta. Por exemplo, você pode indicar que um alerta é acionado quando 3 dos últimos cinco períodos de avaliação não estão dentro dos limites de alerta.
númeroDeAvaliaçãoPeríodos O número total de avaliações.
minFailingPeriodsToAlert O número mínimo de avaliações que não atendem às condições da regra de alerta.
ignoreDataBefore (Opcional.) Em uma regra de alerta com um limite dinâmico, a data a partir da qual o limite é calculado. Use esse valor para indicar que a regra não deve calcular o limite dinâmico usando dados anteriores à data especificada.
metricName O nome da métrica monitorada pela regra de alerta.
metricNamespace O namespace da métrica monitorada pela regra de alerta.
operador O operador lógico da regra de alerta.
limiar O limite definido na regra de alerta. Para uma regra de alerta com um limite dinâmico, esse valor é o limite calculado.
timeAggregation O tipo de agregação da regra de alerta.
dimensões A dimensão métrica que disparou o alerta.
nome O nome da dimensão.
valor O valor da dimensão.
metricValue O valor da métrica no momento em que violou o limite.
webTestName Se o tipo de condição for webtest, o nome do webtest.
janelaStartTime A hora de início da janela de avaliação na qual o alerta foi disparado.
windowEndTime A hora de término da janela de avaliação na qual o alerta foi disparado.

Exemplo de alerta métrico com um limite estático quando monitoringService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "SingleResourceMultipleMetricCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Percentage CPU",
            "metricNamespace": "Microsoft.Compute/virtualMachines",
            "operator": "GreaterThan",
            "threshold": "25",
            "timeAggregation": "Average",
            "dimensions": [
              {
                "name": "ResourceId",
                "value": "3efad9dc-3d50-4eac-9c87-8b3fd6f97e4e"
              }
            ],
            "metricValue": 31.1105
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

Exemplo de alerta métrico com um limite dinâmico quando monitoringService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "DynamicThresholdCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "alertSensitivity": "High",
            "failingPeriods": {
              "numberOfEvaluationPeriods": 1,
              "minFailingPeriodsToAlert": 1
            },
            "ignoreDataBefore": null,
            "metricName": "Egress",
            "metricNamespace": "microsoft.storage/storageaccounts",
            "operator": "GreaterThan",
            "threshold": "47658",
            "timeAggregation": "Total",
            "dimensions": [],
            "metricValue": 50101
          }
        ],
        "windowStartTime": "2021-07-20T05:07:26.363Z",
        "windowEndTime": "2021-07-20T05:12:26.363Z"
      }
    }
}

Exemplo de alerta métrico para testes de disponibilidade quando o monitoringService = Platform

{
  "alertContext": {
      "properties": null,
      "conditionType": "WebtestLocationAvailabilityCriteria",
      "condition": {
        "windowSize": "PT5M",
        "allOf": [
          {
            "metricName": "Failed Location",
            "metricNamespace": null,
            "operator": "GreaterThan",
            "threshold": "2",
            "timeAggregation": "Sum",
            "dimensions": [],
            "metricValue": 5,
            "webTestName": "myAvailabilityTest-myApplication"
          }
        ],
        "windowStartTime": "2019-03-22T13:40:03.064Z",
        "windowEndTime": "2019-03-22T13:45:03.064Z"
      }
    }
}

Campos de contexto de alerta para alertas de pesquisa de log

Nota

Quando você habilita o esquema comum, os campos na carga útil são redefinidos para os campos comuns do esquema. Portanto, os alertas de pesquisa de log têm estas limitações em relação ao esquema comum:

  • O esquema comum não é suportado para alertas de pesquisa de log usando webhooks com um assunto de e-mail personalizado e/ou carga JSON útil, uma vez que o esquema comum substitui as configurações personalizadas.
  • Os alertas que usam o esquema comum têm um limite de tamanho superior de 256 KB por alerta. Se a carga útil dos alertas de pesquisa de log incluir resultados de pesquisa que façam com que o alerta exceda o tamanho máximo, os resultados da pesquisa não serão incorporados na carga útil dos alertas de pesquisa de log. Você pode verificar se a carga inclui os resultados da pesquisa com o IncludedSearchResults sinalizador. Use LinkToFilteredSearchResultsAPI ou LinkToSearchResultsAPI acesse os resultados da consulta com a API do Log Analytics se os resultados da pesquisa não estiverem incluídos.
Campo Descrição
SearchQuery A consulta definida na regra de alerta.
SearchIntervalStartTimeUtc A hora de início da janela de avaliação em que o alerta foi disparado em UTC.
SearchIntervalEndTimeUtc A hora de término da janela de avaliação na qual o alerta foi disparado em UTC.
Contagem de Resultados O número de registros retornados pela consulta. Para regras de medição métrica, o número ou registros que correspondem à combinação de dimensões específica.
LinkToSearchResults Um link para os resultados da pesquisa.
LinkToFilteredSearchResultsUI Para regras de medição métrica, o link para os resultados da pesquisa depois que eles forem filtrados pelas combinações de dimensões.
LinkToSearchResultsAPI Um link para os resultados da consulta usando a API do Log Analytics.
LinkToFilteredSearchResultsAPI Para regras de medição métrica, o link para os resultados da pesquisa usando a API do Log Analytics depois que eles forem filtrados pelas combinações de dimensão.
SearchIntervalDurationMin O número total de minutos no intervalo de pesquisa.
SearchIntervalInMin O número total de minutos no intervalo de pesquisa.
Threshold O limite definido na regra de alerta.
Operador O operador definido na regra de alerta.
ApplicationID A ID do Application Insights na qual o alerta foi acionado.
Dimensões Para regras de medição métrica, as dimensões métricas nas quais o alerta foi acionado.
nome O nome da dimensão.
valor O valor da dimensão.
Resultados da Pesquisa Os resultados completos da pesquisa.
tabela A tabela de resultados nos resultados da pesquisa.
nome O nome da tabela nos resultados da pesquisa.
colunas As colunas na tabela.
nome O nome da coluna.
tipo O tipo da coluna.
linhas As linhas na tabela.
Fontes de dados As fontes de dados sobre as quais o alerta foi acionado.
resourceID O ID do recurso afetado pelo alerta.
tabelas As tabelas de resposta de rascunho incluídas na consulta.
IncluídoPesquisaResultados Sinalizador que indica se a carga útil deve conter os resultados.
AlertType O tipo de alerta:
- Medição Métrica
- Número de Resultados

Exemplo de alerta de pesquisa de log quando monitoringService = Log Analytics

{
  "alertContext": {
    "SearchQuery": "Perf | where ObjectName == \"Processor\" and CounterName == \"% Processor Time\" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m), Computer",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:31 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:31 PM",
    "ResultCount": 2,
    "LinkToSearchResults": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToFilteredSearchResultsUI": "https://portal.azure.com/#Analyticsblade/search/index?_timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat&timespan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
    "SeverityDescription": "Warning",
    "WorkspaceId": "12345a-1234b-123c-123d-12345678e",
    "SearchIntervalDurationMin": "15",
    "AffectedConfigurationItems": [
      "INC-Gen2Alert"
    ],
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000,
    "Operator": "Less Than",
    "Dimensions": [
      {
        "name": "Computer",
        "value": "INC-Gen2Alert"
      }
    ],
    "SearchResults": {
      "tables": [
        {
          "name": "PrimaryResult",
          "columns": [
            {
              "name": "$table",
              "type": "string"
            },
            {
              "name": "Computer",
              "type": "string"
            },
            {
              "name": "TimeGenerated",
              "type": "datetime"
            }
          ],
          "rows": [
            [
              "Fabrikam",
              "33446677a",
              "2018-02-02T15:03:12.18Z"
            ],
            [
              "Contoso",
              "33445566b",
              "2018-02-02T15:16:53.932Z"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

Exemplo de alerta de pesquisa de log quando o monitoringService = Application Insights

{
  "alertContext": {
    "SearchQuery": "requests | where resultCode == \"500\" | summarize AggregatedValue = Count by bin(Timestamp, 5m), IP",
    "SearchIntervalStartTimeUtc": "3/22/2019 1:36:33 PM",
    "SearchIntervalEndtimeUtc": "3/22/2019 1:51:33 PM",
    "ResultCount": 2,
    "LinkToSearchResults": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToFilteredSearchResultsUI": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=search+*+&timeInterval.intervalEnd=2018-03-26T09%3a10%3a40.0000000Z&_timeInterval.intervalDuration=3600&q=Usage",
    "LinkToSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
    "LinkToFilteredSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/metrics/requests/count",
    "SearchIntervalDurationMin": "15",
    "SearchIntervalInMinutes": "15",
    "Threshold": 10000.0,
    "Operator": "Less Than",
    "ApplicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
    "Dimensions": [
      {
        "name": "IP",
        "value": "1.1.1.1"
      }
    ],
    "SearchResults": {
      "tables": [
        {
          "name": "PrimaryResult",
          "columns": [
            {
              "name": "$table",
              "type": "string"
            },
            {
              "name": "Id",
              "type": "string"
            },
            {
              "name": "Timestamp",
              "type": "datetime"
            }
          ],
          "rows": [
            [
              "Fabrikam",
              "33446677a",
              "2018-02-02T15:03:12.18Z"
            ],
            [
              "Contoso",
              "33445566b",
              "2018-02-02T15:16:53.932Z"
            ]
          ]
        }
      ],
      "dataSources": [
        {
          "resourceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourcegroups/test/providers/microsoft.operationalinsights/workspaces/test",
          "tables": [
            "Heartbeat"
          ]
        }
      ]
    },
    "IncludedSearchResults": "True",
    "AlertType": "Metric measurement"
  }
}

Exemplo de alerta de pesquisa de log quando monitoringService = Alertas de log V2

Nota

As regras de alerta de pesquisa de log da API versão 2020-05-01 usam esse tipo de carga, que suporta apenas o esquema comum. Os resultados da pesquisa não são incorporados na carga útil de alertas de pesquisa de log quando você usa esta versão. Use dimensões para fornecer contexto aos alertas disparados. Você também pode usar LinkToFilteredSearchResultsAPI ou LinkToSearchResultsAPI acessar os resultados da consulta com a API do Log Analytics. Se você precisar incorporar os resultados, use um aplicativo lógico com os links fornecidos para gerar uma carga personalizada.

{
  "alertContext": {
    "properties": {
      "name1": "value1",
      "name2": "value2"
    },
    "conditionType": "LogQueryCriteria",
    "condition": {
      "windowSize": "PT10M",
      "allOf": [
        {
          "searchQuery": "Heartbeat",
          "metricMeasureColumn": "CounterValue",
          "targetResourceTypes": "['Microsoft.Compute/virtualMachines']",
          "operator": "LowerThan",
          "threshold": "1",
          "timeAggregation": "Count",
          "dimensions": [
            {
              "name": "Computer",
              "value": "TestComputer"
            }
          ],
          "metricValue": 0.0,
          "failingPeriods": {
            "numberOfEvaluationPeriods": 1,
            "minFailingPeriodsToAlert": 1
          },
          "linkToSearchResultsUI": "https://portal.azure.com#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToFilteredSearchResultsUI": "https://portal.azure.com#@12345a-1234b-123c-123d-12345678e/blade/Microsoft_Azure_Monitoring_Logs/LogsBlade/source/Alerts.EmailLinks/scope/%7B%22resources%22%3A%5B%7B%22resourceId%22%3A%22%2Fsubscriptions%212345a-1234b-123c-123d-12345678e%2FresourceGroups%2FContoso%2Fproviders%2FMicrosoft.Compute%2FvirtualMachines%2FContoso%22%7D%5D%7D/q/eJzzSE0sKklKTSypUSjPSC1KVQjJzE11T81LLUosSU1RSEotKU9NzdNIAfJKgDIaRgZGBroG5roGliGGxlYmJlbGJnoGEKCpp4dDmSmKMk0A/prettify/1/timespan/2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z",
          "linkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/subscriptions/12345a-1234b-123c-123d-12345678e/resourceGroups/Contoso/providers/Microsoft.Compute/virtualMachines/Contoso/query?query=Heartbeat%7C%20where%20TimeGenerated%20between%28datetime%282020-07-09T13%3A44%3A34.0000000%29..datetime%282020-07-09T13%3A54%3A34.0000000%29%29&timespan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z"
        }
      ],
      "windowStartTime": "2020-07-07T13:54:34Z",
      "windowEndTime": "2020-07-09T13:54:34Z"
    }
  }
}

Campos de contexto de alerta para alertas de registo de atividades

Consulte Esquema de eventos do log de atividades do Azure para obter informações detalhadas sobre os campos nos alertas do log de atividades.

Exemplo de alerta de registro de atividades quando monitoringService = Log de Atividades - Administrativo

{
  "alertContext": {
      "authorization": {
        "action": "Microsoft.Compute/virtualMachines/restart/action",
        "scope": "/subscriptions/<subscription ID>/resourceGroups/PipeLineAlertRG/providers/Microsoft.Compute/virtualMachines/WCUS-R2-ActLog"
      },
      "channels": "Operation",
      "claims": "{\"aud\":\"https://management.core.windows.net/\",\"iss\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"iat\":\"1553260826\",\"nbf\":\"1553260826\",\"exp\":\"1553264726\",\"aio\":\"42JgYNjdt+rr+3j/dx68v018XhuFAwA=\",\"appid\":\"11112222-bbbb-3333-cccc-4444dddd5555\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/12345a-1234b-123c-123d-12345678e/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"22223333-cccc-4444-dddd-5555eeee6666\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"12345a-1234b-123c-123d-12345678e\",\"uti\":\"v5wYC9t9ekuA2rkZSVZbAA\",\"ver\":\"1.0\"}",
      "caller": "22223333-cccc-4444-dddd-5555eeee6666",
      "correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
      "eventSource": "Administrative",
      "eventTimestamp": "2019-03-22T13:56:31.2917159+00:00",
      "eventDataId": "161fda7e-1cb4-4bc5-9c90-857c55a8f57b",
      "level": "Informational",
      "operationName": "Microsoft.Compute/virtualMachines/restart/action",
      "operationId": "310db69b-690f-436b-b740-6103ab6b0cba",
      "status": "Succeeded",
      "subStatus": "",
      "submissionTimestamp": "2019-03-22T13:56:54.067593+00:00"
    }
}

Exemplo de alerta de registro de atividades quando monitoringService = Activity Log - Policy

{
  "alertContext": {
    "authorization": {
      "action": "Microsoft.Resources/checkPolicyCompliance/read",
      "scope": "/subscriptions/<GUID>"
    },
    "channels": "Operation",
    "claims": "{\"aud\":\"https://management.azure.com/\",\"iss\":\"https://sts.windows.net/<GUID>/\",\"iat\":\"1566711059\",\"nbf\":\"1566711059\",\"exp\":\"1566740159\",\"aio\":\"42FgYOhynHNw0scy3T/bL71+xLyqEwA=\",\"appid\":\"<GUID>\",\"appidacr\":\"2\",\"http://schemas.microsoft.com/identity/claims/identityprovider\":\"https://sts.windows.net/<GUID>/\",\"http://schemas.microsoft.com/identity/claims/objectidentifier\":\"<GUID>\",\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier\":\"<GUID>\",\"http://schemas.microsoft.com/identity/claims/tenantid\":\"<GUID>\",\"uti\":\"Miy1GzoAG0Scu_l3m1aIAA\",\"ver\":\"1.0\"}",
    "caller": "<GUID>",
    "correlationId": "<GUID>",
    "eventSource": "Policy",
    "eventTimestamp": "2019-08-25T11:11:34.2269098+00:00",
    "eventDataId": "<GUID>",
    "level": "Warning",
    "operationName": "Microsoft.Authorization/policies/audit/action",
    "operationId": "<GUID>",
    "properties": {
      "isComplianceCheck": "True",
      "resourceLocation": "eastus2",
      "ancestors": "<GUID>",
      "policies": "[{\"policyDefinitionId\":\"/providers/Microsoft.Authorization/policyDefinitions/<GUID>/\",\"policySetDefinitionId\":\"/providers/Microsoft.Authorization/policySetDefinitions/<GUID>/\",\"policyDefinitionReferenceId\":\"vulnerabilityAssessmentMonitoring\",\"policySetDefinitionName\":\"<GUID>\",\"policyDefinitionName\":\"<GUID>\",\"policyDefinitionEffect\":\"AuditIfNotExists\",\"policyAssignmentId\":\"/subscriptions/<GUID>/providers/Microsoft.Authorization/policyAssignments/SecurityCenterBuiltIn/\",\"policyAssignmentName\":\"SecurityCenterBuiltIn\",\"policyAssignmentScope\":\"/subscriptions/<GUID>\",\"policyAssignmentSku\":{\"name\":\"A1\",\"tier\":\"Standard\"},\"policyAssignmentParameters\":{}}]"
    },
    "status": "Succeeded",
    "subStatus": "",
    "submissionTimestamp": "2019-08-25T11:12:46.1557298+00:00"
  }
}

Exemplo de alerta de registro de atividades quando o monitoringService = Activity Log - Autoscale

{
  "alertContext": {
    "channels": "Admin, Operation",
    "claims": "{\"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/spn\":\"Microsoft.Insights/autoscaleSettings\"}",
    "caller": "Microsoft.Insights/autoscaleSettings",
    "correlationId": "<GUID>",
    "eventSource": "Autoscale",
    "eventTimestamp": "2019-08-21T16:17:47.1551167+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Insights/AutoscaleSettings/Scaleup/Action",
    "operationId": "<GUID>",
    "properties": {
      "description": "The autoscale engine attempting to scale resource '/subscriptions/d<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS' from 9 instances count to 10 instances count.",
      "resourceName": "/subscriptions/<GUID>/resourceGroups/voiceassistancedemo/providers/Microsoft.Compute/virtualMachineScaleSets/alexademo",
      "oldInstancesCount": "9",
      "newInstancesCount": "10",
      "activeAutoscaleProfile": "{\r\n  \"Name\": \"Auto created scale condition\",\r\n  \"Capacity\": {\r\n    \"Minimum\": \"1\",\r\n    \"Maximum\": \"10\",\r\n    \"Default\": \"1\"\r\n  },\r\n  \"Rules\": [\r\n    {\r\n      \"MetricTrigger\": {\r\n        \"Name\": \"Percentage CPU\",\r\n        \"Namespace\": \"microsoft.compute/virtualmachinescalesets\",\r\n        \"Resource\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"ResourceLocation\": \"eastus\",\r\n        \"TimeGrain\": \"PT1M\",\r\n        \"Statistic\": \"Average\",\r\n        \"TimeWindow\": \"PT5M\",\r\n        \"TimeAggregation\": \"Average\",\r\n        \"Operator\": \"GreaterThan\",\r\n        \"Threshold\": 0.0,\r\n        \"Source\": \"/subscriptions/<GUID>/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachineScaleSets/testVMSS\",\r\n        \"MetricType\": \"MDM\",\r\n        \"Dimensions\": [],\r\n        \"DividePerInstance\": false\r\n      },\r\n      \"ScaleAction\": {\r\n        \"Direction\": \"Increase\",\r\n        \"Type\": \"ChangeCount\",\r\n        \"Value\": \"1\",\r\n        \"Cooldown\": \"PT1M\"\r\n      }\r\n    }\r\n  ]\r\n}",
      "lastScaleActionTime": "Wed, 21 Aug 2019 16:17:47 GMT"
    },
    "status": "Succeeded",
    "submissionTimestamp": "2019-08-21T16:17:47.2410185+00:00"
  }
}

Exemplo de alerta de registro de atividades quando o monitoringService = Log de Atividades - Segurança

{
  "alertContext": {
    "channels": "Operation",
    "correlationId": "<GUID>",
    "eventSource": "Security",
    "eventTimestamp": "2019-08-26T08:34:14+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Security/locations/alerts/activate/action",
    "operationId": "<GUID>",
    "properties": {
      "threatStatus": "Quarantined",
      "category": "Virus",
      "threatID": "2147519003",
      "filePath": "C:\\AlertGeneration\\test.eicar",
      "protectionType": "Windows Defender",
      "actionTaken": "Blocked",
      "resourceType": "Virtual Machine",
      "severity": "Low",
      "compromisedEntity": "testVM",
      "remediationSteps": "[\"No user action is necessary\"]",
      "attackedResourceType": "Virtual Machine"
    },
    "status": "Active",
    "submissionTimestamp": "2019-08-26T09:28:58.3019107+00:00"
  }
}

Exemplo de alerta de log de atividades quando monitoringService = ServiceHealth

{
  "alertContext": {
    "authorization": null,
    "channels": 1,
    "claims": null,
    "caller": null,
    "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
    "eventSource": 2,
    "eventTimestamp": "2019-06-24T11:31:19.0312699+00:00",
    "httpRequest": null,
    "eventDataId": "<GUID>",
    "level": 3,
    "operationName": "Microsoft.ServiceHealth/maintenance/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "service": "Azure Synapse Analytics",
      "region": "East US",
      "communication": "<MESSAGE>",
      "incidentType": "Maintenance",
      "trackingId": "<GUID>",
      "impactStartTime": "2019-06-26T04:00:00Z",
      "impactMitigationTime": "2019-06-26T12:00:00Z",
      "impactedServices": "[{\"ImpactedRegions\":[{\"RegionName\":\"East US\"}],\"ServiceName\":\"Azure Synapse Analytics\"}]",
      "impactedServicesTableRows": "<tr>\r\n<td align='center' style='padding: 5px 10px; border-right:1px solid black; border-bottom:1px solid black'>Azure Synapse Analytics</td>\r\n<td align='center' style='padding: 5px 10px; border-bottom:1px solid black'>East US<br></td>\r\n</tr>\r\n",
      "defaultLanguageTitle": "Azure Synapse Analytics Scheduled Maintenance Pending",
      "defaultLanguageContent": "<MESSAGE>",
      "stage": "Planned",
      "communicationId": "<GUID>",
      "maintenanceId": "<GUID>",
      "isHIR": "false",
      "version": "0.1.1"
    },
    "status": "Active",
    "subStatus": null,
    "submissionTimestamp": "2019-06-24T11:31:31.7147357+00:00",
    "ResourceType": null
  }
}

Exemplo de alerta de log de atividades quando monitoringService = ResourceHealth

{
  "alertContext": {
    "channels": "Admin, Operation",
    "correlationId": "<GUID>",
    "eventSource": "ResourceHealth",
    "eventTimestamp": "2019-06-24T15:42:54.074+00:00",
    "eventDataId": "<GUID>",
    "level": "Informational",
    "operationName": "Microsoft.Resourcehealth/healthevent/Activated/action",
    "operationId": "<GUID>",
    "properties": {
      "title": "This virtual machine is stopping and deallocating as requested by an authorized user or process",
      "details": null,
      "currentHealthStatus": "Unavailable",
      "previousHealthStatus": "Available",
      "type": "Downtime",
      "cause": "UserInitiated"
    },
    "status": "Active",
    "submissionTimestamp": "2019-06-24T15:45:20.4488186+00:00"
  }
}

Campos de contexto de alerta para alertas Prometheus

Consulte Serviço gerenciado do Azure Monitor para grupos de regras do Prometheus (visualização) para obter informações detalhadas sobre os campos nos alertas do Prometheus.

Exemplo de alerta Prometheus

{
  "alertContext": {
    "interval": "PT1M",
    "expression": "sql_up > 0",
    "expressionValue": "0",
    "for": "PT2M",
    "labels": {
      "Environment": "Prod",
      "cluster": "myCluster1"
    },
    "annotations": {
      "summary": "alert on SQL availability"
    },
    "ruleGroup": "/subscriptions/<subscription ID>/resourceGroups/myResourceGroup/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myRuleGroup"
  }
}

Campos de propriedades personalizadas

Se a regra de alerta que gerou o alerta contiver grupos de ações, as propriedades personalizadas poderão conter informações adicionais sobre o alerta. A seção de propriedades personalizadas contém objetos "chave: valor" que são adicionados às notificações do webhook.

Se as propriedades personalizadas não estiverem definidas na regra de alerta, o campo será nulo.

Habilitar o esquema de alerta comum

Use grupos de ações no portal do Azure ou use a API REST para habilitar o esquema de alerta comum. Os esquemas são definidos no nível da ação. Por exemplo, você deve habilitar separadamente o esquema para uma ação de email e uma ação de webhook.

Habilitar o esquema comum no portal do Azure

Captura de tela que mostra a opção de aceitação do esquema de alerta comum.

  1. Abra qualquer ação existente ou uma nova ação em um grupo de ações.
  2. Selecione Sim para ativar o esquema de alerta comum.

Habilite o esquema comum usando a API REST

Você também pode usar a API de Grupos de Ação para aceitar o esquema de alerta comum. Na chamada de criação ou atualização da API REST,

  • Defina o sinalizador "useCommonAlertSchema" para true habilitar o esquema comum
  • Defina o sinalizador "useCommonAlertSchema" para false usar o esquema não comum para ações de email, webhook, Aplicativos Lógicos, Azure Functions ou runbook de automação.

Exemplo de chamada da API REST para usar o esquema comum

A seguinte solicitação de API REST de criação ou atualização :

  • Habilita o esquema de alerta comum para a ação de e-mail "Email de John Doe".
  • Desativa o esquema de alerta comum para a ação de email "Email de Jane Smith".
  • Habilita o esquema de alerta comum para a ação de webhook "Exemplo de webhook".
{
  "properties": {
    "groupShortName": "sample",
    "enabled": true,
    "emailReceivers": [
      {
        "name": "John Doe's email",
        "emailAddress": "johndoe@email.com",
        "useCommonAlertSchema": true
      },
      {
        "name": "Jane Smith's email",
        "emailAddress": "janesmith@email.com",
        "useCommonAlertSchema": false
      }
    ],
    "smsReceivers": [
      {
        "name": "John Doe's mobile",
        "countryCode": "1",
        "phoneNumber": "1234567890"
      },
      {
        "name": "Jane Smith's mobile",
        "countryCode": "1",
        "phoneNumber": "0987654321"
      }
    ],
    "webhookReceivers": [
      {
        "name": "Sample webhook",
        "serviceUri": "http://www.example.com/webhook",
        "useCommonAlertSchema": true
      }
    ]
  },
  "location": "Global",
  "tags": {}
}

Próximos passos