

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

# Monitora la libreria Kinesis Producer con Amazon CloudWatch
<a name="monitoring-with-kpl"></a>

[Amazon Kinesis Producer Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-kpl.html) (KPL) per Amazon Kinesis Data Streams pubblica metriche Amazon personalizzate per tuo conto. CloudWatch [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) Per ulteriori informazioni sui parametri personalizzati, consulta [Publish Custom Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) 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](https://aws.amazon.com/cloudwatch/pricing/). Per la raccolta di parametri locali non verrà addebitato alcun costo di CloudWatch.

**Topics**
+ [Metriche, dimensioni e namespace](#kpl-metrics)
+ [Livello metrico e granularità](#kpl-metrics-granularity)
+ [Accesso locale e CloudWatch caricamento su Amazon](#kpl-metrics-local-upload)
+ [Elenco delle metriche](#kpl-metrics-list)

## Metriche, dimensioni e namespace
<a name="kpl-metrics"></a>

È 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 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 metrico e granularità
<a name="kpl-metrics-granularity"></a>

Sono disponibili due opzioni per controllare il numero di parametri caricati 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 quello non vengono inviate a. 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 CloudWatch caricamento su Amazon
<a name="kpl-metrics-local-upload"></a>

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 delle metriche
<a name="kpl-metrics-list"></a>


| Metrica | Description | 
| --- | --- | 
| 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 inviato in elaborazione al servizio di backend. 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 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  | 
| 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   | 