Compartir a través de


Esquema de alertas comunes

El esquema de alerta común normaliza el consumo de notificaciones de alerta de Azure Monitor. Históricamente, el registro de actividad, la métrica y las alertas de búsqueda de registros tenían sus propias plantillas de correo electrónico y esquemas de webhook. El esquema de alerta común proporciona un esquema estandarizado para todas las notificaciones de alerta.

Usar un esquema estandarizado le ayuda a minimizar el número de integraciones, lo que simplifica el proceso de administración y mantenimiento de las integraciones. El esquema común permite una experiencia de consumo de alertas más rica tanto en Azure Portal como en Azure Mobile App.

El esquema de alerta común proporciona una estructura coherente para:

  • Plantillas de correo electrónico: use la plantilla de correo electrónico detallada para diagnosticar los problemas de un vistazo. Vínculos insertados en la instancia de alerta en el portal y los recursos afectados garantizan que pueda pasar rápidamente al proceso de corrección.
  • Estructura JSON: Use la estructura JSON coherente para compilar integraciones para todos los tipos de alerta mediante:
    • Azure Logic Apps
    • Azure Functions
    • Runbook de Azure Automation

Nota:

  • Las alertas generadas por VM insights no admiten el esquema común.
  • Las alertas de detección inteligente usan el esquema común predeterminado. No es necesario habilitar el esquema común para las alertas de detección inteligente.

Estructura del esquema común

El esquema común incluye información sobre el recurso afectado y la causa de la alerta en estas secciones:

  • Essentials: campos normalizados, utilizados por todos los tipos de alerta que describen el recurso afectado por la alerta y los metadatos comunes de alerta, como la gravedad o la descripción.

    Si desea enrutar instancias de alertas a equipos específicos basados en criterios como un grupo de recursos, puede usar los campos de la sección Essentials para proporcionar lógica de enrutamiento para todos los tipos de alertas. Los equipos que reciben la notificación de alerta pueden usar los campos de contexto para su investigación.

  • Contexto de alerta: campos que varían según el tipo de alerta. Los campos de contexto de alerta describen la causa de la alerta. Por ejemplo, una alerta de métrica tendría campos como el nombre de la métrica y el valor de la métrica en el contexto de la alerta. Una alerta del registro de actividad tendría información sobre el evento que generó la alerta.

  • Propiedades personalizadas: La información adicional que no se incluye en la carga útil de la alerta predeterminada puede incluirse en la carga útil de la alerta mediante propiedades personalizadas. Las propiedades personalizadas son un par Key:Value que puede incluir cualquier información configurada en la regla de alerta.

Carga de alerta de ejemplo

