Risolvi i problemi relativi alle valutazioni delle regole - Amazon Managed Service per Prometheus

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risolvi i problemi relativi alle valutazioni delle regole

Questa guida fornisce procedure di step-by-step risoluzione dei problemi più comuni relativi alla valutazione delle regole in Amazon Managed Service for Prometheus (AMP). Segui queste procedure per diagnosticare e risolvere i problemi relativi alle regole di avviso e registrazione.

Convalida lo stato di attivazione degli avvisi

Quando risolvi i problemi relativi alla valutazione delle regole, verifica innanzitutto se l'avviso è stato attivato interrogando le serie temporali sintetiche. ALERTS Le serie ALERTS temporali includono le seguenti etichette:

  • alertname — Il nome dell'avviso.

  • alertstate — In sospeso o in corso.

    • in sospeso: l'avviso è in attesa della durata specificata nella clausola. for

    • attivazione: l'avviso ha soddisfatto le condizioni per la durata specificata. Le etichette aggiuntive sono definite nella regola di avviso.

Nota

Mentre un avviso è attivo o in sospeso, il valore di esempio è 1. Quando l'avviso è inattivo, non viene prodotto alcun campione.

Risolvi le notifiche di avviso mancanti

Se gli avvisi vengono attivati ma le notifiche non arrivano, verifica le seguenti impostazioni di Alertmanager:

  1. Verifica la configurazione di Alertmanager: verifica che i percorsi, i ricevitori e le impostazioni siano configurati correttamente. Rivedi le impostazioni dei blocchi dei percorsi, inclusi i tempi di attesa, gli intervalli di tempo e le etichette obbligatorie, che possono influire sulla attivazione degli avvisi. Confronta le regole di avviso con i percorsi e i ricevitori corrispondenti per confermare la corretta corrispondenza. Per i percorsi contime_interval, verifica che i timestamp rientrino negli intervalli specificati.

  2. Verifica le autorizzazioni del destinatario degli avvisi: quando utilizzi un argomento Amazon SNS, verifica che AMP disponga delle autorizzazioni necessarie per pubblicare le notifiche. Per ulteriori informazioni, consulta Autorizzare Amazon Managed Service for Prometheus a inviare messaggi di avviso al tuo argomento Amazon SNS.

  3. Convalida la compatibilità del payload del ricevitore: conferma che il destinatario degli avvisi accetti il formato di payload di Alertmanager. Per i requisiti di Amazon SNS, consulta. Comprendere le regole di convalida dei messaggi di Amazon SNS

  4. Rivedi i log di Alertmanager: AMP fornisce i log forniti da Alertmanager per aiutare a risolvere i problemi di notifica. Per ulteriori informazioni, consulta Monitora gli eventi di Amazon Managed Service for Prometheus con i log CloudWatch .

Per ulteriori informazioni su Alertmanager, consulta. Gestione e inoltro di avvisi in Amazon Managed Service for Prometheus con alert manager

Controlla lo stato di integrità della regola

Le regole non valide possono causare errori di valutazione. Utilizzate i seguenti metodi per identificare il motivo per cui una regola non è stata valutata:

Usa l' ListRules API

L'ListRulesAPI fornisce informazioni sullo stato delle regole. Controlla i lastError campi health e per diagnosticare i problemi.

Esempio di risposta:

