Criar um alerta de métrica com limites dinâmicos

Os limiares dinâmicos aplicam aprendizagem automática avançada e utilizam um conjunto de algoritmos e métodos para:

  • Aprenda o comportamento histórico das métricas
  • Analise métricas ao longo do tempo e identifique padrões como padrões horários, diários ou semanais
  • Reconhecer anomalias que indicam possíveis problemas de serviço
  • Calcular o limite mais apropriado para a métrica

Quando você usa limites dinâmicos, não precisa saber o limite "certo" para cada métrica, porque os limites dinâmicos calculam os limites mais apropriados para você.

Recomendamos configurar regras de alerta com limites dinâmicos nestas métricas:

  • Percentagem de CPU da máquina virtual
  • Tempo de execução da solicitação HTTP do Application Insights

Os limiares dinâmicos ajudam-no a:

  • Crie alertas escaláveis para centenas de séries métricas com uma regra de alerta. Se você tiver menos regras de alerta, gastará menos tempo criando e gerenciando regras de alertas. O alerta escalável é especialmente útil para várias dimensões ou para vários recursos, como todos os recursos de uma assinatura.
  • Crie regras sem ter que saber qual limite configurar. Usando limites dinâmicos, você pode configurar alertas de métrica usando conceitos de alto nível, sem ter amplo conhecimento de domínio sobre a métrica
  • Configure alertas de métricas usando conceitos de alto nível sem amplo conhecimento de domínio sobre a métrica
  • Evite limiares ruidosos (baixa precisão) ou largos (baixa recordação) que não tenham um padrão esperado
  • Lidar com métricas barulhentas (como CPU ou memória da máquina) e métricas com baixa dispersão (como disponibilidade e taxa de erro)

Você pode usar limites dinâmicos em:

Você pode configurar limites dinâmicos usando:

Cálculo e visualização do limite de alerta

Quando uma regra de alerta é criada pela primeira vez, os limites dinâmicos usam 10 dias de dados históricos para calcular padrões sazonais horários ou diários. O gráfico que você vê na visualização do alerta reflete esses dados. Depois que uma regra de alerta é criada, os limites dinâmicos usam continuamente todos os dados históricos disponíveis para aprender e ajustam os limites para serem mais precisos. Após três semanas, os limiares dinâmicos têm dados suficientes para identificar padrões semanais também, e o modelo é ajustado para incluir a sazonalidade semanal. As regras de alerta que usam limites dinâmicos não disparam um alerta antes de coletar três dias e pelo menos 30 amostras de dados métricos.

O sistema reconhece automaticamente interrupções prolongadas e as remove do algoritmo de aprendizagem de limite. Se houver uma interrupção prolongada, os limites dinâmicos compreendem os dados e detetam problemas do sistema com o mesmo nível de sensibilidade de antes da interrupção ocorrer.

Considerações ao usar limites dinâmicos

  • Para garantir um cálculo preciso do limite, os alertas que usam limites dinâmicos não disparam um alerta antes de coletar três dias e pelo menos 30 amostras de dados métricos. Portanto, novos recursos ou recursos sem dados de métrica não disparam um alerta até que dados suficientes estejam disponíveis.
  • Os limiares dinâmicos necessitam de, pelo menos, três semanas de dados históricos para detetar a sazonalidade semanal. Alguns padrões detalhados, como padrões bihorários ou semissemanais, podem não ser detetados.
  • Se o comportamento de uma métrica mudou recentemente, as alterações não serão refletidas imediatamente nos limites superior e inferior do limiar dinâmico. As bordas são calculadas com base em dados métricos dos últimos 10 dias. Ao visualizar as bordas do Limite Dinâmico para uma determinada métrica, observe a tendência da métrica na última semana e não apenas nas últimas horas ou dias.
  • Os limiares dinâmicos são bons para detetar desvios significativos, em oposição a problemas em evolução lenta. Mudanças lentas de comportamento provavelmente não dispararão um alerta.

