Perché il mio allarme CloudWatch è nello stato INSUFFICIENT_DATA?

5 minuti di lettura
0

Il mio allarme Amazon CloudWatch è nello stato INSUFFICIENT_DATA. Come posso scoprire qual è la causa?

Breve descrizione

Lo stato INSUFFICIENT\ _DATA può indicare una delle seguenti condizioni:

  • Un allarme Amazon CloudWatch è appena iniziato.
  • La metrica non è disponibile.
  • I parametri delle metriche, come namespace, nome della metrica o dimensioni, sono stati configurati in modo errato.
  • Non ci sono dati sufficienti perché la metrica determini lo stato di allarme.

Quando la sveglia è inaspettatamente nello stato INSUFFICIENTE\ _DATA, consulta i seguenti passaggi per la risoluzione dei problemi per individuare alcune delle cause più comuni.

Risoluzione

Comportamento metrico normale

Quando crei un allarme CloudWatch, il suo primo stato di default è INSUFFICIENT\ _DATA. Rimane in questo stato fino al completamento della prima valutazione della metrica monitorata. In genere, un allarme esce da INSUFFICIENT\ _DATA entro pochi minuti dalla creazione.

Un avviso nello stato INSUFFICIENT\ _DATA potrebbe riflettere il comportamento normale di una metrica. Esistono due tipi di metriche in base al modo in cui vengono trasferite a CloudWatch: basate sul periodo e basate sugli eventi. Alcuni servizi inviano punti dati periodici alle proprie metriche a intervalli regolari. Altri servizi inviano dati metrici quando vengono attivati da determinati eventi e potrebbero avere periodi senza punti dati.

Un esempio di metrica basata sul periodo è la metrica predefinita di utilizzo della CPU di un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Questa metrica contiene un data point ogni cinque minuti. Tuttavia, se interrompi l'istanza, il servizio non invia alcun dato ad essa. Un esempio di metrica basata sugli eventi è la metrica HttpCode\ _ELB\ _5XX\ _Count per un Application Load Balancer. Il servizio Elastic Load Balancing (ELB) invia punti dati a questa metrica quando c'è una risposta 5XX da un ELB. Se non ci sono errori 5XX durante un periodo, il risultato è un periodo vuoto (anziché un valore zero).

Se un allarme monitora una metrica che non ha punti dati durante un determinato insieme di periodi e i dati mancanti vengono considerati mancanti, lo stato dell'allarme è INSUFFICIENTE\ _DATA durante quei periodi. Per forzare l'allarme a essere negli stati ALARM o OK, configura il modo in cui l'allarme tratta questi periodi senza punti dati.

Impostazioni di allarme CloudWatch errate

Ogni metrica è definita da un namespace, un nome di metrica e fino a dieci dimensioni. Quando si recupera un punto dati, è necessario specificare un timestamp (e facoltativamente, un'unità). Se fornisci un valore errato per uno di questi parametri, CloudWatch tenta di recuperare una metrica che non esiste. Il risultato è un set di dati vuoto.

**Nota:**I punti dati vengono solitamente trasferiti a una metrica con una singola unità, ma non è necessario specificare l'unità quando si crea un allarme. Se non specifichi un'unità, non si verificano problemi relativi a configurazioni errate dell'unità. Tuttavia, se i punti dati della metrica hanno più unità, è consigliabile utilizzare l'unità corretta.

Utilizza l’API DescribeAlarms per ottenere un elenco completo dei parametri per le metriche monitorate. Puoi confrontarlo con l'output di ListMetrics. Controlla i parametri per:

  • Errori ortografici e uso improprio di lettere maiuscole e minuscole. I namespace, i nomi delle metriche e le chiavi/valori delle dimensioni fanno distinzione tra maiuscole e minuscole.
  • Dimensioni specificate in modo errato o mancanti.

Periodi di allarme configurati in modo errato

È possibile configurare un allarme per recuperare i punti dati con la frequenza desiderata. Tuttavia, potresti ottenere stati indesiderati se l'allarme utilizza un periodo più breve del periodo utilizzato dal servizio (o dalla fonte) per inviare i punti dati alla metrica. Per evitare stati indesiderati INSUFFICIENT\ _DATA, è consigliabile configurare il periodo di allarme in modo che sia uguale o superiore al periodo in cui vengono inviati i punti dati della metrica. È inoltre possibile utilizzare le impostazioni M su N per l'allarme.

Consegna ritardata dei punti dati

A seconda dei punti dati inviati a CloudWatch, è possibile che si verifichino stati INSUFFICIENT\ _DATA imprevisti su un allarme che monitora una metrica.

Ad esempio, potresti avere un'applicazione personalizzata che invia punti dati dal software distribuito in un'istanza EC2 a una metrica personalizzata. Per evitare la perdita di dati, è possibile configurare l'applicazione per ripetere le chiamate API non riuscite. Tuttavia, a causa di un fattore esterno (ad esempio, una modifica delle impostazioni VPC), l'istanza perde la connettività con CloudWatch. In questo scenario, l'ambiente genera comunque dati. Ma i punti dati inviati non funzionano finché il problema esterno non viene risolto.

Se hai impostato un allarme standard, l'allarme valuta la metrica ogni minuto. Durante la valutazione, l'allarme ottiene gli ultimi dati disponibili dalla metrica configurata. Durante questo periodo senza connettività, l'allarme sta ancora valutando la metrica. Poiché i punti dati non vengono consegnati correttamente a CloudWatch, l'allarme non è in grado di recuperare alcun dato per quei periodi di valutazione. Ciò attiva uno stato\ _DATA INSUFFICIENTE.

Dopo aver ripristinato la connettività, l'applicazione invia il backlog di punti dati, ognuno con il proprio timestamp. Poiché i punti dati vengono inviati dopo questo ritardo, l'allarme può ora recuperare i punti dati recenti in base al periodo e al periodo di valutazione specificati. A questo punto, non vedrai più spazi vuoti nella metrica, perché i punti dati sono ora archiviati in CloudWatch. Tuttavia, poiché l'allarme ha già valutato tale intervallo di tempo, la cronologia degli allarmi mostra ancora un messaggio simile a:

[...]
   "stateValue": "INSUFFICIENT_DATA",
   "stateReason": "Insufficient Data: 2 datapoints were unknown.",
   [...]

Se non desideri che l'allarme sia nello stato INSUFFICIENT\ _DATA, puoi modificare il modo in cui l'allarme tratta i dati mancanti.


AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa