Criar ou editar uma regra de alerta de pesquisa de log
Esse artigo mostra como criar uma nova regra de alerta de pesquisa de log ou editar uma regra de alerta de pesquisa de log existente no Azure Monitor. Para saber mais sobre alertas, confira a visão geral dos alertas.
As regras de alerta combinam os recursos a serem monitorados, os dados de monitoramento do recurso e as condições que você deseja que acionem o alerta. Em seguida, você pode definir grupos de ações e regras de processamento de alerta para determinar o que acontece quando um alerta é disparado.
Os alertas disparados por essas regras de alerta incluem um conteúdo que usa o esquema de alerta comum.
Pré-requisitos
Para criar ou editar uma regra de alerta, você deve ter as seguintes permissões:
- Permissão de leitura no recurso de destino da regra de alerta.
- Permissão de gravação no grupo de recursos no qual a regra de alerta é criada. Se você estiver criando a regra de alerta no portal do Azure, a regra de alerta será criada por padrão no mesmo grupo de recursos em que reside o recurso de destino.
- Permissão de leitura em qualquer grupo de ações associado à regra de alerta, se aplicável.
Acessar o assistente de regra de alerta no portal do Azure
Há várias maneiras de criar ou editar uma regra de alerta.
Criar ou editar uma regra de alerta na home page do portal
- No portal do Azure, selecione Monitor.
- No painel esquerdo, selecione Alertas.
- Clique em + Criar>Regra de Alerta.
Criar ou editar uma regra de alerta de um recurso específico
- No portal do Azure, vá para o recurso.
- No painel esquerdo, selecione Alertas.
- Clique em + Criar>Regra de Alerta.
Editar uma regra de alerta existente
No portal do Azure, na home page ou em um recurso específico, selecione Alertas no painel esquerdo.
Selecione Regras de alertas.
Selecione a regra de alerta que você quer editar e, a seguir, selecione Editar.
Selecione qualquer uma das guias da regra de alerta para editar as configurações.
Configurar o escopo da regra de alerta
No painel Selecionar um recurso, defina o escopo da regra de alerta. Filtre o conteúdo por assinatura, tipo de recurso ou local do recurso.
Escolha Aplicar.
Configurar condições de regra de alerta
Na guia Condição, quando você selecionar o campo Nome do sinal, selecione Pesquisa de log personalizada. Ou selecione Ver todos os sinais se você quiser escolher um sinal diferente para a condição.
(Opcional) Se você selecionou Ver todos os sinais na etapa anterior, use o painel Selecionar um sinal para pesquisar o nome do sinal ou filtrar a lista de sinais. Filtrar por:
- Tipo de sinal: selecione a pesquisa de log.
- Origem do sinal: o serviço que envia os sinais de Pesquisa de log personalizada e Log (consulta salva). Selecione o nome do sinal e selecione Aplicar.
No painel Logs, escreva uma consulta que retorne os eventos de log para os quais você deseja criar um alerta. Para usar uma das consultas de regra de alerta predefinidas, expanda o painel Esquema e filtro ao lado do painel Logs. Em seguida, selecione a guia Consultas e escolha uma das consultas.
Esteja ciente dessas limitações das consultas de regra de alerta de pesquisa de logs:
- As consultas de regra de alerta de pesquisa de logs não dão suporte a
bag_unpack()
,pivot()
enarrow()
. - As consultas de regra de alerta de pesquisa de logs dão suporte apenas a ago() (atrás) com literais de intervalo de tempo.
AggregatedValue
é uma palavra reservada. Você não pode usá-la na consulta de regras de alerta de pesquisa de logs.- O tamanho combinado de todos os dados nas propriedades das regras de alerta de pesquisa de logs não pode exceder 64 KB.
- Ao definir funções personalizadas na consulta KQL para alertas de pesquisa de logs, é importante ter cuidado com o código de função que inclui cláusulas de tempo relativo (por exemplo, agora()). As funções personalizadas com cláusulas de tempo relativo que não são definidas na consulta KQL de alerta de pesquisa de logs em si podem introduzir inconsistências nos resultados da consulta, potencialmente afetando a precisão e a confiabilidade das avaliações de alerta. Portanto:
- Para garantir alertas precisos e oportunos, sempre defina as cláusulas de tempo relativo diretamente na consulta KQL do alerta de pesquisa de logs.
- Se forem necessários intervalos de tempo dentro da função, eles deverão ser passados como parâmetros e usados na função.
- As consultas de regra de alerta de pesquisa de logs não dão suporte a
(Opcional) Se você estiver consultando um cluster do Azure Data Explorer ou do Azure Resource Graph, o workspace do Log Analytics não poderá identificar a coluna com o carimbo de data/hora do evento automaticamente. Recomendamos que você adicione um filtro de intervalo de tempo à consulta. Por exemplo:
adx('https://help.kusto.windows.net/Samples').table | where MyTS >= ago(5m) and MyTS <= now()
arg("").Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project _ResourceId=tolower(id), tags
As amostras de consultas de alerta de pesquisa de logs estão disponíveis para o Azure Data Explorer e o Resource Graph.
As consultas entre serviços em nuvens do governo não têm suporte. Para obter mais informações sobre limitações, confira Limitações de consultas entre serviços e Combinar tabelas do Azure Resource Graph com um workspace do Log Analytics.
Clique em Executar para executar o alerta.
A seção Visualização mostra os resultados da consulta. Quando terminar de editar sua consulta, selecione Continuar editando o alerta.
A guia Condição se abre, já preenchida com sua consulta de log. Por padrão, a regra conta o número de resultados dos últimos cinco minutos. Se o sistema detectar resultados de consulta resumidos, a regra será atualizada automaticamente com essas informações.
Na seção Medida, selecione os valores para estes campos:
Campo Descrição Medida Os alertas de pesquisa de logs podem medir duas coisas que você pode usar para vários cenários de monitoramento:
Linhas de tabela: você pode usar o número de linhas retornadas para trabalhar com eventos como logs de eventos do Windows, Syslog e exceções de aplicativo.
Cálculo de uma coluna numérica: você pode usar cálculos baseados em qualquer coluna numérica para incluir qualquer número de recursos. Um exemplo é o percentual de CPU.Tipo de agregação O cálculo feito em diversos registros para agregá-los em um valor numérico usando a granularidade de agregação. Alguns exemplos são Total, Médio, Mínimo e Máximo. Granularidade de agregação O intervalo para agregar vários registros a um valor numérico. (Opcional) Na seção Dividir por dimensões, você pode usar dimensões para ajudar a fornecer contexto para o alerta disparado.
As dimensões são colunas dos resultados da consulta que contêm dados adicionais. Quando você usa dimensões, a regra de alerta agrupa os resultados da consulta pelos valores de dimensão e avalia os resultados de cada grupo separadamente. Se a condição for atendida, a regra disparará um alerta para esse grupo. O conteúdo do alerta inclui a combinação que disparou o alerta.
Você pode aplicar até seis dimensões por regra de alerta. As dimensões podem ser apenas cadeias de caracteres ou colunas numéricas. Se você quiser usar uma coluna que não seja um número ou um tipo de cadeia de caracteres como uma dimensão, você deverá convertê-la em uma cadeia de caracteres ou valor numérico em sua consulta. Se você selecionar mais de um valor de dimensão, cada série temporal resultante da combinação disparará seu próprio alerta e será cobrada separadamente.
Por exemplo:
- Você pode usar as dimensões para monitorar o uso da CPU em várias instâncias que estiverem em execução no seu site ou aplicativo. Cada instância é monitorada individualmente e as notificações são enviadas para cada instância em que o uso da CPU excede o valor configurado.
- Você pode decidir não dividir por dimensões quando quiser uma condição aplicada a vários recursos no escopo. Por exemplo, você não usaria dimensões se desejasse disparar um alerta se pelo menos cinco máquinas no escopo do grupo de recursos tivessem uso de CPU acima do valor configurado.
De modo geral, se o escopo da sua regra de alerta for um workspace, os alertas serão disparados no workspace. Se você quiser um alerta separado para cada recurso do Azure afetado, você pode:
Use a coluna ID do Recurso do Azure do Azure Resource Manager como uma dimensão. Quando você usa essa opção, o alerta é acionado no workspace tendo a coluna de ID do Recurso do Azure como uma dimensão.
Especifique o alerta como uma dimensão na propriedade ID do Recurso do Azure. Com essa opção, o alvo do alerta passa a ser o recurso que a sua consulta retorna. Os alertas são, então, disparados no recurso que sua consulta retorna, como, por exemplo, uma máquina virtual ou uma conta de armazenamento, e não no workspace.
Quando você usa essa opção, se o workspace obtiver dados de recursos em mais de uma assinatura os alertas poderão ser disparados em recursos de uma assinatura que seja diferente da assinatura da regra do alerta.
Selecione valores para estes campos:
Campo Descrição Nome da dimensão As dimensões podem ser colunas de número ou cadeia de caracteres. As dimensões são usadas para monitorar séries temporárias específicas e fornecem contexto para um alerta acionado. Operador O operador que é usado no nome e no valor da dimensão. Valores de dimensão Os valores de dimensão se baseiam nos dados de métrica das últimas 48 horas. Selecione Adicionar valor personalizado para adicionar valores de dimensão personalizados. Incluir todos os valores futuros Selecione este campo para incluir quaisquer valores futuros adicionados à dimensão selecionada. Na seção Lógica de alerta, selecione os valores para estes campos:
Campo Descrição Operador Os resultados da consulta são transformados em um número. Nesse campo, selecione o operador a ser usado para comparar o número ao limite. Valor limite Um valor numérico para o limite. Frequência de avaliação A frequência de execução da consulta. Você pode defini-lo em qualquer ponto entre um minuto e um dia (24 horas). Observação
A frequência não é uma hora específica em que o alerta é executado todos os dias, mas a frequência com que a regra de alerta é executada.
Existem algumas limitações para o uso de uma frequência de regra de alerta de um minuto. Quando você define a frequência da regra de alerta como um minuto, uma manipulação interna é executada para otimizar a consulta. Essa manipulação poderá fazer com que a consulta falhe se ela contiver operações sem suporte. Os motivos mais comuns pelos quais uma consulta não tem suporte são os seguintes:
- A consulta contém a operação
search
,union
outake
(limite). - A consulta contém a função
ingestion_time()
. - A consulta usa o padrão
adx
. - A consulta chama uma função que chama outras tabelas.
As amostras de consultas de alerta de pesquisa de logs estão disponíveis para o Azure Data Explorer e o Resource Graph.
- A consulta contém a operação
(Opcional) Na seção Opções avançadas, você pode especificar o número de falhas e o período de avaliação do alerta que é necessário para disparar um alerta. Por exemplo, se definir a Granularidade de agregação como 5 minutos, você poderá especificar que quer disparar um alerta somente se três falhas (15 minutos) tiverem ocorrido na última hora. A política de negócios do seu aplicativo determina essa configuração.
Selecione valores para esses campos em Número de violações para disparar o alerta:
Campo Descrição Número de violações O número de violações para disparar o alerta. Período de avaliação O período no qual ocorre o número de violações. Substituir intervalo de tempo da consulta Se você quiser que o período de avaliação do alerta seja diferente do intervalo de tempo da consulta, insira um intervalo de tempo aqui.
O intervalo de tempo do alerta é limitado ao máximo de dois dias. Mesmo que a consulta contenha um comandoago
com um intervalo de tempo de mais de dois dias, o intervalo de tempo máximo de dois dias será aplicado. Por exemplo, mesmo que o texto da consulta contenhaago(7d)
, a consulta somente examinará um período de até dois dias de dados. Caso a consulta exija mais dados do que a avaliação de alerta, você poderá alterar o intervalo de tempo manualmente. Se a consulta contiver um comandoago
, este será alterado automaticamente para dois dias (48 horas).Observação
Se você ou o seu administrador tiverem atribuído a política do Azure Os Alertas da Pesquisa de Logs do Azure nos workspaces do Log Analytics precisam usar chaves gerenciadas pelo cliente, você precisa selecionar a opção Verificar o armazenamento vinculado ao workspace. Se você não fizer isso, a criação da regra falhará porque ela não atenderá aos requisitos de política.
O gráfico Visualização mostra os resultados das avaliações de consultas ao longo do tempo. É possível alterar o período do gráfico ou selecionar diferentes séries temporais que resultaram de uma divisão de alerta por dimensões exclusivo.
Selecione Concluído. Desse ponto em diante, você pode selecionar o botão Revisar + criar a qualquer momento.
Configurar ações de regra de alerta
Na guia Ações, selecione ou crie os grupos de ações necessários.
Configurar detalhes da regra de alerta
Na guia Detalhes, em Detalhes do Projeto, selecione os valores Assinatura e Grupo de recursos.
Em Detalhes da regra de alerta:
Selecione o valor de Gravidade.
Insira os valores para Nome da regra de alerta e Descrição da regra de alerta.
Observação
Uma regra que usa uma identidade não pode conter o caractere ponto e vírgula (;) no valor Nome da regra de alerta.
Selecione o valor Região.
Na seção Identidade, selecione qual identidade a regra de alerta de pesquisa de logs deve usar para a autenticação ao enviar a consulta de log.
Tenha os seguintes pontos em mente ao selecionar uma identidade:
- Uma identidade gerenciada é obrigatória se você estiver enviando uma consulta para o Azure Data Explorer ou Resource Graph.
- Use uma identidade gerenciada para conseguir ver ou editar as permissões associadas à regra de alerta.
- Se você não usar uma identidade gerenciada, as permissões da regra de alerta serão baseadas nas permissões do último usuário a ter editado a regra, no momento em que a regra foi editada pela última vez.
- O uso de uma identidade gerenciada ajudará você a evitar um caso em que a regra não funcionará conforme o esperado porque o usuário que editou a regra pela última vez não tinha permissões para todos os recursos adicionados ao escopo da regra.
A identidade associada à regra deve ter as seguintes funções:
- Se a consulta estiver acessando um workspace do Log Analytics, a identidade precisa ter a função de leitor atribuída em todos os workspaces acessados pela consulta. Se você estiver criando alertas de pesquisa de logs centrados em recursos, a regra de alerta talvez acesse vários workspaces e a identidade precisa ter uma função de leitor em todos eles.
- Se estiver consultando um cluster do Azure Data Explorer ou do Resource Graph, você precisará adicionar a função de leitor para todas as fontes de dados acessadas pela consulta. Por exemplo, se for centrada em um recurso, a consulta precisará de uma função de leitor no recurso em questão.
- Se a consulta estiver acessando um cluster remoto do Azure Data Explorer, a identidade deverá ser atribuída:
- Uma função de leitor para todas as fontes de dados acessadas pela consulta. Por exemplo, se estiver chamando um cluster remoto do Azure Data Explorer ao usar a função
adx()
, a consulta precisará de uma função de leitor nesse cluster do Azure Data Explorer. - Uma função de visualizador de banco de dados para todos os bancos de dados acessados pela consulta.
- Uma função de leitor para todas as fontes de dados acessadas pela consulta. Por exemplo, se estiver chamando um cluster remoto do Azure Data Explorer ao usar a função
Para obter informações detalhadas sobre identidades gerenciadas, confira Identidades gerenciadas para recursos do Azure.
Selecione uma das seguintes opções para a identidade que a regra de alerta usa:
Opção de identidade Descrição Nenhuma As permissões da regra de alerta são baseadas nas permissões do último usuário que editou a regra no momento em que a regra foi editada. Habilitar identidade gerenciada atribuída pelo sistema O Azure cria uma identidade dedicada para essa regra de alerta. Essa identidade não tem permissões e é excluída automaticamente quando a regra é excluída. Após criar a regra, você precisa atribuir permissões a essa identidade para acessar as fontes de dados e o workspace necessários para a consulta. Para mais informações sobre como atribuir permissões, confira Atribuir funções do Azure usando o portal do Azure. As regras de alerta de pesquisa de logs que usam armazenamento vinculado não têm suporte. Habilitar identidades gerenciadas atribuídas pelo usuário Antes de criar a regra de alerta, você cria uma identidade e atribui permissões apropriadas para a consulta de log. Essa é uma identidade regular do Azure. Você pode usar uma identidade em várias regras de alerta. A identidade não é excluída quando a regra é excluída. Quando você seleciona esse tipo de identidade, um painel é aberto para você selecionar a identidade associada à regra. (Opcional) Na seção Opções avançadas, você pode definir várias opções:
Campo Descrição Habilitar após a criação Selecione essa opção para fazer com que a regra de alerta comece a ser executada assim que você terminar de criá-la. Resolver alertas automaticamente Selecione essa opção para definir o alerta como um alerta com estado. Quando um alerta é do tipo com estado, ele é resolvido quando a condição não é mais atendida por um intervalo de tempo específico. O intervalo de tempo difere com base na frequência do alerta:
1 minuto: a condição de alerta não é atendida por 10 minutos.
5 a 15 minutos: a condição de alerta não é atendida por três períodos de frequência.
15 minutos a 11 horas: a condição de alerta não atendida por dois períodos de frequência.
11 a 12 horas: a condição de alerta não é atendida por um período de frequência.
Observe que os alertas de pesquisa de log com estado têm essas limitações.Desativar ações Selecione essa opção para definir um período a ser aguardado até que as ações de alerta sejam disparadas novamente. Se o campo Desativar ações para aparecer, selecione o tempo a ser aguardado após um alerta ser disparado para que as ações sejam disparadas novamente. Verificar o armazenamento vinculado ao workspace Selecione essa opção se um armazenamento vinculado ao workspace estiver configurado para os alertas. Se não houver armazenamento vinculado configurado, a regra não será criada. -
(Opcional) Na seção Propriedades personalizadas, se essa regra de alerta contiver grupos de ações, você poderá adicionar suas próprias propriedades para incluir no conteúdo da notificação de alerta. Você pode usar essas propriedades nas ações que o grupo de ações chama, como por um webhook, função do Azure ou ação de aplicativo lógico.
As propriedades personalizadas são especificadas como pares de chave/valor usando textos estáticos, um valor dinâmico extraído do payload do alerta ou uma combinação de ambos.
O formato para extrair um valor dinâmico do conteúdo de alerta é:
${<path to schema field>}
. Por exemplo:${data.essentials.monitorCondition}
.Use o formato do esquema de alerta comum para especificar o campo no conteúdo, independentemente dos grupos de ações configurados para a regra de alerta usarem o esquema comum.
Observação
- As propriedades personalizadas são adicionadas ao payload do alerta, mas não aparecem no modelo de email ou nos detalhes do alerta no portal do Azure.
Os exemplos a seguir usam valores em Propriedades personalizadas para utilizar dados de um payload que usa o esquema de alerta comum.
Este exemplo cria uma marca Detalhes Adicionais com dados referentes à hora de início e à hora de término da janela:
- Nome:
Additional Details
- Valor:
Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
- Resultado:
AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z
Esse exemplo adiciona dados referentes ao motivo da resolução ou do disparo do alerta:
- Nome:
Alert ${data.essentials.monitorCondition} reason
- Valor:
${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
- Resultados potenciais:
Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
Configurar marcas de regra de alerta
Na guia Marcas, defina as marcas necessárias no recurso de regra de alerta.
Examinar e criar a regra de alerta
Na guia Revisar + criar, a regra é validada. Se houver um problema, volte e corrija-o.
Quando a validação for aprovada e você tiver examinado as configurações, selecione o botão Criar.