{ "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 } ] } ] } }

Usa registri venduti

L' ListRules API mostra solo le informazioni più recenti. Per una cronologia più dettagliata, abilita i registri venduti nel tuo spazio di lavoro per accedere a:

  • Timestamp degli errori di valutazione

  • Messaggi di errore dettagliati

  • Dati di valutazione storici

Esempio di messaggio di registro fornito:

{ "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" }

Per altri esempi di log da Ruler o Alertmanager, vedi e. Risoluzione dei problemi per ruler Gestione e inoltro di avvisi in Amazon Managed Service for Prometheus con alert manager

Utilizzate l'offset nelle query per gestire i ritardi di inserimento

Per impostazione predefinita, le espressioni vengono valutate senza offset (query istantanea), utilizzando i valori al momento della valutazione. Se l'inserimento delle metriche viene ritardato, le regole di registrazione potrebbero non rappresentare gli stessi valori di quando si valuta manualmente l'espressione dopo che tutte le metriche sono state inserite.

Suggerimento

L'utilizzo del modificatore di offset può ridurre i problemi causati dai ritardi di inserimento. Per ulteriori informazioni, vedere Modificatore Offset nella documentazione di Prometheus.

Se la regola viene valutata alle 12:00, ma l'ultimo campione per la metrica risale alle 11:45 a causa del ritardo di inserimento, la regola non troverà alcun campione al timestamp delle 12:00. Per mitigare questo problema, aggiungi un offset, ad esempio:. my_metric_name offset 15m

Quando le metriche provengono da fonti diverse, ad esempio due server, potrebbero essere inserite in momenti diversi. Per mitigare questo problema, forma un'espressione, ad esempio: metric_from_server_A / metric_from_server_B

Se la regola calcola tra i tempi di inserimento del server A e del server B, otterrai risultati inaspettati. L'uso di un offset può aiutare ad allineare i tempi di valutazione.

Problemi e soluzioni comuni

Lacune nella registrazione dei dati delle regole

Se notate delle lacune nei dati delle regole di registrazione rispetto alla valutazione manuale (quando eseguite direttamente l'espressione ProMQL originale della regola di registrazione tramite l'API di interrogazione o l'interfaccia utente), ciò potrebbe essere dovuto a uno dei seguenti fattori:

  1. Tempi di valutazione lunghi: un gruppo di regole non può avere più valutazioni simultanee. Se il tempo di valutazione supera l'intervallo configurato, è possibile che le valutazioni successive non vengano effettuate. Più valutazioni consecutive mancate che superano l'intervallo configurato possono far sì che la regola di registrazione diventi obsoleta. Per ulteriori informazioni, vedere Staleness nella documentazione di Prometheus. È possibile monitorare la durata della valutazione utilizzando la CloudWatch metrica RuleGroupLastEvaluationDuration per identificare i gruppi di regole la cui valutazione richiede troppo tempo.

  2. Monitoraggio delle valutazioni mancate: AMP fornisce la RuleGroupIterationsMissed CloudWatch metrica per tracciare quando le valutazioni vengono saltate. L' ListRules API mostra l'ora di valutazione e l'ora dell'ultima valutazione per ogni regola/gruppo, il che può aiutare a identificare i modelli di valutazioni mancate. Per ulteriori informazioni, consulta ListRules.

Raccomandazione: suddividi le regole in gruppi separati

Per ridurre la durata delle valutazioni, suddividi le regole in gruppi di regole separati. Le regole all'interno di un gruppo vengono eseguite in sequenza, mentre i gruppi di regole possono essere eseguite in parallelo. Mantieni le regole correlate che dipendono l'una dall'altra nello stesso gruppo. In genere, gruppi di regole più piccoli garantiscono valutazioni più coerenti e meno lacune.

Le migliori pratiche per la valutazione delle regole

  1. Ottimizza le dimensioni dei gruppi di regole: mantieni piccoli i gruppi di regole per garantire valutazioni coerenti. Raggruppa le regole correlate, ma evita i gruppi di regole di grandi dimensioni.

  2. Imposta intervalli di valutazione appropriati: equilibrio tra avvisi tempestivi e carico del sistema. Esamina i modelli di stabilità delle metriche monitorate per comprenderne i normali intervalli di fluttuazione.

  3. Usa modificatori di offset per le metriche ritardate: aggiungi offset per compensare i ritardi di inserimento. Regola la durata dell'offset in base ai modelli di ingestione osservati.

  4. Monitora le prestazioni di valutazione: monitora la metrica. RuleGroupIterationsMissed Rivedi i tempi di valutazione nell' ListRules API.

  5. Convalida le espressioni delle regole: assicurati che le espressioni corrispondano esattamente tra le definizioni delle regole e le query manuali. Prova le espressioni con intervalli di tempo diversi per comprendere il comportamento.

  6. Verifica regolarmente lo stato delle regole: verifica la presenza di errori nelle valutazioni delle regole. Monitora i log forniti per individuare eventuali problemi ricorrenti.

Seguendo questi passaggi e le best practice per la risoluzione dei problemi, puoi identificare e risolvere i problemi più comuni con le valutazioni delle regole in Amazon Managed Service for Prometheus.