Solucionar problemas nas avaliações de regras - Amazon Managed Service para Prometheus

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solucionar problemas nas avaliações de regras

Este guia fornece procedimentos step-by-step de solução de problemas comuns com avaliações de regras no Amazon Managed Service for Prometheus (AMP). Siga estes procedimentos para diagnosticar e resolver problemas com suas regras de alerta e gravação.

Validar o status de disparo do alerta

Ao solucionar problemas de avaliação de regras, primeiro verifique se o alerta foi acionado consultando a série ALERTS temporal sintética. As séries ALERTS temporais incluem os seguintes rótulos:

  • alertname — O nome do alerta.

  • alertstate Pendente ou demitindo.

    • pendente — O alerta está aguardando a duração especificada na for cláusula.

    • disparo — O alerta atendeu às condições da duração especificada. Rótulos adicionais são definidos em sua regra de alerta.

nota

Enquanto um alerta está sendo acionado ou pendente, o valor da amostra é 1. Quando o alerta está inativo, nenhuma amostra é produzida.

Resolver notificações de alerta ausentes

Se os alertas estiverem sendo disparados, mas as notificações não chegarem, verifique as seguintes configurações do Alertmanager:

  1. Verifique a configuração do Alertmanager — Verifique se as rotas, os receptores e as configurações estão configuradas corretamente. Revise as configurações de bloqueio de rotas, incluindo tempos de espera, intervalos de tempo e rótulos necessários, que podem afetar o disparo de alertas. Compare as regras de alerta com suas rotas e receptores correspondentes para confirmar a correspondência adequada. Para rotas comtime_interval, verifique se os carimbos de data/hora estão dentro dos intervalos especificados.

  2. Verifique as permissões do receptor do alerta — Ao usar um tópico do Amazon SNS, verifique se o AMP tem as permissões necessárias para publicar notificações. Para obter mais informações, consulte Conceder ao Amazon Managed Service for Prometheus permissão para enviar mensagens ao seu tópico do Amazon SNS.

  3. Valide a compatibilidade da carga útil do receptor — Confirme se seu receptor de alerta aceita o formato de carga útil do Alertmanager. Para obter os requisitos do Amazon SNS, consulte. Noções básicas das regras de validação de mensagens do Amazon SNS

  4. Analise os registros do Alertmanager — O AMP fornece registros vendidos do Alertmanager para ajudar a depurar problemas de notificação. Para obter mais informações, consulte Monitore eventos do Amazon Managed Service para Prometheus com registros CloudWatch .

Para obter mais informações sobre o Alertmanager, consulte. Como gerenciar e encaminhar alertas no Amazon Managed Service for Prometheus com o gerenciador de alertas

Verifique o status de integridade da regra

Regras malformadas podem causar falhas na avaliação. Use os métodos a seguir para identificar por que uma regra não foi avaliada:

Use a ListRules API

A ListRules API fornece informações sobre a integridade das regras. Verifique os lastError campos health e para diagnosticar problemas.

Exemplo de resposta:

{ "status": "success", "data": { "groups": [ { "name": "my_rule_group", "file": "my_namespace", "rules": [ { "state": "firing", "name": "broken_alerting_rule", "query": "...", "duration": 0, "keepFiringFor": 0, "labels": {}, "annotations": {}, "alerts": [], "health": "err", "lastError": "vector contains metrics with the same labelset after applying alert labels", "type": "alerting", "lastEvaluation": "1970-01-01T00:00:00.00000000Z", "evaluationTime": 0.08 } ] } ] } }

Use registros vendidos

A ListRules API exibe apenas as informações mais recentes. Para obter um histórico mais detalhado, habilite os registros vendidos em seu espaço de trabalho para acessar:

  • Registros de data e hora de falhas de avaliação

  • Mensagens de erro detalhadas

  • Dados históricos de avaliação

Exemplo de mensagem de registro vendida:

{ "workspaceId": "ws-a2c55905-e0b4-4065-a310-d83ce597a391", "message": { "log": "Evaluating rule failed, name=broken_alerting_rule, group=my_rule_group, namespace=my_namespace, err=vector contains metrics with the same labelset after applying alert labels", "level": "ERROR", "name": "broken_alerting_rule", "group": "my_rule_group", "namespace": "my_namespace" }, "component": "ruler" }