{
  "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 obtener alertas de ejemplo que usan el esquema común, consulte Cargas de alerta de ejemplo.

Campos de Essentials

Campo Descripción
alertId Identificador de recurso único que identifica la instancia de alerta.
alertRule Nombre de la regla de alertas que generó la instancia de la alerta.
severity Gravedad de la alerta. Valores posibles: Sev0, Sev1, Sev2, Sev3 o Sev4.
signalType Identifica la señal en que se definió la regla de alertas. Valores posibles: Métrica, Registro o Registro de actividad.
monitorCondition Cuando se desencadena una alerta, la condición de supervisión de la alerta se establece en Desencadenada. Cuando desaparece la condición subyacente que provocó que se desencadenara la alerta, la condición de supervisión se establece en Resuelta.
monitoringService El servicio o solución de supervisión que generó la alerta. El servicio de supervisión determina qué campos se encuentran en el contexto de alerta.
alertTargetIDs Lista de los identificadores de Azure Resource Manager que son los destinos afectados de una alerta. Para una alerta de búsqueda de registros definida en un área de trabajo de Log Analytics o una instancia de Application Insights, es el área de trabajo o la aplicación correspondiente.
configurationItems Lista de recursos afectados de una alerta.
En algunos casos, los elementos de configuración pueden ser diferentes de los destinos de las alertas. Por ejemplo, en las alertas de búsqueda de registros o de métricas para registros definidas en un área de trabajo de Log Analytics, los elementos de configuración son los recursos reales que envían los datos, no el área de trabajo.
  • En la API de alertas de búsqueda de registros (reglas de consulta programadas) v2021-08-01, los valores configurationItem se toman de dimensiones definidas explícitamente con esta prioridad: _ResourceId, ResourceId, Resource, Computer.
  • En versiones anteriores de la API de alertas de búsqueda de registros, los valores configurationItem se toman implícitamente de los resultados con esta prioridad: _ResourceId, ResourceId, Resource, Computer.
En los sistemas ITSM, el campo configurationItems se usa para correlacionar alertas con los recursos de una base de datos de administración de configuración.
originAlertId Id. de la instancia de alerta que generó el servicio de supervisión encargado.
firedDateTime Fecha y hora de activación de la instancia de alerta en la hora universal coordinada (UTC).
resolvedDateTime Fecha y hora del momento en que la condición de supervisión de la instancia de alerta se estableció como Resuelta en UTC. Actualmente solo es aplicable a las alertas de métricas.
description Descripción tal como se define en la regla de alertas.
alertRuleID Identificador de la regla de alerta que generó la instancia de alerta.
resourceType Tipo de recurso afectado por la alerta.
resourceGroupName Nombre del grupo de recursos del recurso afectado.
essentialsVersion Número de versión de la sección de información básica.
alertContextVersion Número de versión de la sección alertContext.
investigationLink Vínculo para investigar la alerta en Azure Monitor. Actualmente requiere un registro de versión preliminar limitado.

Campos de contexto de alerta para alertas de métricas

Campo Descripción
properties (Opcional). Colección de propiedades definidas por el cliente.
conditionType Tipo de condición seleccionada para la regla de alertas:
- umbral estático
- umbral dinámico
- webtest
condición
windowSize Período de tiempo analizado por la regla de alertas.
allOf Indica que se deben cumplir todas las condiciones definidas en la regla de alertas para desencadenar una alerta.
alertSensitivity En una regla de alerta con un umbral dinámico, indica la sensibilidad de la regla o lo que puede desviarse del umbral superior o inferior.
failingPeriods En una regla de alerta con un umbral dinámico, se refiere al número de períodos de evaluación que no cumplen el umbral de alerta que desencadena una alerta. Por ejemplo, puede indicar que se desencadene una alerta cuando 3 de los últimos cinco períodos de evaluación no estén dentro de los umbrales de alerta.
numberOfEvaluationPeriods Número total de evaluaciones.
minFailingPeriodsToAlert Mínimo de evaluaciones que no cumplen las condiciones de la regla de alertas.
ignoreDataBefore (Opcional). En una regla de alerta con un umbral dinámico, la fecha a partir de la cual se calcula el umbral. Use este valor para indicar que la regla no debe calcular el umbral dinámico mediante datos de antes de la fecha especificada.
metricName Nombre de la métrica supervisada por la regla de alerta.
metricNamespace Espacio de nombres de la métrica supervisada por la regla de alerta.
operator Operador lógico de la regla de alertas.
threshold Umbral definido en la regla de alertas. Para una regla de alerta con un umbral dinámico, este valor es el umbral calculado.
timeAggregation Tipo de agregación de la regla de alertas.
dimensions Dimensión de métrica que desencadenó la alerta.
name Nombre de la dimensión.
value Valor de la dimensión.
metricValue Valor de la métrica en el momento en que infringió el umbral.
webTestName Si el tipo de condición es webtest, el nombre de la prueba web.
windowStartTime Hora de inicio de la ventana de evaluación en la que se desencadenó la alerta.
windowEndTime Hora de finalización de la ventana de evaluación en la que se desencadenó la alerta.

Alerta de métrica de ejemplo con un umbral estático cuando el valor 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"
      }
    }
}

Alerta de métrica de muestra con un umbral dinámico y el valor 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"
      }
    }
}

Ejemplo de alerta métrica para las pruebas de disponibilidad cuando el valor 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 búsqueda de registros

Nota:

Al habilitar el esquema común, los campos de la carga se restablecen en los campos de esquema comunes. Por lo tanto, las alertas de búsqueda de registros tienen estas limitaciones con respecto al esquema común:

  • El esquema común no se admite para las alertas de búsqueda de registros mediante webhooks con un asunto de correo electrónico personalizado o carga JSON, ya que el esquema común sobrescribe las configuraciones personalizadas.
  • Las alertas que utilizan el esquema común tienen un límite de tamaño superior de 256 KB por alerta. Si la carga de alertas de búsqueda de registros incluye resultados de la búsqueda que hacen que la alerta supere el tamaño máximo, los resultados de la búsqueda no se incrustan en la carga de alertas de búsqueda de registros. Puede comprobar si la carga incluye los resultados de búsqueda con la marca IncludedSearchResults. Use LinkToFilteredSearchResultsAPI o LinkToSearchResultsAPI para acceder a los resultados de la consulta con la API Log Analytics si no se incluyen los resultados de la búsqueda.