Problemas conhecidos com sensibilidade de limiar dinâmico

  • Se uma regra de alerta que usa limites dinâmicos for muito barulhenta ou acionar demais, talvez seja necessário reduzir a sensibilidade da regra de alerta de limites dinâmicos. Utilize uma das seguintes opções:

    • Sensibilidade do limiar: defina a sensibilidade como Baixa para ser mais tolerante a desvios.
    • Número de violações (em Configurações avançadas): Configure a regra de alerta para acionar somente se ocorrerem vários desvios dentro de um determinado período de tempo. Essa configuração torna a regra menos suscetível a desvios transitórios.
  • Você pode encontrar uma regra de alerta que usa limites dinâmicos, não é acionada ou não é sensível o suficiente, mesmo que esteja configurada com alta sensibilidade. Isso pode acontecer quando a distribuição da métrica é altamente irregular. Considere uma das seguintes soluções para corrigir o problema:

    • Passe para o monitoramento de uma métrica complementar adequada ao seu cenário, se aplicável. Por exemplo, verifique se há alterações na taxa de sucesso em vez da taxa de falha.
    • Tente selecionar um valor diferente para Granularidade de agregação (Período).
    • Verifique se houve uma mudança drástica no comportamento da métrica nos últimos 10 dias, como uma interrupção. Uma mudança abrupta pode afetar os limites superior e inferior calculados para a métrica e torná-los mais amplos. Aguarde alguns dias até que a interrupção não seja mais levada para o cálculo dos limites. Você também pode editar a regra de alerta para usar a opção Ignorar dados antes nas Configurações avançadas.
    • Se os dados tiverem sazonalidade semanal, mas não houver histórico suficiente disponível para a métrica, os limites calculados podem resultar em limites superiores e inferiores amplos. Por exemplo, o cálculo pode tratar dias úteis e fins de semana da mesma maneira e criar bordas amplas que nem sempre se ajustam aos dados. Esse problema deve se resolver depois que o histórico de métricas suficiente estiver disponível. Em seguida, a sazonalidade correta é detetada e os limites calculados são atualizados de acordo.
  • Quando um valor métrico exibe grandes flutuações, os limites dinâmicos podem construir um modelo amplo em torno dos valores métricos, o que pode resultar em um limite menor ou maior do que o esperado. Este cenário pode acontecer quando:

    • A sensibilidade é definida como baixa.
    • A métrica exibe um comportamento irregular com alta variância, que aparece como picos ou quedas nos dados.

    Considere tornar o modelo menos sensível escolhendo uma sensibilidade maior ou selecionando um período de retrospetiva maior. Você também pode usar a opção Ignorar dados antes para excluir uma irregularidade recente dos dados históricos usados para criar o modelo.

Configurar limites dinâmicos

Siga o procedimento para criar ou editar uma regra de alerta, usando estas configurações

  1. Na guia Condições,
    1. No campo Limiares, selecione Dinâmico.
    2. No tipo Agregação, recomendamos que você não selecione Máximo.
    3. No campo Operador, selecione Maior do que, a menos que o comportamento represente o uso do aplicativo.
    4. Em Sensibilidade de limite, selecione Médio ou Baixo para reduzir o ruído de alerta.
    5. No campo Verificar cada um, considere reduzir a frequência com base no impacto do alerta nos negócios.
    6. No período de retrospetiva, defina a janela de retrospetiva para pelo menos 15 minutos. Por exemplo, se a verificação de cada campo estiver definida como 5 minutos, o período de retrospetiva deve ser de pelo menos 3 minutos ou mais.
  2. Continue com o restante do processo para criar uma regra de alerta.

Nota

As regras de alerta de métricas criadas através do portal são criadas no mesmo grupo de recursos que o recurso de destino.

Compreender os gráficos de limites dinâmicos

O gráfico a seguir mostra uma métrica, seus limites de limites dinâmicos e alguns alertas acionados quando o valor estava fora dos limites permitidos.

Screenshot that shows a metric, its dynamic thresholds limits, and some alerts that fired.

Use as seguintes informações para interpretar o gráfico:

  • Linha azul: a métrica real medida ao longo do tempo.
  • Área sombreada azul: mostra o intervalo permitido para a métrica. Se os valores da métrica permanecerem dentro desse intervalo, nenhum alerta será acionado.
  • Pontos azuis: se você selecionar à esquerda em parte do gráfico e, em seguida, passar o mouse sobre a linha azul, um ponto azul aparecerá sob o cursor que mostra um valor de métrica agregado individual.
  • Pop-up com ponto azul: Mostra o valor métrico medido (o ponto azul) e os valores superior e inferior do intervalo permitido.
  • Ponto vermelho com um círculo preto: mostra o primeiro valor métrico fora do intervalo permitido. Esse valor dispara um alerta de métrica e o coloca em um estado ativo.
  • Pontos vermelhos: indicam outros valores medidos fora do intervalo permitido. Eles não disparam mais alertas métricos, mas o alerta permanece no estado ativo.
  • Área vermelha: mostra o tempo em que o valor da métrica estava fora do intervalo permitido. O alerta permanece no estado ativo enquanto os valores medidos subsequentes estiverem fora do intervalo permitido, mas nenhum novo alerta for disparado.
  • Fim da área vermelha: Quando a linha azul está de volta dentro dos valores permitidos, a área vermelha para e a linha de valor medida fica azul. O status do alerta métrico disparado no momento do ponto vermelho com contorno preto está definido como resolvido.

