Compartilhar via


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

Talvez você não tenha certeza dos números corretos a serem usados como os limites para suas regras de alerta. Os limites dinâmicos aplicam o machine learning avançado e usam um conjunto de algoritmos e métodos para:

  • Saber o comportamento histórico das métricas.
  • Analise métricas ao longo do tempo e identifique padrões, como, por exemplo, padrões por hora, por dia ou por semana.
  • Reconhecer anomalias que indicam possíveis problemas de serviço.
  • Calcule os limites mais apropriados para as métricas.

Ao usar limites dinâmicos, você não precisa saber o limite ideal para cada métrica. O recurso de limites dinâmicos calcula os limites mais adequados para você.

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

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

Os limites dinâmicos ajudam a:

  • Criar alertas escalonáveis para centenas de séries de métricas com uma regra de alerta. Se tiver menos regras de alerta, você gastará menos tempo para criá-las e gerenciá-las. Alertas escalonáveis são especialmente úteis para várias dimensões ou vários recursos, como, por exemplo, todos os recursos em uma assinatura.
  • Crie regras sem precisar saber qual limite configurar.
  • Configure alertas de métricas usando conceitos de alto nível sem precisar de um amplo conhecimento do domínio a que a métrica se refere.
  • Evite limites com muito ruído (baixa precisão) ou muita amplitude (baixo nível de detecção) que não têm um padrão esperado.

Você pode usar limites dinâmicos:

  • A maioria das métricas personalizadas e da plataforma Azure Monitor.
  • Métricas comuns de aplicativos e infraestrutura.
  • Métricas com ruído, como as da CPU ou da memória do computador.
  • Métricas com baixo nível de dispersão, como disponibilidade e taxa de erros.

Você pode configurar limites dinâmicos usando:

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

Quando uma regra de alerta é criada, os limites dinâmicos usam 10 dias de dados históricos para calcular padrões sazonais, por hora ou por dia. O gráfico que você vê na visualização de alerta reflete esses dados.

Os limites dinâmicos usam todos os dados históricos disponíveis continuamente para aprender e fazem ajustes para se tornarem mais precisos. Após três semanas, os limites dinâmicos terão dados suficientes para identificar padrões semanais e o modelo é ajustado para incluir a sazonalidade semanal.

O sistema reconhece automaticamente interrupções prolongadas e as remove do algoritmo de aprendizado de limite. Se houver uma indisponibilidade prolongada, os limites dinâmicos entenderão os dados. São capazes de detectar problemas do sistema com o mesmo nível de sensibilidade que tinham antes de a indisponibilidade ocorrer.

Considerações sobre o uso de limites dinâmicos

  • Para ajudar a garantir um cálculo de limites preciso, as regras de alertas que usam limites dinâmicos não disparam um alerta antes de coletar amostras por três dias e pelo menos 30 amostras de dados da métrica. Recursos novos ou recursos com dados de métricas ausentes não disparam um alerta até que uma quantidade suficiente de dados esteja disponível.
  • Os limites dinâmicos precisam de pelo menos três semanas de dados históricos para detectar sazonalidade semanal. Alguns padrões detalhados, como a cada duas horas ou a cada meia semana, podem não ser detectados.
  • Se o comportamento de uma métrica tiver mudado recentemente, as alterações não são refletidas imediatamente nos limites superiores e inferiores do limite dinâmico. As bordas são calculadas com base nos dados de métrica dos últimos 10 dias. Ao conferir os limiares do limite dinâmico para uma determinada métrica, observe a tendência da métrica na semana anterior, não apenas nas últimas horas ou dias.
  • Limites dinâmicos são bons para detectar desvios significativos, não problemas que se desenvolvem lentamente. Mudanças de comportamento mais lentas provavelmente não irão disparar um alerta.
  • Não é possível usar limites dinâmicos em regras de alerta que monitoram várias condições.

Como configurar limites dinâmicos