Campo Descripción
SearchQuery Consulta definida en la regla de alertas.
SearchIntervalStartTimeUtc Hora de inicio de la ventana de evaluación en la que se desencadenó la alerta en UTC.
SearchIntervalEndTimeUtc Hora de finalización de la ventana de evaluación en la que se desencadenó la alerta en UTC.
ResultCount Número de registros que devolvió la consulta. Para las reglas de medición de métricas, el número de registros que coinciden con la combinación de dimensión específica.
LinkToSearchResults Vínculo a los resultados de la búsqueda.
LinkToFilteredSearchResultsUI En el caso de las reglas de medición de métricas, el vínculo a los resultados de la búsqueda después de que las combinaciones de dimensiones las filtre.
LinkToSearchResultsAPI Vínculo a los resultados de la consulta mediante la API de Log Analytics.
LinkToFilteredSearchResultsAPI En el caso de las reglas de medición de métricas, el vínculo a los resultados de la búsqueda mediante la API de Log Analytics después de que las combinaciones de dimensiones las filtre.
SearchIntervalDurationMin Número total de minutos en el intervalo de búsqueda.
SearchIntervalInMin Número total de minutos en el intervalo de búsqueda.
Umbral Umbral definido en la regla de alertas.
Operador Operador definido en la regla de alertas.
ApplicationID Identificador de Application Insights en el que se desencadenó la alerta.
Dimensions En el caso de las reglas de medición de métricas, las dimensiones de métricas en las que se desencadenó la alerta.
name Nombre de la dimensión.
value Valor de la dimensión.
SearchResults Resultados de la búsqueda completos.
mesa Tabla de resultados en los resultados de la búsqueda.
name Nombre de la tabla en los resultados de la búsqueda.
columnas Columnas de la tabla.
name El nombre de la columna.
tipo El tipo de la columna.
rows Filas de la tabla.
DataSources Orígenes de datos en los que se desencadenó la alerta.
resourceID Identificador de recurso afectado por la alerta.
Tablas Las tablas de respuesta de borrador incluidas en la consulta.
IncludedSearchResults Marca que indica si la carga debe contener los resultados.
AlertType Tipo de alerta:
- Medida de la métrica
- Número de resultados

Alerta de búsqueda de registros de ejemplo cuando 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"
  }
}

Alerta de búsqueda de registros de ejemplo cuando 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"
  }
}

Alerta de búsqueda de registros de ejemplo cuando monitoringService = Log Alerts V2

Nota:

Las reglas de alertas de búsqueda de registros de la versión de API 2020-05-01 usan este tipo de carga, que solo admite un esquema común. Los resultados de la búsqueda no se insertan en la carga de las alertas de búsqueda de registros cuando se usa esta versión. Use dimensiones para proporcionar contexto a las alertas desencadenadas. También puede usar LinkToFilteredSearchResultsAPI o LinkToSearchResultsAPI para acceder a los resultados de la consulta con la API de Log Analytics. Si necesita insertar los resultados, use una aplicación lógica con los vínculos proporcionados para generar una 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 del registro de actividad

Consulte Esquema de eventos del registro de actividad de Azure para obtener información detallada sobre los campos de las alertas del registro de actividad.

Alerta de registro de actividad de ejemplo cuando monitoringService = Registro de actividad: 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"
    }
}

Alerta de registro de actividad de ejemplo cuando monitoringService = Registro de actividad: directiva

{
  "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"
  }
}

Alerta de registro de actividad de ejemplo cuando monitoringService = Registro de actividad: escalabilidad automática

{
  "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"
  }
}

Alerta de registro de actividad de ejemplo cuando monitoringService = Registro de actividad: seguridad

{
  "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"
  }
}

Alerta de registro de actividad de ejemplo cuando 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
  }
}

Alerta de registro de actividad de ejemplo cuando 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 de Prometheus

Consulte Grupos de reglas del servicio administrado para Prometheus de Azure Monitor (versión preliminar) para obtener información detallada sobre los campos de las alertas de Prometheus.

Alerta de ejemplo de 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 propiedades personalizadas

Si la regla de alerta que generó su alerta contiene grupos de acciones, las propiedades personalizadas pueden contener información adicional sobre la alerta. La sección de propiedades personalizadas contiene objetos "clave: valor" que se agregan a las notificaciones de webhook.

Si las propiedades personalizadas no se establecen en la regla de alertas, el campo es nulo.

Habilitar el esquema de alerta común

Use grupos de acciones en Azure Portal o use la API de REST para habilitar el esquema de alertas comunes. Los esquemas se definen en el nivel de acción. Por ejemplo, debe habilitar por separado el esquema para una acción de correo electrónico y para una acción de webhook.

Habilitar el esquema común en Azure Portal

Captura de pantalla que muestra la opción de participación para el esquema de alertas comunes.

  1. Abra una acción existente o nueva en un grupo de acciones.
  2. Seleccione para habilitar el esquema de alertas comunes.

Habilitar el esquema común mediante la API de REST

También puede usar la API de grupos de acciones para participar en el esquema de alertas comunes. En la llamada a la API de REST crear o actualizar,

  • Establezca la marca "useCommonAlertSchema" en true para habilitar el esquema común.
  • Establezca la marca "useCommonAlertSchema" en false para usar el esquema no común para las acciones de runbook de correo electrónico, webhook, Logic Apps, Azure Functions o Runbook de Automation.

Llamada de API de REST de ejemplo para usar el esquema común

La siguiente solicitud de API de REST crea o actualiza:

  • Habilitar el esquema de alertas comunes para la acción de correo electrónico "John Doe's email".
  • Deshabilitar el esquema de alertas comunes para la acción de correo electrónico "Jane Smith's email".
  • Habilitar el esquema de alertas comunes para la acción de webhook "Sample 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": {}
}

Pasos siguientes