

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
<a name="troubleshoot-rule-evaluations"></a>

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.

**Topics**
+ [Convalida lo stato di attivazione degli avvisi](#troubleshoot-rule-validate-firing-status)
+ [Risolvi le notifiche di avviso mancanti](#troubleshoot-rule-missing-alert-notifications)
+ [Controlla lo stato di integrità della regola](#troubleshoot-rule-check-health-status)
+ [Utilizzate l'offset nelle query per gestire i ritardi di inserimento](#troubleshoot-rule-offset-queries)
+ [Problemi e soluzioni comuni](#troubleshoot-rule-common-issues)
+ [Le migliori pratiche per la valutazione delle regole](#troubleshoot-rule-best-practices)

## Convalida lo stato di attivazione degli avvisi
<a name="troubleshoot-rule-validate-firing-status"></a>

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
<a name="troubleshoot-rule-missing-alert-notifications"></a>

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 con`time_interval`, verifica che i timestamp rientrino negli intervalli specificati.

1. **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](AMP-alertmanager-receiver-AMPpermission.md).

1. **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](AMP-alertmanager-receiver-validation-truncation.md)

1. **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](CW-logs.md).

Per ulteriori informazioni su Alertmanager, consulta. [Gestione e inoltro di avvisi in Amazon Managed Service for Prometheus con alert manager](AMP-alert-manager.md)

## Controlla lo stato di integrità della regola
<a name="troubleshoot-rule-check-health-status"></a>

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

**Example**  
**Usa l' ListRules API**  
L'[ListRules](AMP-APIReference-ListRules.md)API 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
          }
        ]
      }
    ]
  }
}
```

**Example**  
**Usa registri venduti**  
L' ListRules API mostra solo le informazioni più recenti. Per una cronologia più dettagliata, abilita [i registri venduti](CW-logs.md) 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](Troubleshooting-rule-fail-error.md) [Gestione e inoltro di avvisi in Amazon Managed Service for Prometheus con alert manager](AMP-alert-manager.md)

## Utilizzate l'offset nelle query per gestire i ritardi di inserimento
<a name="troubleshoot-rule-offset-queries"></a>

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](https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier) nella documentazione di Prometheus.*

### Esempio: gestione delle metriche ritardate
<a name="example-delayed-metrics"></a>

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\$1metric\$1name offset 15m **

### Esempio: gestisci le metriche da più fonti
<a name="example-metrics-multiple-sources"></a>

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\$1from\$1server\$1A / metric\$1from\$1server\$1B **

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
<a name="troubleshoot-rule-common-issues"></a>

**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](https://prometheus.io/docs/prometheus/latest/querying/basics/#staleness) 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.

1. **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](AMP-APIReference-ListRules.md).

**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
<a name="troubleshoot-rule-best-practices"></a>

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.

1. **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.

1. **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.

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

1. **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.

1. **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.