Para configurar limites dinâmicos, siga o procedimento para criar uma regra de alerta. Use as seguintes configurações na guia Condição:

  • Para Limite, selecione Dinâmico.
  • Para Tipo de agregação, recomendamos que você não selecione o Máximo.
  • Para Operador, selecione Maior que, a menos que o comportamento represente o uso do aplicativo.
  • Para Sensibilidade do limite, selecione Médio ou Baixo, para reduzir o ruído do alerta.
  • Para Verificar a cada, selecione com que frequência a regra de alerta deve verificar se a condição foi atendida. Para minimizar o impacto do alerta sobre os negócios, pense em usar uma frequência mais baixa. Certifique-se de que esse valor seja menor ou igual ao valor do Período retrospectivo.
  • Para Período retrospectivo, defina o período de tempo a ser examinado retrospectivamente a cada vez que os dados forem verificados. Certifique-se de que esse valor seja maior ou igual ao valor de Verificar a cada.
  • Para Opções avançadas, escolha quantas violações irão disparar o alerta dentro de um período de tempo específico. Opcionalmente, defina a data a partir da qual iniciar o aprendizado dos dados históricos de métrica e calcular os limites dinâmicos.

Observação

As regras de alerta de métricas que você cria por meio do portal são criadas no mesmo grupo de recursos que o recurso de destino.

Gráfico de limite dinâmico

O gráfico abaixo mostra uma métrica, os respectivos limites dinâmicos e alguns alertas acionados quando o valor estava fora dos limites permitidos.

Captura de tela mostrando uma métrica, os respectivos limites dinâmicos e alguns alertas que foram disparados.

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

  • Linha azul: a métrica medida ao longo do tempo.
  • Área sombreada azul: o intervalo permitido para a métrica. Se os valores de métrica permanecerem dentro desse intervalo, nenhum alerta é disparado.
  • Pontos azuis: valores de métrica agregados. Se selecionar uma parte do gráfico e passar o mouse sobre a linha azul, você verá um ponto azul aparecer embaixo do seu cursor para indicar um valor individual de métrica agregada.
  • Caixa pop-up com um ponto azul: o valor medido da métrica (o ponto azul) e os valores superior e inferior do intervalo permitido.
  • Ponto vermelho com um círculo preto: o primeiro valor da métrica fora do intervalo permitido. Esse valor dispara um alerta de métrica e o coloca em um estado ativo.
  • Pontos vermelhos: outros valores medidos fora do intervalo permitido. Eles não vão disparar alertas de métrica adicionais, mas o alerta permanecerá no estado ativo.
  • Área vermelha: a hora 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 sem que nenhum alerta novo seja acionado.
  • Fim da área vermelha: um retorno aos valores permitidos. Quando a linha azul estiver novamente dentro dos valores permitidos, a área vermelha irá parar e a linha do valor medido se tornará azul. O status do alerta da métrica acionado na hora do ponto vermelho com contorno preto será definido como resolvido.

Problemas conhecidos com confidencialidade de limite dinâmico

  • Se uma regra de alerta que usa limites dinâmicos tiver muito ruído ou disparar com frequência excessiva, talvez seja necessário reduzir sua sensibilidade. Use uma das seguintes opções:

    • Sensibilidade do limite: defina a sensibilidade como Baixa para torná-lo mais tolerante a desvios.
    • Número de violações (em Configurações avançadas): configure a regra de alerta para disparar somente se vários desvios ocorrerem dentro de um determinado período de tempo. Essa configuração torna a regra menos suscetível a desvios temporários.
  • Você poderá perceber que uma regra de alerta que usa limites dinâmicos não é disparada ou não é sensível o suficiente, mesmo que esteja configurada com alta sensibilidade. Esse cenário poderá ocorrer quando a distribuição da métrica for altamente irregular. Tente uma das seguintes soluções:

    • Passe a monitorar 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 (ponto).
    • Verifique se ocorreu alguma alteração drástica no comportamento da métrica nos últimos 10 dias, como uma indisponibilidade. Uma alteração abrupta pode afetar os limites superior e inferior calculados para a métrica e torná-los mais amplos. Aguarde alguns dias até que a indisponibilidade deixe de ser incluída no cálculo do limite. Você também pode editar a regra de alerta para usar a opção Ignorar dados antes de em 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 poderão resultar em limites superiores e inferiores mais amplos. Por exemplo, o cálculo pode tratar da mesma maneira os dias da semana e os finais de semana e criar limites amplos que nem sempre se ajustam aos dados. Esse problema deve se resolver depois que houver um histórico de métricas suficiente disponível. Nesse caso, a sazonalidade correta será detectada e os limites calculados serão atualizados de acordo.
  • Quando um valor de métrica apresentar grandes flutuações, os limites dinâmicos poderão compilar um modelo amplo em torno dos valores da métrica, o que poderá resultar em um limiar mais baixo ou mais alto do que o esperado. Esse cenário pode ocorrer quando:

    • A sensibilidade estiver definida como baixa.
    • A métrica exibir um comportamento irregular com alta variação, que aparece como picos ou vales nos dados.

    Pense em tornar o modelo menos sensível ao escolher uma sensibilidade maior ou selecionar um valor mais longo para oPeríodo retrospectivo. Você também pode usar a opção Ignorar dados antes de para excluir uma irregularidade recente dos dados históricos que estão sendo usados para criar o modelo.

