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 a la instancia de alerta en el portal y al recurso afectado garantizan que pueda acceder rápidamente al proceso de remediació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 esenciales

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.
severidad Gravedad de la alerta. Valores posibles: Sev0, Sev1, Sev2, Sev3 o Sev4.
tipo de señal Identifica la señal en que se definió la regla de alertas. Valores posibles: Métrica, Registro o Registro de actividad.
condición del monitor 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 objetivos afectados por 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.
elementos de configuración Lista de recursos afectados por 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 El ID de la instancia de alerta, generado por el servicio de supervisión que la genera.
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.
descripción Descripción tal como se define en la regla de alertas.
alertRuleID Identificador de la regla de alerta que generó la instancia de alerta.
tipoDeRecurso Tipo de recurso afectado por la alerta.
nombreDelGrupoDeRecursos 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 métricas

Campo Descripción
propiedades (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
  • prueba web
condición
tamaño de ventana 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, se indica cuán sensible es la regla o cuánto puede desviarse el valor del umbral superior o inferior.
failingPeriods En una regla de alerta con un umbral dinámico, el número de períodos de evaluación que no cumplen con el umbral de alerta y que provocan 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.
númeroDePeriodosDeEvaluación Número total de evaluaciones.
minFailingPeriodsToAlert El número 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.
operador 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.
Dimensiones Dimensión métrica que desencadenó la alerta.
nombre Nombre de la dimensión.
valor 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.
hora de fin de ventana 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 pruebas de disponibilidad cuando 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 es compatible con las alertas de búsqueda de registros mediante webhooks cuando se utiliza un asunto de correo electrónico personalizado y/o una carga útil 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.
Enlace a resultados de búsqueda 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.
API de enlace a resultados de búsqueda (LinkToSearchResultsAPI) Vínculo a los resultados de la consulta mediante la API de Log Analytics.
LinkToFilteredSearchResultsAPI (Enlace a API de Resultados de Búsqueda Filtrados) 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.
IntervaloDeBúsquedaEnMin 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.
Dimensiones En el caso de las reglas de medición de métricas, las dimensiones de métricas en las que se desencadenó la alerta.
nombre Nombre de la dimensión.
valor Valor de la dimensión.
Resultados de búsqueda Resultados de la búsqueda completos.
tabla Tabla de resultados en los resultados de la búsqueda.
nombre Nombre de la tabla en los resultados de la búsqueda.
columnas Las columnas de la tabla.
nombre Nombre de la columna.
tipo El tipo de la columna.
rows Filas de la tabla.
Fuentes de Datos Orígenes de datos en los que se desencadenó la alerta.
Identificador de recurso Identificador de recurso afectado por la alerta.
tablas Las tablas de respuesta de borrador incluidas en la consulta.
Resultados de búsqueda incluidos Indicador que indica si la carga útil debe contener los resultados.
Tipo de Alerta Tipo de alerta:
- Medición 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": "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
  }
}

Alerta de registro de actividad de ejemplo cuando el servicio de monitorización es "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 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 activación del esquema común de alertas.

  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 REST de creación o actualización :

  • 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