Para obter mais exemplos de registros do Ruler ou do Alertmanager, consulte e. Solução de problemas do Ruler Como gerenciar e encaminhar alertas no Amazon Managed Service for Prometheus com o gerenciador de alertas

Use offset em consultas para lidar com atrasos na ingestão

Por padrão, as expressões são avaliadas sem deslocamento (consulta instantânea), usando valores no momento da avaliação. Se a ingestão de métricas for atrasada, as regras de registro podem não representar os mesmos valores de quando você avalia manualmente a expressão depois que todas as métricas são ingeridas.

dica

Usar o modificador de compensação pode reduzir os problemas causados por atrasos na ingestão. Para obter mais informações, consulte Modificador de deslocamento na documentação do Prometheus.

Se sua regra for avaliada às 12:00, mas a amostra mais recente da métrica for a partir das 11:45 devido ao atraso na ingestão, a regra não encontrará amostras na data e hora das 12:00. Para mitigar isso, adicione um deslocamento, como:. my_metric_name offset 15m

Quando as métricas são provenientes de fontes diferentes, como dois servidores, elas podem ser ingeridas em momentos diferentes. Para mitigar isso, forme uma expressão, como: metric_from_server_A / metric_from_server_B

Se a regra for avaliada entre os tempos de ingestão do servidor A e do servidor B, você obterá resultados inesperados. Usar um deslocamento pode ajudar a alinhar os tempos de avaliação.

Problemas e soluções comuns de

Lacunas nos dados da regra de registro

Se você notar lacunas nos dados da regra de gravação em comparação com a avaliação manual (ao executar diretamente a expressão PromQL original da regra de gravação por meio da API ou da interface de usuário de consulta), isso pode ser devido a um dos seguintes motivos:

  1. Tempos de avaliação longos — Um grupo de regras não pode ter várias avaliações simultâneas. Se o tempo de avaliação exceder o intervalo configurado, as avaliações subsequentes podem ser perdidas. Várias avaliações perdidas consecutivas excedendo o intervalo configurado podem fazer com que a regra de gravação fique obsoleta. Para obter mais informações, consulte Staleness na documentação do Prometheus. Você pode monitorar a duração da avaliação usando a CloudWatch métrica RuleGroupLastEvaluationDuration para identificar grupos de regras que estão demorando muito para serem avaliados.

  2. Monitoramento de avaliações perdidas — O AMP fornece a RuleGroupIterationsMissed CloudWatch métrica para rastrear quando as avaliações são ignoradas. A ListRules API exibe a hora da avaliação e a hora da última avaliação de cada regra/grupo, o que pode ajudar a identificar padrões de avaliações perdidas. Para obter mais informações, consulte ListRules.

Recomendação: divida as regras em grupos separados

Para reduzir a duração da avaliação, divida as regras em grupos de regras separados. As regras dentro de um grupo são executadas sequencialmente, enquanto os grupos de regras podem ser executadas paralelamente. Mantenha regras relacionadas que dependam umas das outras no mesmo grupo. Geralmente, grupos de regras menores garantem avaliações mais consistentes e menos lacunas.

Práticas recomendadas para avaliações de regras

  1. Otimize o tamanho do grupo de regras — mantenha os grupos de regras pequenos para garantir avaliações consistentes. Agrupe as regras relacionadas, mas evite grupos de regras grandes.

  2. Defina intervalos de avaliação adequados — Equilíbrio entre alertas oportunos e carga do sistema. Analise os padrões de estabilidade de suas métricas monitoradas para entender suas faixas normais de flutuação.

  3. Use modificadores de deslocamento para métricas atrasadas — adicione compensações para compensar os atrasos na ingestão. Ajuste a duração do deslocamento com base nos padrões de ingestão observados.

  4. Monitore o desempenho da avaliação — acompanhe a RuleGroupIterationsMissed métrica. Analise os tempos de avaliação na ListRules API.

  5. Validar expressões de regras — Certifique-se de que as expressões correspondam exatamente entre as definições de regras e as consultas manuais. Teste expressões com intervalos de tempo diferentes para entender o comportamento.

  6. Revise a integridade das regras regularmente — Verifique se há erros nas avaliações das regras. Monitore os registros vendidos em busca de problemas recorrentes.

Ao seguir essas etapas de solução de problemas e as melhores práticas, você pode identificar e resolver problemas comuns com avaliações de regras no Amazon Managed Service for Prometheus.