Criar um alerta de métrica com limiares dinâmicos
Você pode não ter certeza dos números corretos a serem usados como limites para suas regras de alerta. 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 indiquem possíveis problemas de serviço.
- Calcule os limites mais apropriados para métricas.
Quando você usa limites dinâmicos, não precisa saber o limite certo para cada métrica. 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 tiver menos regras de alerta, gastará menos tempo a criá-las e a geri-las. Os alertas escaláveis são especialmente úteis 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.
- Configure alertas de métricas usando conceitos de alto nível sem precisar de 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.
Você pode usar limites dinâmicos em:
- A maioria das plataformas do Azure Monitor e métricas personalizadas.
- Métricas comuns de aplicativos e infraestrutura.
- Métricas barulhentas, como CPU ou memória da máquina.
- Métricas com baixa dispersão, como disponibilidade e taxa de erro.
Você pode configurar limites dinâmicos usando:
- Portal do Azure.
- A API totalmente automatizada do Azure Resource Manager.
- Modelos de alerta métrico.
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 horários ou diários. O gráfico que você vê na visualização do alerta reflete esses dados.
Os limites dinâmicos usam continuamente todos os dados históricos disponíveis para aprender e fazem ajustes para serem mais precisos. Após três semanas, os limiares dinâmicos têm 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 aprendizagem de limite. Se houver uma interrupção prolongada, os limites dinâmicos compreendem os dados. Eles detetam problemas do sistema com o mesmo nível de sensibilidade que antes da interrupção ocorrer.
Considerações sobre o uso de limites dinâmicos
- Para ajudar a garantir um cálculo preciso do limite, 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. Novos recursos ou recursos que estão faltando 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 semestrais, 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 limite 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 métrica específica, 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.
- Não é possível usar limites dinâmicos em regras de alerta que monitoram várias condições.
Configurar limites dinâmicos
Para configurar limites dinâmicos, siga o procedimento para criar uma regra de alerta. Use estas configurações na guia Condição :
- Em Limite, selecione Dinâmico.
- Para Tipo de agregação, recomendamos que você não selecione Máximo.
- Em Operador, selecione Maior que, a menos que o comportamento represente o uso do aplicativo.
- Em Sensibilidade de limite, selecione Médio ou Baixo para reduzir o ruído de alerta.
- Em Verificar sempre, selecione a frequência com que a regra de alerta verifica se a condição é atendida. Para minimizar o impacto do alerta nos negócios, considere o uso de uma frequência mais baixa. Verifique se esse valor é menor ou igual ao valor do período de retrospetiva.
- Para Período de retrospetiva, defina o período de tempo para olhar para trás em cada vez que os dados são verificados. Certifique-se de que este valor é maior ou igual a Verificar cada valor.
- Para Opções avançadas, escolha quantas violações acionarão o alerta dentro de um período de tempo específico. Opcionalmente, defina a data a partir da qual começar a aprender os dados históricos da métrica e calcular os limites dinâmicos.
Nota
As regras de alerta de métrica que você cria por meio do portal são criadas no mesmo grupo de recursos que o recurso de destino.
Gráfico de limiar dinâmico
O gráfico a seguir mostra uma métrica, seus limites de limite dinâmico e alguns alertas que foram acionados quando o valor estava fora dos limites permitidos.
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 da métrica permanecerem dentro desse intervalo, nenhum alerta será acionado.
- Pontos azuis: valores métricos agregados. Se você selecionar parte do gráfico e, em seguida, passar o mouse sobre a linha azul, um ponto azul aparecerá sob o cursor para indicar um valor de métrica agregado individual.
- Caixa pop-up com ponto azul: O valor métrico medido (ponto azul) e os valores superior e inferior do intervalo permitido.
- Ponto vermelho com um círculo preto: 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: Outros valores medidos fora do intervalo permitido. Eles não disparam mais alertas métricos, mas o alerta permanece no estado ativo.
- Área vermelha: 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: um retorno aos valores permitidos. 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 um círculo preto está definido como resolvido.
Problemas conhecidos com sensibilidade de limiar dinâmico
Se uma regra de alerta que usa limites dinâmicos for muito barulhenta ou disser demais, talvez seja necessário reduzir sua sensibilidade. 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 achar que 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. Este cenário pode acontecer quando a distribuição da métrica é altamente irregular. Considere uma das seguintes soluções:
- 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 incluída no cálculo do limite. Você também pode editar a regra de alerta para usar a opção Ignorar dados antes em Configurações avançadas.
- Se seus 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 limiares calculados são atualizados em conformidade.
Quando um valor de métrica 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 valor maior de período de retrospetiva. 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.
Métricas não suportadas por limites dinâmicos
Os limites dinâmicos suportam a maioria das métricas, mas as seguintes métricas não podem usar 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 |
Conteúdos relacionados
Se você tiver comentários sobre limites dinâmicos, envie-nos um e-mail.