Compartilhar via


Gerenciar regras de alerta criadas em versões anteriores

Este artigo descreve o processo de gerenciamento de regras de alerta criadas na interface do usuário anterior ou usando a versão da API 2018-04-16 ou anterior. As regras de alerta criadas na interface do usuário mais recente são exibidas e gerenciadas na nova interface do usuário, conforme descrito em Criar, exibir e gerenciar alertas de pesquisa de logs usando o Azure Monitor.

Alterações na experiência de criação de regras de alerta de pesquisa de logs

O assistente de regra de alerta atual é diferente da experiência anterior:

  • Anteriormente, os resultados da pesquisa eram incluídos no conteúdo do alerta disparado e nas notificações a ele associadas. O email incluía apenas dez linhas dos resultados não filtrados, enquanto o conteúdo do webhook continha mil resultados não filtrados. Para obter informações de contexto detalhadas sobre o alerta para que você possa decidir sobre a ação apropriada:

    • É recomendável usar dimensões. As dimensões fornecem o valor da coluna que acionou o alerta, que apresenta o contexto do motivo de acionamento do alerta e como corrigir o problema.
    • Quando você precisar investigar isso nos logs, use o link do alerta para os resultados da pesquisa nos logs.
    • Caso você precise dos resultados brutos da pesquisa ou de qualquer outra personalização avançada, use os Aplicativos Lógicos do Azure.
  • O assistente de nova regra de alerta não dá suporte à personalização de conteúdo JSON.

    • Use as propriedades personalizadas da nova API para adicionar parâmetros estáticos e valores associados às ações de webhook disparadas pelo alerta.
    • Para personalizações mais avançadas, use os Aplicativos Lógicos do Azure.
  • O assistente de nova regra de alerta não dá suporte à personalização do assunto do email.

    • Os clientes geralmente usam um assunto de email personalizado para indicar o recurso em que o alerta foi disparado, em vez de usar o workspace do Log Analytics. Use a nova API para disparar um alerta do recurso desejado usando a coluna da ID do recurso.
    • Para personalizações mais avançadas, use os Aplicativos Lógicos do Azure.

Gerenciar as regras de alerta criadas em versões anteriores no portal do Azure

  1. No portal do Azure, selecione o recurso que você deseja.

  2. Em Monitoramento, selecione Alertas.

  3. Na barra de ações superior, selecione Regras de alerta.

  4. Selecione a regra de alerta que você deseja editar.

  5. Na barra de ações superior, selecione Editar.

  6. Configurar a lógica de sinal:

    1. Na seção Condição selecione a condição.

    2. O painel Configurar lógica de sinal é aberto exibindo um gráfico com os dados históricos para a consulta. Você pode alterar o Intervalo de tempo do gráfico para exibir dados das últimas seis horas até a semana passada.

      Se os resultados da consulta contiverem dados resumidos ou colunas específicas sem a coluna de tempo, o gráfico mostrará um único valor.

      Captura de tela que mostra o painel Configurar lógica de sinal.

    3. Edite as condições da regra de alerta usando estas seções:

      • Consulta de pesquisa: nesta seção, você pode modificar sua consulta.

      • Lógica do alerta: os alertas de pesquisa de logs podem ser baseados em dois tipos de medidas:

        • Número de resultados: número de registros retornados pela consulta.

        • Medição métrica: o valor agregado é calculado usando summarize agrupando pelas expressões escolhidas e a seleção bin(). Por exemplo:

          // 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)
          

        Para a lógica de alerta de medições de métricas, você pode especificar como dividir os alertas por dimensões usando a opção Agrupar por. A expressão de agrupamento de linhas deve ser exclusiva e classificada.

        A função bin() pode resultar em intervalos de tempo desiguais, portanto, o serviço de alerta converte automaticamente a função bin() para a função bin_at() com tempo adequado no runtime para garantir resultados com um ponto fixo.

        Observação

        A opção Dividir por dimensões de alerta está disponível apenas para a API scheduleQueryRules atual. Se você usar a API herdada de Alerta do Log Analytics, precisará mudar. Saiba mais sobre comutação. Os alertas centrados em recursos em escala têm suporte apenas na versão da API 2021-08-01 e posteriores.

        Captura de tela que mostra Agregar em.

      • Escolha o intervalo de tempo sobre o qual avaliar a condição especificada usando a opção Período .

    4. Ao terminar de editar as condições, selecione Concluído.

    5. Use os dados de visualização para definir o operador, o valor do limite e a frequência.

    6. Ao usar Medição de métrica, defina o Disparar alerta com base em usando Violações totais ou consecutivas para determinar o número de violações de condição que disparam o alerta.

    7. Selecione Concluído.

  7. (Opcional) Personalizar ações:

    • Assunto de e-mail personalizado: Substitui o assunto do e-mail da ação de e-mail. Não é possível modificar o corpo do email e este campo não é destinado para endereços de email.

    • Incluir o payload Json personalizado para webhook: substitui o webhook JSON usado pelos grupos de ações, presumindo que o grupo de ação contém uma ação de webhook. Saiba mais sobre as ações de webhook para alertas de pesquisa de logs.

  8. Definir detalhes da regra de alerta:

    1. Você pode editar a Descrição e a Gravidade da regra. Esses detalhes são usados em todas as ações de alerta. Você também pode optar por não ativar a regra de alerta na criação, selecionando Habilitar regra na criação.

    2. Use a opção Silenciar ações se quiser suprimir as ações de regra por um tempo especificado após um alerta ser acionado. A regra ainda será executada e criará alertas, mas as ações não serão disparadas para evitar ruídos. Para ser eficaz, o valor Desativar notificação de ações para deve ser maior do que a frequência do alerta.

      Captura de tela que mostra a opção 'Suprimir alertas'.

    3. Para tornar os alertas com estado persistente, selecione Resolver alertas automaticamente.

    4. Especifique se a regra de alerta deverá disparar um ou mais grupos de ações quando a condição de alerta for atendida. Para conhecer os limites das ações que podem ser executadas, confira Limites de serviço do Azure Monitor.

  9. Depois que terminar de editar todas as opções de regra de alerta, selecione Salvar.