Métricas sem suporte de limites dinâmicos

Os limites dinâmicos são compatíveis com a maioria das métricas, mas as métricas a seguir não podem usar limites dinâmicos:

Tipo de recurso Nome da métrica
Microsoft.ClassicStorage/storageAccounts UsedCapacity
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCapacity
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCount
Microsoft.ClassicStorage/storageAccounts/blobServices IndexCapacity
Microsoft.ClassicStorage/storageAccounts/fileServices FileCapacity
Microsoft.ClassicStorage/storageAccounts/fileServices FileCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotSize
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareQuota
Microsoft.Compute/disks Bytes de Leitura de Disco Composta/s
Microsoft.Compute/disks Operações de Leitura de Disco Composta/s
Microsoft.Compute/disks Bytes de Gravação em Disco Composta/s
Microsoft.Compute/disks Operações de Gravação em Disco Composta/s
Microsoft.ContainerService/managedClusters NodesCount
Microsoft.ContainerService/managedClusters PodCount
Microsoft.ContainerService/managedClusters CompletedJobsCount
Microsoft.ContainerService/managedClusters RestartingContainerCount
Microsoft.ContainerService/managedClusters OomKilledContainerCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.DocumentDB/databaseAccounts CassandraConnectionClosures
Microsoft.EventHub/clusters Tamanho
Microsoft.EventHub/namespaces Tamanho
Microsoft.IoTCentral/IoTApps connectedDeviceCount
Microsoft.IoTCentral/IoTApps provisionedDeviceCount
Microsoft.Kubernetes/connectedClusters NodesCount
Microsoft.Kubernetes/connectedClusters PodCount
Microsoft.Kubernetes/connectedClusters CompletedJobsCount
Microsoft.Kubernetes/connectedClusters RestartingContainerCount
Microsoft.Kubernetes/connectedClusters OomKilledContainerCount
Microsoft.MachineLearningServices/workspaces/onlineEndpoints RequestsPerMinute
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments DeploymentCapacity
Microsoft.Maps/accounts CreatorUsage
Microsoft.Media/mediaservices/streamingEndpoints EgressBandwidth
Microsoft.Network/applicationGateways Produtividade
Microsoft.Network/azureFirewalls Produtividade
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 ActiveMessages
Microsoft.ServiceBus/namespaces DeadletteredMessages
Microsoft.ServiceBus/namespaces ScheduledMessages
Microsoft.ServiceFabricMesh/applications AllocatedCpu
Microsoft.ServiceFabricMesh/applications AllocatedMemory
Microsoft.ServiceFabricMesh/applications ActualCpu
Microsoft.ServiceFabricMesh/applications ActualMemory
Microsoft.ServiceFabricMesh/applications ApplicationStatus
Microsoft.ServiceFabricMesh/applications ServiceStatus
Microsoft.ServiceFabricMesh/applications ServiceReplicaStatus
Microsoft.ServiceFabricMesh/applications ContainerStatus
Microsoft.ServiceFabricMesh/applications RestartCount
Microsoft.Storage/storageAccounts UsedCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCount
Microsoft.Storage/storageAccounts/blobServices BlobProvisionedSize
Microsoft.Storage/storageAccounts/blobServices IndexCapacity
Microsoft.Storage/storageAccounts/fileServices FileCapacity
Microsoft.Storage/storageAccounts/fileServices FileCount
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

Se tiver algum feedback sobre limites dinâmicos, nos envie um email.