Métricas não suportadas por limites dinâmicos

Os limites dinâmicos são suportados para a maioria das métricas, mas algumas métricas não podem usar limites dinâmicos.

A tabela a seguir lista as métricas que não são suportadas por limites dinâmicos.

Tipo de recurso Nome da métrica
Microsoft.ClassicStorage/storageContas Capacidade Usada
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCapacity
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCount
Microsoft.ClassicStorage/storageAccounts/blobServices IndexCapacity
Microsoft.ClassicStorage/storageAccounts/fileServices Capacidade de arquivo
Microsoft.ClassicStorage/storageAccounts/fileServices Contagem de arquivos
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotSize
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareQuota
Microsoft.Compute/discos Bytes de leitura de disco composto/s
Microsoft.Compute/discos Operações de leitura de disco composto/s
Microsoft.Compute/discos Bytes de gravação de disco composto/s
Microsoft.Compute/discos Operações de gravação de disco composto/s
Microsoft.ContainerService/managedClusters Contagem de nós
Microsoft.ContainerService/managedClusters PodCount
Microsoft.ContainerService/managedClusters CompletedJobsCount
Microsoft.ContainerService/managedClusters ReiniciandoContainerCount
Microsoft.ContainerService/managedClusters OomKilledContainerCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.DocumentDB/databaseAccounts CassandraConnectionFechamentos
Microsoft.EventHub/clusters Tamanho
Microsoft.EventHub/namespaces Tamanho
Microsoft.IoTCentral/IoTApps connectedDeviceCount
Microsoft.IoTCentral/IoTApps provisionedDeviceCount
Microsoft.Kubernetes/connectedClusters Contagem de nós
Microsoft.Kubernetes/connectedClusters PodCount
Microsoft.Kubernetes/connectedClusters CompletedJobsCount
Microsoft.Kubernetes/connectedClusters ReiniciandoContainerCount
Microsoft.Kubernetes/connectedClusters OomKilledContainerCount
Microsoft.MachineLearningServices/workspaces/onlineEndpoints PedidosPerMinute
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments DeploymentCapacity
Microsoft.Maps/contas CreatorUsage
Microsoft.Media/mediaservices/streamingEndpoints EgressBandwidth
Microsoft.Network/applicationGateways Débito
Microsoft.Network/azureFirewalls Débito
Microsoft.Network/expressRouteGateways ExpressRouteGatewayPacketsPerSecond
Microsoft.Network/expressRouteGateways ExpressRouteGatewayNumberOfVmInVnet
Microsoft.Network/expressRouteGateways ExpressRouteGatewayFrequencyOfRoutesChanged
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayBitsPerSecond
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayPacketsPerSecond
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayNumberOfVmInVnet
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayFrequencyOfRoutesChanged
Microsoft.ServiceBus/namespaces Tamanho
Microsoft.ServiceBus/namespaces Mensagens
Microsoft.ServiceBus/namespaces Mensagens Ativas
Microsoft.ServiceBus/namespaces DeadletteredMessages
Microsoft.ServiceBus/namespaces Mensagens agendadas
Microsoft.ServiceFabricMesh/aplicativos AlocadoCpu
Microsoft.ServiceFabricMesh/aplicativos Memória alocada
Microsoft.ServiceFabricMesh/aplicativos ActualCpu
Microsoft.ServiceFabricMesh/aplicativos Memória real
Microsoft.ServiceFabricMesh/aplicativos ApplicationStatus
Microsoft.ServiceFabricMesh/aplicativos Status do Serviço
Microsoft.ServiceFabricMesh/aplicativos ServiceReplicaStatus
Microsoft.ServiceFabricMesh/aplicativos Status do contêiner
Microsoft.ServiceFabricMesh/aplicativos RestartCount
Microsoft.Storage/storageAccounts Capacidade Usada
Microsoft.Storage/storageAccounts/blobServices BlobCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCount
Microsoft.Storage/storageAccounts/blobServices BlobProvisionedSize
Microsoft.Storage/storageAccounts/blobServices IndexCapacity
Microsoft.Storage/storageAccounts/fileServices Capacidade de arquivo
Microsoft.Storage/storageAccounts/fileServices Contagem de arquivos
Microsoft.Storage/storageAccounts/fileServices FileShareCount
Microsoft.Storage/storageAccounts/fileServices FileShareSnapshotCount
Microsoft.Storage/storageAccounts/fileServices FileShareSnapshotSize
Microsoft.Storage/storageAccounts/fileServices FileShareCapacityQuota
Microsoft.Storage/storageAccounts/fileServices FileShareProvisionedIOPS

Próximos passos