Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 utilizavam os 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 constituem um par Chave:Valor que pode incluir qualquer de 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",
"alertRuleId": "/subscriptions/<subscription ID>/resourceGroups/<resource-group>/providers/microsoft.insights/metricAlerts/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": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
],
"metricValue": 7.727
}
]
}
},
"customProperties": {
"Key1": "Value1",
"Key2": "Value2"
}
}
}
Nota
O alertRuleId campo pode não aparecer em todas as cargas úteis de alerta. Está incluído apenas em certos tipos de alertas ou versões da API que suportam devolver o ID completo do recurso da regra do alerta.
Para alertas de exemplo que usam o esquema comum, consulte Cargas de alerta de exemplo.
Campos essenciais
| Campo | Descrição |
|---|---|
| alertContextVersion | O número da versão da secção alertContext. |
| alertId | O identificador único de recurso que identifica a instância de alerta. |
| regra de alerta | O nome da regra de alerta que gerou a instância de alerta. |
| alertRuleID | A ID da regra de alerta que gerou a instância de alerta. |
| IDs de Alvo de Alerta | A lista das IDs do Azure Resource Manager que são alvos afetados de um alerta. Para um alerta de pesquisa de log definido num espaço de trabalho do Log Analytics ou instância do Application Insights, é o respetivo espaço de trabalho ou aplicação. |
| itens de configuração | A lista de recursos afetados referentes a um alerta. Em alguns casos, os itens de configuração podem ser diferentes dos destinos de alerta. Por exemplo, nos alertas de pesquisa de métrica-para-log ou de log definidos num 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.
configurationItems campo é usado para correlacionar alertas a recursos em um banco de dados de gerenciamento de configuração. |
| descrição | A descrição, conforme definido na regra de alerta. |
| versãoEssencial | O número da versão da seção essencial. |
| firedDateTime | A data e a hora em que a instância de alerta foi acionada no Tempo Universal Coordenado (UTC). |
| investigaçãoLink | Link para investigar o alerta no Azure Monitor. Atualmente requer um registo de pré-visualização limitado. |
| monitorizarCondição | Quando um alerta é acionado, a condição do monitor do alerta é definida como Acionado. Quando a condição subjacente que causou o disparo de alerta for resolvida, a condição do monitor é alterada para Resolvida. |
| Serviço de Monitoramento | 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. |
| originAlertId | A ID da instância de alerta, conforme gerada pelo serviço de monitoramento que a gera. |
| 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. |
| nomeDoGrupoDeRecursos | Nome do grupo de recursos para o recurso afetado. |
| tipo de recurso | O tipo de recurso afetado pelo 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. |
Campos de contexto de alerta para alertas métricos
| Campo | Descrição |
|---|---|
| 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. |
| allOf | Indica que todas as condições definidas na regra de alerta devem ser atendidas para disparar um alerta. |
| condição | |
| tipoDeCondição | O tipo de condição selecionada para a regra de alerta:
|
| dimensões | A dimensão métrica que disparou o alerta. |
| períodos de falha | Numa regra de alerta com um limite dinâmico, o número de períodos de avaliação que não satisfazem o limite de alerta e que ativam 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. |
| ignorarDadosAntes | (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. |
| metricValue | O valor da métrica no momento em que violou o limite. |
| períodosMinFalhaParaAlertar | O número mínimo de avaliações que não cumprem as condições da regra de alerta. |
| nome | O nome da dimensão. |
| númeroDePeríodosDeAvaliação | O número total de avaliações. |
| operador | O operador lógico da regra de alerta. |
| propriedades | (Opcional.) Uma coleção de propriedades definidas pelo cliente. |
| limiar | O limite definido na regra de alerta. Para uma regra de alerta com um limite dinâmico, esse valor é o limite calculado. |
| agregação de tempo | O tipo de agregação da regra de alerta. |
| valor | O valor da dimensão. |
| webTestName | Se o tipo de condição for webtest, o nome do webtest. |
| windowEndTime | A hora de término da janela de avaliação na qual o alerta foi disparado. |
| tamanho da janela | O período de tempo analisado pela regra de alerta. |
| janelaStartTime | A hora de início 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": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
}
],
"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 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 útil JSON, pois 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 o conteúdo inclui os resultados da pesquisa com o
IncludedSearchResultsindicador. UseLinkToFilteredSearchResultsAPIouLinkToSearchResultsAPIpara aceder aos resultados da consulta com a API do Log Analytics se os resultados da pesquisa não estiverem incluídos.
| Campo | Descrição |
|---|---|
| Tipo de Alerta | O tipo de alerta: - Medição Métrica - Número de Resultados |
| ID do aplicativo | O ID do Application Insights no qual o alerta foi acionado. |
| colunas | As colunas na tabela. |
| Fontes de dados | As fontes de dados sobre as quais o alerta foi acionado. |
| Dimensões | Para regras de medição métrica, as dimensões métricas nas quais o alerta foi acionado. |
| Resultados de Pesquisa Incluídos | Sinalizador que indica se a carga útil deve conter os resultados. |
| Link para os Resultados Filtrados da API de Pesquisa | 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. |
| LinkParaResultadosDePesquisaFiltradosUI | Para as regras de medição em sistema métrico, o link para os resultados da pesquisa após terem sido filtrados pelas combinações de dimensões. |
| LinkParaResultadosDePesquisa | Um link para os resultados da pesquisa. |
| LinkToSearchResultsAPI | Um link para os resultados da consulta usando a API do Log Analytics. |
| nome | O nome da dimensão. |
| nome | O nome da tabela nos resultados da pesquisa. |
| nome | O nome da coluna. |
| Operador | O operador definido na regra de alerta. |
| ID do recurso | O ID do recurso afetado pelo alerta. |
| 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. |
| linhas | As linhas na tabela. |
| Duração do Intervalo de Pesquisa Mínima | O número total de minutos no intervalo de pesquisa. |
| HoraDeFimDoIntervaloDePesquisaUTC | A hora de término da janela de avaliação na qual o alerta foi disparado em UTC. |
| IntervaloDePesquisaEmMin | O número total de minutos no intervalo de pesquisa. |
| HoraDeInícioDoIntervaloDePesquisaUtc | A hora de início da janela de avaliação durante a qual o alerta foi disparado em UTC. |
| SearchQuery | A consulta definida na regra de alerta. |
| Resultados da Pesquisa | Os resultados completos da pesquisa. |
| tabela | A tabela de resultados nos resultados da pesquisa. |
| tabelas | As tabelas de resposta preliminares incluídas na consulta. |
| Limite | O limite definido na regra de alerta. |
| tipo | O tipo da coluna. |
| valor | O valor da dimensão. |
Exemplo de alerta de pesquisa de log quando o 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×pan=2020-05-07T18%3a11%3a51.0000000Z%2f2020-05-07T18%3a16%3a51.0000000Z",
"LinkToFilteredSearchResultsAPI": "https://api.loganalytics.io/v1/workspaces/workspaceID/query?query=Heartbeat×pan=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 serviço de monitorização é o 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 dos alertas de pesquisa de log quando se usa esta versão. Use dimensões para fornecer contexto aos alertas disparados. Você também pode usar LinkToFilteredSearchResultsAPI ou LinkToSearchResultsAPI para acessar os resultados da consulta com a API 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×pan=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×pan=2020-07-07T13%3a54%3a34.0000000Z%2f2020-07-09T13%3a54%3a34.0000000Z"
}
],
"windowStartTime": "2020-07-07T13:54:34Z",
"windowEndTime": "2020-07-09T13:54:34Z"
}
}
}
Alerta de pesquisa de registo de exemplo quando o Serviço de Monitorização = Alerta de Registo Simples
{
"alertContext": {
"properties": {},
"conditionType": "LogQueryCriteria",
"condition": {
"windowSize": null,
"allOf": [
{
"searchQuery": "exceptions | where timestamp > ago(5m) | project timestamp, operation_Name, problemId, type, outerMessage",
"metricMeasureColumn": null,
"targetResourceTypes": null,
"operator": null,
"threshold": null,
"timeAggregation": null,
"dimensions": null,
"metricValue": 1.0,
"failingPeriods": null,
"linkToSearchResultsUI": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=exceptions+%7C+where+timestamp+%3E+ago%285m%29+%7C+project+timestamp%2C+operation_Name%2C+problemId%2C+type%2C+outerMessage",
"linkToFilteredSearchResultsUI": "https://portal.azure.com/AnalyticsBlade/subscriptions/12345a-1234b-123c-123d-12345678e/?query=exceptions+%7C+where+timestamp+%3E+ago%285m%29+%7C+project+timestamp%2C+operation_Name%2C+problemId%2C+type%2C+outerMessage",
"linkToSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/query?query=exceptions%20%7C%20where%20timestamp%20%3E%20ago%285m%29%20%7C%20project%20timestamp%2C%20operation_Name%2C%20problemId%2C%20type%2C%20outerMessage",
"linkToFilteredSearchResultsAPI": "https://api.applicationinsights.io/v1/apps/0MyAppId0/query?query=exceptions%20%7C%20where%20timestamp%20%3E%20ago%285m%29%20%7C%20project%20timestamp%2C%20operation_Name%2C%20problemId%2C%20type%2C%20outerMessage",
"event": [
[
{
"name": "timestamp",
"value": "2020-07-09T13:54:34Z"
},
{
"name": "operation_Name",
"value": "GET /api/orders"
},
{
"name": "problemId",
"value": "System.NullReferenceException at OrdersController.GetOrder"
},
{
"name": "type",
"value": "System.NullReferenceException"
},
{
"name": "outerMessage",
"value": "Object reference not set to an instance of an object."
}
]
]
}
],
"windowStartTime": null,
"windowEndTime": null
}
}
}
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 do registo de atividades quando monitoringService = Registo 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": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"level": "Informational",
"operationName": "Microsoft.Compute/virtualMachines/restart/action",
"operationId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"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 registo de atividade quando o serviço de monitorização = Registo de Atividade - 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 registo de atividades quando monitoringService = ServiceHealth
{
"alertContext": {
"authorization": null,
"channels": 1,
"claims": null,
"caller": null,
"correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"eventSource": "ServiceHealth",
"eventTimestamp": "2019-06-24T11:31:19.0312699+00:00",
"httpRequest": null,
"eventDataId": "<GUID>",
"level": "Informational",
"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 registo de atividade quando o 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 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
- Abra qualquer ação existente ou uma nova ação em um grupo de ações.
- 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:
- Para habilitar o esquema comum, defina o sinalizador "useCommonAlertSchema" para
true - Defina o sinalizador "useCommonAlertSchema" para
falsepara usar o esquema não comum para ações de email, webhook, Logic Apps, Funções do Azure 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@contoso.com",
"useCommonAlertSchema": true
},
{
"name": "Jane Smith's email",
"emailAddress": "janesmith@contoso.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": {}
}