Gerenciar alertas de pesquisa de logs usando o PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Use os cmdlets do PowerShell a seguir para gerenciar regras com a API de Regras de Consulta Agendada:

Cmdlet do PowerShell Descrição
New-AzScheduledQueryRule Cmdlet do PowerShell para criar uma nova regra de alerta de pesquisa de log.
Set-AzScheduledQueryRule Cmdlet do PowerShell para atualizar uma regra de alerta de pesquisa de log existente.
New-AzScheduledQueryRuleSource Cmdlet do PowerShell para criar ou atualizar o objeto que especifica os parâmetros de origem para um alerta de consulta de log. Usado como entrada pelos cmdlets New-AzScheduledQueryRule e Set-AzScheduledQueryRule.
New-AzScheduledQueryRuleSchedule Cmdlet do PowerShell para criar ou atualizar o objeto que especifica parâmetros de agendamento para um alerta de consulta de log. Usado como entrada pelos cmdlets New-AzScheduledQueryRule e Set-AzScheduledQueryRule.
New-AzScheduledQueryRuleAlertingAction Cmdlet do PowerShell para criar ou atualizar o objeto que especifica parâmetros de ação para um alerta de pesquisa de log. Usado como entrada pelos cmdlets New-AzScheduledQueryRule e Set-AzScheduledQueryRule.
New-AzScheduledQueryRuleAznsActionGroup Cmdlet do PowerShell para criar ou atualizar o objeto que especifica parâmetros de grupo de ações para um alerta de pesquisa em log. Usado como entrada pelo cmdlet New-AzScheduledQueryRuleAlertingAction.
New-AzScheduledQueryRuleTriggerCondition Cmdlet do PowerShell para criar ou atualizar objeto que especifica parâmetros de condições de ativação para um alerta de pesquisa de log. Usado como entrada pelo cmdlet New-AzScheduledQueryRuleAlertingAction.
New-AzScheduledQueryRuleLogMetricTrigger Cmdlet do PowerShell para criar ou atualizar o objeto que especifica parâmetros de condição de gatilho de métrica para um alerta de pesquisa de log de medição de métrica. Usado como entrada pelo cmdlet New-AzScheduledQueryRuleTriggerCondition.
Get-AzScheduledQueryRule Cmdlet do PowerShell que lista as regras de alerta de pesquisa de log existentes ou uma regra específica de alerta de pesquisa de log.
Update-AzScheduledQueryRule Cmdlet do PowerShell para habilitar ou desabilitar uma regra de alerta de consulta de logs.
Remove-AzScheduledQueryRule Cmdlet do PowerShell para excluir uma regra de alerta de pesquisa de log existente.

Observação

Os cmdlets do PowerShell ScheduledQueryRules somente podem gerenciar as regras criadas nesta versão da API de Regras de Consulta Agendada. As regras de alerta de pesquisa de logs criadas usando a API de Alertas do Log Analytics herdada somente podem ser gerenciadas usando o PowerShell após alternar para a API de Regras de Consulta Agendada.

Etapas de exemplo para criar uma regra de alerta de pesquisa de logs usando o 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"

Etapas de exemplo para criar uma regra de alerta de pesquisa de logs usando o PowerShell com consultas de recursos cruzados:

$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" 

Também é possível criar o alerta de pesquisa de logs utilizando arquivos de um modelo e de parâmetros usando o PowerShell:

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

Próximas etapas