Monitoraggio della Kinesis Producer Library con Amazon CloudWatch - Flusso di dati Amazon Kinesis

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à.

Monitoraggio della Kinesis Producer Library con Amazon CloudWatch

La Kinesis Producer Library (KPL) per Amazon Kinesis Data Streams pubblica metriche Amazon personalizzate per tuo conto. CloudWatch Puoi visualizzare queste metriche accedendo alla console e scegliendo Custom Metrics. CloudWatch Per ulteriori informazioni sui parametri personalizzati, consulta Publish Custom Metrics nella Amazon CloudWatch User Guide.

È previsto un costo nominale per i parametri caricati CloudWatch dal KPL; in particolare, si applicano i costi di Amazon CloudWatch Custom Metrics e CloudWatch Amazon API Requests. Per ulteriori informazioni, consulta la pagina CloudWatch dei prezzi di Amazon. La raccolta locale delle metriche non comporta costi CloudWatch.

Parametri, dimensioni e spazi dei nomi

È possibile specificare un nome di applicazione al momento dell'avvio della KPL, che viene poi utilizzato come parte di uno spazio dei nomi durante il caricamento dei parametri. Si tratta di un'opzione facoltativa; se il nome di un'applicazione non è impostato la KPL fornisce un valore predefinito.

È anche possibile configurare la KPL per aggiungere dimensioni aggiuntive arbitrarie ai parametri. Ciò è utile se desideri inserire dati più dettagliati nelle tue metriche. CloudWatch Ad esempio, è possibile aggiungere il nome host come una dimensione, che consente di identificare le distribuzioni di carico irregolari nel tuo parco. Tutte le impostazioni di configurazione della KPL sono immutabili, perciò non è possibile modificare queste dimensioni aggiuntive dopo l'inizializzazione dell'istanza KPL.

Livello dei parametri e granularità

Esistono due opzioni per controllare il numero di metriche caricate su: CloudWatch

Livelli di parametri

Si tratta di una calibrazione approssimativa dell'importanza di un parametro. A ogni parametro viene assegnato un livello. Quando imposti un livello, le metriche con livelli inferiori a cui non vengono inviate. CloudWatch I livelli sono NONE, SUMMARY e DETAILED. L'impostazione predefinita è DETAILED; cioè, tutti i parametri. NONE significa nessun parametro, per cui nessun parametro viene assegnato a quel livello.

Granularità

Ciò consente di controllare se lo stesso parametro è emesso a ulteriori livelli di granularità. I livelli sono GLOBAL, STREAM e SHARD. L'impostazione predefinita è SHARD, che contiene la maggior parte dei parametri granulari.

Quando SHARD viene scelto, i parametri vengono emessi con il nome di flusso e l'ID dello shard come dimensioni. Inoltre, lo stesso parametro è emesso anche con solo la dimensione del nome di flusso e il parametro senza il nome di flusso. Ciò significa che, per una particolare metrica, due stream con due shard ciascuno produrranno sette CloudWatch metriche: una per ogni shard, una per ogni stream e una complessiva; tutte che descrivono le stesse statistiche ma a diversi livelli di granularità. Per un'illustrazione, si veda il seguente diagramma.

I livelli differenti di granularità formano una gerarchia e tutti i parametri nel sistema formano alberi radicati nei nomi parametri:

MetricName (GLOBAL): Metric X Metric Y | | ----------------- ------------ | | | | StreamName (STREAM): Stream A Stream B Stream A Stream B | | -------- --------- | | | | ShardID (SHARD): Shard 0 Shard 1 Shard 0 Shard 1

Non tutti i parametri sono disponibili a livello di shard; alcuni sono disponibili a livello di flusso o sono di natura globale. Questi parametri non vengono prodotti a livello di shard, anche se hai abilitato i parametri a livello di shard (Metric Y nel diagramma precedente).

Quando si specifica una dimensione aggiuntiva, è necessario fornire valori per tuple:<DimensionName, DimensionValue, Granularity>. La granularità viene utilizzata per determinare dove viene inserita la dimensione personalizzata nella gerarchia: GLOBAL significa che la dimensione aggiuntiva viene inserita dopo il nome parametro, STREAM significa che viene inserita dopo il nome del flusso e SHARD significa che viene inserita dopo l'ID dello shard. Se sono indicate più dimensioni aggiuntive per livello di granularità, queste dimensioni sono inserite nell'ordine determinato.

Accesso locale e Amazon CloudWatch Upload

I parametri per l'istanza di KPL corrente sono disponibili in locale in tempo reale; puoi inviare una query alla KPL in qualsiasi momento per ottenerli. Il KPL calcola localmente la somma, la media, il minimo, il massimo e il conteggio di ogni metrica, ad esempio. CloudWatch

È possibile ottenere statistiche cumulative dall'inizio del programma fino al momento attuale o tramite una finestra continua per gli ultimi N secondi, dove N è un numero intero compreso tra 1 e 60.

Tutte le metriche possono essere caricate su. CloudWatch Ciò è particolarmente utile per aggregare i data tra più host, per il monitoraggio e per la creazione di allarmi. Questa funzionalità non è disponibile in locale.

