Administración de reglas de alertas creadas en versiones anteriores

En este artículo se describe cómo administrar las reglas de alertas creadas en la interfaz de usuario previa o mediante la versión de API 2018-04-16 o anterior. Las reglas de alertas creadas en la interfaz de usuario más reciente se visualizan y administran desde la nueva interfaz de usuario, tal como se describe en Creación, visualización y administración de alertas de búsqueda de registros mediante Azure Monitor.

Cambios en la experiencia de creación de reglas de alertas de búsqueda de registros

El Asistente para reglas de alertas actual es diferente al de la experiencia anterior:

  • Anteriormente, los resultados de la búsqueda se incluían en las cargas de la alerta desencadenada y sus notificaciones asociadas. El correo electrónico solo incluía 10 filas de los resultados sin filtrar, mientras que la carga del webhook contenía 1,000 resultados sin filtrar. Para obtener información de contexto detallada sobre la alerta para que pueda decidir la acción adecuada:
    • Se recomienda usar dimensiones. Las dimensiones proporcionan el valor de la columna que ha desencadenado la alerta, lo que le proporciona contexto para saber por qué se ha desencadenado la alerta y cómo corregir el problema.
    • Cuando tenga que investigar en los registros, use el vínculo de la alerta a los resultados de la búsqueda en los registros.
    • Si necesita los resultados de la búsqueda sin procesar o para cualquier otra personalización avanzada, utilice Azure Logic Apps.
  • El asistente para nuevas reglas de alertas no admite la personalización de la carga JSON.
    • Use propiedades personalizadas en la nueva API para agregar parámetros estáticos y valores asociados a las acciones de webhook desencadenadas por la alerta.
    • Para personalizaciones más avanzadas, use Logic Apps.
  • El asistente para nuevas reglas de alertas no admite la personalización del asunto de correo electrónico.
    • A menudo, los clientes usan el asunto de correo electrónico personalizado para indicar el recurso en el que se ha desencadenado la alerta, en lugar de usar el área de trabajo de Log Analytics. Use la nueva API para desencadenar una alerta del recurso deseado mediante la columna de identificador de recurso.
    • Para personalizaciones más avanzadas, use Logic Apps.

Administrar reglas de alerta creadas en versiones anteriores en Azure Portal

  1. En Azure Portal, seleccione el recurso que desee.

  2. En Supervisión, seleccione Alertas.

  3. En la barra superior, seleccione Reglas de alerta.

  4. Seleccione la regla de alertas que desea editar.

  5. En la sección Condición, seleccione un valor.

  6. Se abrirá el panel de Configurar lógica de señal, en el que los datos históricos de la consulta se muestran en un gráfico. Puede cambiar el Intervalo de tiempo del gráfico para mostrar datos que abarcan desde las últimas seis horas a la última semana. Si los resultados de la consulta contienen datos resumidos o columnas específicas sin la columna de hora, el gráfico mostrará un solo valor.

    Screenshot that shows the Configure signal logic pane.

  7. Edite las condiciones de la regla de alertas desde las siguientes secciones:

    • Buscar consulta: en esta sección, puede modificar la consulta.

    • Lógica de alertas: las alertas de búsqueda de registros pueden basarse en dos tipos de medidas:

      1. Número de resultados: recuento de registros devueltos por la consulta.
      2. Medida de métricas: el Valor agregado se calcula mediante summarize agrupadas de acuerdo con las expresiones elegidas y la selección de bin(). Por ejemplo:
        // Reported errors
        union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
        | where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
        or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records
        | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
        

      Respecto a la lógica de alertas de medida métricas, puede especificar cómo dividir las alertas por dimensiones con ayuda de la opción Agregar en. La expresión de agrupación de filas debe ser única y estar ordenada.

      Dado que bin() puede generar intervalos de tiempo desiguales, el servicio de alertas convierte automáticamente la función bin() en binat() con el valor temporal adecuado en tiempo de ejecución para garantizar resultados con un punto fijo.

      Nota

      La opción División por dimensiones de alerta solo está disponible en la scheduledQueryRules de la API actual. Si usa la API de alertas de Log Analytics heredada, tendrá que cambiarla. Más información sobre cómo cambiar. Las alertas orientadas a recursos a gran escala solo se admiten en la versión 2021-08-01 y versiones posteriores de la API.

      Screenshot that shows Aggregate on.

    • Periodo: elija el intervalo de tiempo durante el que se va a evaluar la condición especificada, mediante la opción Periodo.

  8. Cuando haya terminado de editar las condiciones, seleccione Listo.

  9. Use los datos de vista previa para establecer los ajustes para Operador, Valor de umbral y Frecuencia.

  10. Establezca el número de vulneraciones que desencadenará la alerta mediante Vulneraciones totales o consecutivas.

  11. Seleccione Listo.

  12. Puede editar las opciones Descripción y Gravedad de la regla. Estos detalles se usan en todas las acciones de alerta. También puede elegir no activar la regla de alertas al crearla si selecciona Habilitar regla tras la creación.

  13. Use la opción Desactivar alertas si desea suprimir las acciones de regla durante un período de tiempo específico después de que se active una alerta. La regla seguirá ejecutándose y creará alertas, pero no se desencadenarán las acciones para evitar ruido. El valor de Silenciar acciones debe ser mayor que la frecuencia de la alerta para que resulte efectivo.

    Screenshot that shows the Alert Details pane.

  14. Para que las alertas tengan un estado, seleccione Resolver automáticamente alertas (versión preliminar).

  15. Especifique si la regla de alertas debe desencadenar uno o varios grupos de acciones cuando se cumpla la condición de alerta. Para conocer los límites de las acciones que se pueden realizar, consulte Límites de servicio de Azure Monitor.

  16. (Opcional) Personalización de acciones en reglas de alertas de búsqueda de registros:

    • Asunto del correo electrónico personalizado: invalida el asunto del correo electrónico de las acciones de correo electrónico. No se puede modificar el cuerpo del mensaje de correo y este campo no es para la dirección de correo electrónico.
    • Incluir carga de JSON personalizada para el webhook: invalida el JSON de webhook que usan los grupos de acciones, suponiendo que el grupo de acciones contiene una acción de webhook. Obtenga más información sobre las acciones del webhook para las alertas de búsqueda de registros.

    Screenshot that shows Action overrides for log search alerts.

  17. Cuando haya terminado de editar todas las opciones de la regla de alertas, seleccione Guardar.

Administración de alertas de búsqueda de registros mediante PowerShell

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Utilice los siguientes cmdlets de PowerShell para administrar reglas mediante la API Reglas de consulta programadas:

Nota:

Los cmdlets de PowerShell ScheduledQueryRules solo pueden administrar las reglas creadas en esta versión de la API Reglas de consulta programadas. Las reglas de alertas de búsqueda de registros creadas con la API de alertas de Log Analytics heredada solo se pueden administrar con PowerShell después de cambiar a la API Reglas de consulta programadas.

Pasos de ejemplo para crear una regla de alertas de búsqueda de registros mediante PowerShell:

$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews"
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name"

Pasos de ejemplo para crear una regla de alertas de búsqueda de registros mediante PowerShell con consultas entre recursos:

$authorized = @ ("/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicewsCrossExample", "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/components/serviceAppInsights")
$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews" -AuthorizedResource $authorized
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name" 

También puede crear la alerta de búsqueda de registros con una plantilla y archivos de parámetros mediante PowerShell:

Connect-AzAccount
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name AlertDeployment -ResourceGroupName ResourceGroupofTargetResource `
  -TemplateFile mylogalerttemplate.json -TemplateParameterFile mylogalerttemplate.parameters.json

Pasos siguientes