Come descritto in precedenza, è possibile selezionare quali parametri caricare con le impostazioni di livello di parametro e granularità. I parametri che non vengono caricati sono disponibili in locale.

Il caricamento di singoli punti di dati è insostenibile in quando potrebbe produrre milioni di caricamenti al secondo, se il traffico è elevato. Per questo motivo, il KPL aggrega le metriche localmente in bucket da 1 minuto e carica un oggetto statistico una volta al minuto, per metrica CloudWatch abilitata.

Elenco dei parametri

Parametro Descrizione
UserRecordsReceived

Conteggio del numero di record utenti logici ricevuti dal core KPL per operazioni put. Non disponibile a livello di shard.

Livello parametro: Detailed

Unità: numero

UserRecordsPending

Campione periodico del numero di record di utenti attualmente in sospeso. Un record è in sospeso se è attualmente memorizzato nel buffer e in attesa di essere inviato, oppure se è stato inviato ed è in transito per il servizio di back-end. Non disponibile a livello di shard.

La KPL fornisce un metodo dedicato per recuperare questo parametro a livello globale e consentire ai clienti di gestire la loro velocità di put.

Livello parametro: Detailed

Unità: numero

UserRecordsPut

Conteggio del numero di record di utenti logici inseriti correttamente.

La KPL non conta i record non riusciti per questo parametro. In questo modo, la media offre la percentuale dei record inseriti correttamente, il conteggio offre il numero totale di tentativi e la differenza tra il conteggio e la somma offre il conteggio dei record non inseriti correttamente.

Livello parametro: Summary

Unità: numero

UserRecordsDataPut

Byte inseriti correttamente nei record di utenti logici.

Livello parametro: Detailed

Unità: byte

KinesisRecordsPut

Conteggio del numero di record del flusso di dati Kinesis inseriti correttamente (ogni record del flusso di dati Kinesis può contenere più record di utente).

La KPL restituisce zero per i record non riusciti. In questo modo, la media offre la percentuale dei record inseriti correttamente, il conteggio offre il numero totale di tentativi e la differenza tra il conteggio e la somma offre il conteggio dei record non inseriti correttamente.

Livello parametro: Summary

Unità: numero

KinesisRecordsDataPut

Byte nei record del flusso di dati Kinesis.

Livello parametro: Detailed

Unità: byte

ErrorsByCode

Conteggio di ogni tipo di codice di errore. Ciò introduce un'ulteriore dimensione di ErrorCode, in aggiunta alle dimensioni normali come StreamName e ShardId. Non tutti gli errori possono essere rintracciati in uno shard. Gli errori che non possono essere rintracciati vengono emessi esclusivamente a livello di flusso o a livello globale. Questo parametro acquisisce informazioni su elementi come il throttling, le variazioni nella mappatura degli shard, gli errori interni, l'indisponibilità del servizio, i tempi di attesa e così via.

Gli errori dell'API del flusso di dati Kinesis vengono conteggiati una volta per ogni record del flusso di dati Kinesis. Più record utente all'interno di un record di Flussi di dati Kinesis non generano conteggi multipli.

Livello parametro: Summary

Unità: numero

AllErrors

Questo parametro viene attivato dagli stessi errori di Errors by Code, ma non distingue tra i tipi. È utile come monitoraggio generale della percentuale di errori, senza richiedere una somma manuale dei conteggi di tutti i diversi tipi di errori.

Livello parametro: Summary

Unità: numero

RetriesPerRecord

Numero di nuovi tentativi eseguiti per record di utente. Viene emesso uno zero per i record che risultano corretti in un solo tentativo.

I dati vengono emessi nel momento in cui termina il record di un utente (se termina correttamente, non è possibile effettuare un nuovo tentativo). Se il valore record time-to-live è elevato, questa metrica potrebbe subire un notevole ritardo.

Livello parametro: Detailed

Unità: numero

BufferingTime

Il tempo tra l'arrivo di un record utente alla KPL e la sua uscita per il back-end. Queste informazioni sono nuovamente trasmesse all'utente per ogni record, ma sono disponibili anche sotto forma di statistica aggregata.

Livello parametro: Summary

Unità: millisecondi

Request Time

Tempo necessario per eseguire PutRecordsRequests.

Livello parametro: Detailed

Unità: millisecondi

User Records per Kinesis Record

Il numero di record utente logici aggregati in un singolo record di Flussi di dati Kinesis.

Livello parametro: Detailed

Unità: numero

Amazon Kinesis Records per PutRecordsRequest

Il numero di record del flusso di dati Kinesis aggregati in un singolo PutRecordsRequest. Non disponibile a livello di shard.

Livello parametro: Detailed

Unità: numero

User Records per PutRecordsRequest

Numero totale di record di utenti contenuti all'interno di una PutRecordsRequest. È approssimativamente equivalente al prodotto dei due parametri precedenti. Non disponibile a livello di shard.

Livello parametro: Detailed

Unità: numero