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 client Kinesis con Amazon CloudWatch
La Kinesis Client Library (KCL) per Amazon Kinesis Data Streams pubblica CloudWatch metriche Amazon personalizzate per tuo conto, utilizzando il nome della tua applicazione KCL come namespace. Puoi visualizzare queste metriche accedendo alla console e scegliendo Metriche personalizzate. CloudWatch
È previsto un costo nominale per le metriche caricate CloudWatch da KCL; in particolare, si applicano i costi di Amazon CloudWatch Custom Metrics e Amazon API Requests. CloudWatch Per ulteriori informazioni, consulta Amazon Pricing. CloudWatch
Argomenti
Metriche e namespace
Lo spazio dei nomi utilizzato per caricare i parametri è il nome dell'applicazione che è necessario specificare quando si lancia la KCL.
Livelli e dimensioni delle metriche
Sono disponibili due opzioni per controllare quali parametri vengono caricati su CloudWatch:
- Livelli di parametri
-
A ogni parametro viene assegnato un livello individuale. Quando si imposta un livello di reporting delle metriche, le metriche con un livello individuale inferiore al livello di reporting non vengono inviate a. CloudWatch I livelli sono:
NONE,SUMMARYeDETAILED. L'impostazione predefinita èDETAILED: tutte le metriche vengono inviate a. CloudWatch Un livello di reporting diNONEsignifica che nessun parametro viene inviato. Per informazioni su quali livelli sono assegnati a quali parametri, consulta Elenco delle metriche. - Dimensioni abilitate
-
A ogni metrica KCL sono associate dimensioni a cui vengono inviate. CloudWatch In KCL 2.x, se KCL è configurato per elaborare un singolo flusso di dati, tutte le dimensioni dei parametri (
Operation,ShardIdeWorkerIdentifier) sono abilitate per impostazione predefinita. Inoltre, in KCL 2.x, se KCL è configurato per elaborare un singolo flusso di dati, la dimensioneOperationnon può essere disabilitata. In KCL 2.x, se KCL è configurato per elaborare più flussi di dati, tutte le dimensioni delle metriche (Operation,, e) sono abilitate per impostazioneShardIdpredefinitaStreamId.WorkerIdentifierInoltre, in KCL 2.x, se KCL è configurato per elaborare più flussi di dati, le dimensioni e non possono essere disabilitate.OperationStreamIdStreamIdla dimensione è disponibile solo per le metriche per shard.In KCL 1.x, solo le dimensioni
OperationeShardIdsono abilitate per impostazione predefinita, mentre la dimensioneWorkerIdentifierè disabilitata. In KCL 1.x, la dimensioneOperationnon può essere disabilitata.Per ulteriori informazioni sulle dimensioni CloudWatch metriche, consulta la sezione Dimensioni nell'argomento Amazon CloudWatch Concepts, nella Amazon CloudWatch User Guide.
Quando la
WorkerIdentifierdimensione è abilitata, se viene utilizzato un valore diverso per la proprietà ID del lavoratore ogni volta che un determinato lavoratore KCL si riavvia, vengono inviati nuovi set di metriche con nuovi valori diWorkerIdentifierdimensione. CloudWatch Se necessiti che il valore della dimensioneWorkerIdentifiersia lo stesso ogni volta che viene riavviato un determinato worker KCL, devi specificare esplicitamente lo stesso valore di ID worker durante l'inizializzazione per ogni worker. Si noti che il valore di ID worker per ogni worker attivo della KCL deve essere univoco per tutti i worker KCL.
Configurazione delle metriche
I livelli delle metriche e le dimensioni abilitate possono essere configurati utilizzando l' KinesisClientLibConfiguration istanza, che viene passata a Worker all'avvio dell'applicazione KCL. MultiLangDaemon In tal caso, le metricsEnabledDimensions proprietà metricsLevel and possono essere specificate nel file .properties utilizzato per avviare l'applicazione KCL. MultiLangDaemon
Ai livelli di parametri può essere assegnato uno dei tre valori seguenti: NONE, SUMMARY o DETAILED. I valori delle dimensioni abilitate devono essere stringhe separate da virgole con l'elenco delle dimensioni consentite per le metriche. CloudWatch Le dimensioni utilizzate dall'applicazione KCL sono Operation, ShardId e WorkerIdentifier.
Elenco delle metriche
Le seguenti tabelle riportano i parametri della KCL raggruppati in base all'ambito e all'operazione.
Per-KCL-application metriche
Queste metriche sono aggregate tra tutti i lavoratori KCL nell'ambito dell'applicazione, come definito dal namespace Amazon. CloudWatch
Argomenti
LeaseAssignmentManager
L'LeaseAssignmentManageroperazione è responsabile dell'assegnazione dei contratti di locazione ai lavoratori e del riequilibrio dei contratti di locazione tra i lavoratori per ottenere un utilizzo uniforme delle risorse dei lavoratori. La logica di questa operazione include la lettura dei metadati relativi al leasing dalla tabella dei leasing e delle metriche dalla tabella delle metriche dei lavoratori e l'esecuzione delle assegnazioni del leasing.
| Metrica | Description |
|---|---|
|
LeaseAndWorkerMetricsLoad.Time |
Tempo impiegato per caricare tutti i leasing e le metriche dei lavoratori nel Lease Assignment Manager (LAM), il nuovo algoritmo di assegnazione dei leasing e bilanciamento del carico introdotto in KCL 3.x. Livello parametro: Detailed Unità: millisecondi |
| TotalLeases |
Numero totale di contratti di locazione per l'attuale applicazione KCL. Livello parametro: Summary Unità: numero |
| NumWorkers |
Numero totale di lavoratori nell'attuale applicazione KCL. Livello parametro: Summary Unità: numero |
|
AssignExpiredOrUnassignedLeases.Time |
Tempo necessario per eseguire l'assegnazione in memoria dei contratti di locazione scaduti. Livello parametro: Detailed Unità: millisecondi |
| LeaseSpillover |
Numero di contratti di locazione non assegnati a causa del raggiungimento del limite massimo di contratti di locazione o della produttività massima per lavoratore. Livello parametro: Summary Unità: numero |
|
BalanceWorkerVariance.Time |
È ora di eseguire un bilanciamento in memoria dei contratti di locazione tra i lavoratori. Livello parametro: Detailed Unità: millisecondi |
|
NumOfLeasesReassignment |
Numero totale di riassegnazioni del leasing effettuate nell'iterazione di riassegnazione corrente. Livello parametro: Summary Unità: numero |
|
FailedAssignmentCount |
Numero di errori nelle chiamate alla tabella di leasing di DynamoDB AssignLease . Livello parametro: Detailed Unità: numero |
|
ParallelyAssignLeases.Time |
È ora di inserire nuove assegnazioni nella tabella di leasing di DynamoDB. Livello parametro: Detailed Unità: millisecondi |
|
ParallelyAssignLeases.Success |
Numero di nuovi incarichi completati con successo. Livello parametro: Detailed Unità: numero |
|
TotalStaleWorkerMetricsEntry |
Numero totale di voci relative alle metriche relative ai lavoratori da ripulire. Livello parametro: Detailed Unità: numero |
| StaleWorkerMetricsCleanup.Time |
È ora di eliminare le voci delle metriche dei lavoratori dalla tabella delle metriche dei lavoratori di DynamoDB. Livello parametro: Detailed Unità: millisecondi |
| Orario |
Tempo impiegato dall'operazione. Livello parametro: Summary Unità: millisecondi |
| Completato |
Numero di volte in cui l'operazione Livello parametro: Summary Unità: numero |
| ForceLeaderRelease |
Indica che il responsabile dell'assegnazione del contratto di locazione ha fallito per 3 volte consecutive e che il lavoratore dirigente sta rilasciando la leadership. Livello parametro: Summary Unità: numero |
|
NumWorkersWithInvalidEntry |
Numero di voci relative alle metriche relative ai lavoratori considerate non valide. Livello parametro: Summary Unità: numero |
|
NumWorkersWithFailingWorkerMetric |
Numero di voci delle metriche dei lavoratori che hanno -1 (che rappresenta il valore della metrica del lavoratore non è disponibile) come uno dei valori per le metriche dei lavoratori. Livello parametro: Summary Unità: numero |
|
LeaseDeserializationFailureCount |
Voce del leasing dalla tabella dei leasing che non è stata deserializzata. Livello parametro: Summary Unità: numero |
InitializeTask
L'operazione InitializeTask è responsabile dell'inizializzazione del processore di record per l'applicazione KCL. La logica per questa operazione include l'acquisizione di un iteratore di partizione da Flussi di dati Kinesis e l'inizializzazione del processore di record.
| Metrica | Description |
|---|---|
| KinesisDataFetcher.getIterator.Success |
Numero di operazioni Livello parametro: Detailed Unità: numero |
| KinesisDataFetcher.getIterator.Time |
Tempo impiegato per l'operazione Livello parametro: Detailed Unità: millisecondi |
| RecordProcessor.initialize.Time |
Tempo impiegato dal metodo di inizializzazione del processore di record. Livello parametro: Summary Unità: millisecondi |
| Completato |
Numero di inizializzazioni corrette del processore di record. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato dal worker KCL per l'inizializzazione del processore di record. Livello parametro: Summary Unità: millisecondi |
ShutdownTask
L'operazione ShutdownTask avvia la sequenza di arresto per l'elaborazione di shard. Questa situazione può verificarsi perché uno shard viene frazionato o fuso, oppure quando il lease dello shard viene perso dal lavoratore. In entrambi i casi, viene invocata la funzione shutdown() del processore di record. Nuovi shard vengono individuati anche nel caso in cui uno shard sia stato frazionato o fuso; ciò comporta la creazione di uno o due nuovi shard.
| Metrica | Description |
|---|---|
| CreateLease.Success |
Numero di volte in cui le nuove partizioni secondarie vengono aggiunte correttamente nella tabella DynamoDB dell'applicazione KCL dopo l'arresto della partizione principale. Livello parametro: Detailed Unità: numero |
| CreateLease.Time |
Tempo impiegato per l'aggiunta delle informazioni relative alla nuova partizione secondaria nella tabella DynamoDB dell'applicazione KCL. Livello parametro: Detailed Unità: millisecondi |
| UpdateLease.Success |
Numero di checkpoint finali corretti durante l'arresto del processore di record. Livello parametro: Detailed Unità: numero |
| UpdateLease.Time |
Tempo impiegato dall'operazione di checkpoint durante l'arresto del processore di record. Livello parametro: Detailed Unità: millisecondi |
| RecordProcessor.shutdown.Time |
Tempo impiegato dal metodo di arresto del processore di record. Livello parametro: Summary Unità: millisecondi |
| Completato |
Numero di attività di arresto corrette. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato dal worker KCL per l'attività di arresto. Livello parametro: Summary Unità: millisecondi |
ShardSyncTask
L'operazione ShardSyncTask rileva le modifiche alle informazioni relative alla partizione per il flusso di dati Kinesis, pertanto le nuove partizioni possono essere elaborate dall'applicazione KCL.
| Metrica | Description |
|---|---|
| CreateLease.Success |
Numero di tentativi riusciti di aggiunta di nuove informazioni relative alla partizione nella tabella DynamoDB dell'applicazione KCL. Livello parametro: Detailed Unità: numero |
| CreateLease.Time |
Tempo impiegato per l'aggiunta delle informazioni relative alla nuova partizione nella tabella DynamoDB dell'applicazione KCL. Livello parametro: Detailed Unità: millisecondi |
| Completato |
Numero di operazioni di sincronizzazione dello shard corrette. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato per l'operazione di sincronizzazione dello shard. Livello parametro: Summary Unità: millisecondi |
BlockOnParentTask
Se lo shard viene frazionato o fuso con altri shard, vengono creati nuovi shard secondari. L'operazione BlockOnParentTask garantisce che l'elaborazione dei record per le nuove partizioni non inizi fino a quando le partizioni principali non siano state completamente elaborate dalla KCL.
| Metrica | Description |
|---|---|
| Completato |
Numero di controlli corretti per il completamento dello shard principale. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato per il completamento degli shard principali. Livello parametro: Summary Unità: millisecondi |
PeriodicShardSyncManager
PeriodicShardSyncManager è responsabile dell'esame dei flussi di dati elaborati dall'applicazione consumer KCL, dell'identificazione dei flussi di dati con leasing parziali e della loro trasmissione per la sincronizzazione.
Le seguenti metriche sono disponibili quando KCL è configurato per elaborare un singolo flusso di dati (quindi il valore di NumStreamsToSync e NumStreamsWithPartialLeases è impostato su 1) e anche quando KCL è configurato per elaborare più flussi di dati.
| Metrica | Description |
|---|---|
| NumStreamsToSync |
Il numero di flussi di dati (per AWS account) elaborati dall'applicazione consumer che contiene leasing parziali e che devono essere trasmessi per la sincronizzazione. Livello parametro: Summary Unità: numero |
| NumStreamsWithPartialLeases |
Il numero di flussi di dati (per AWS account) che l'applicazione consumer sta elaborando e che contengono leasing parziali. Livello parametro: Summary Unità: numero |
| Completato |
Il numero di volte in cui Livello parametro: Summary Unità: numero |
| Orario |
Il tempo (in millisecondi) Livello parametro: Summary Unità: millisecondi |
MultistreamTracker
L'interfaccia MultistreamTracker consente di creare applicazioni consumer KCL in grado di elaborare più flussi di dati contemporaneamente.
| Metrica | Description |
|---|---|
| DeletedStreams.Count |
Il numero di flussi di dati eliminati in questo periodo di tempo. Livello parametro: Summary Unità: numero |
| ActiveStreams.Count |
Il numero di flussi di dati attivi in fase di elaborazione. Livello parametro: Summary Unità: numero |
| StreamsPendingDeletion.Count |
Il numero di flussi di dati in attesa di eliminazione in base a Livello parametro: Summary Unità: numero |
Per-worker metriche
Questi parametri vengono aggregati in tutti i processori di record che consumano dati da un flusso di dati Kinesis, come ad esempio, un'istanza Amazon EC2.
WorkerMetricStatsReporter
L'WorkerMetricStatReporteroperazione è responsabile della pubblicazione periodica delle metriche del lavoratore corrente nella tabella delle metriche del lavoratore. Queste metriche vengono utilizzate dall'LeaseAssignmentManageroperazione per eseguire le assegnazioni di leasing.
| Metrica | Description |
|---|---|
|
InMemoryMetricStatsReporterFailure |
Numero di errori nell'acquisizione del valore della metrica dei lavoratori in memoria, dovuti al fallimento di alcune metriche relative ai lavoratori. Livello parametro: Summary Unità: numero |
|
WorkerMetricStatsReporter.Time |
Tempo impiegato dall'operazione. Livello parametro: Summary Unità: millisecondi |
|
WorkerMetricStatsReporter.Success |
Numero di volte in cui l'operazione Livello parametro: Summary Unità: numero |
LeaseDiscovery
L'LeaseDiscoveryoperazione è responsabile dell'identificazione dei nuovi contratti di locazione assegnati al lavoratore corrente dall'LeaseAssignmentManageroperazione. La logica di questa operazione prevede l'identificazione dei contratti di locazione assegnati al lavoratore corrente leggendo l'indice secondario globale della tabella dei contratti di locazione.
| Metrica | Description |
|---|---|
|
ListLeaseKeysForWorker.Time |
È ora di richiamare l'indice secondario globale nella tabella di leasing e ottenere le chiavi di leasing assegnate al lavoratore corrente. Livello parametro: Detailed Unità: millisecondi |
|
FetchNewLeases.Time |
È ora di recuperare tutti i nuovi contratti di locazione dalla tabella dei leasing. Livello parametro: Detailed Unità: millisecondi |
|
NewLeasesDiscovered |
Numero totale di nuovi contratti di locazione assegnati ai lavoratori. Livello parametro: Detailed Unità: numero |
|
Orario |
Tempo impiegato dall' Livello parametro: Summary Unità: millisecondi |
|
Completato |
Numero di volte in cui l'operazione Livello parametro: Summary Unità: numero |
|
OwnerMismatch |
Numero di mancate corrispondenze tra proprietario e risposta del GSI e lettura coerente della tabella di locazione. Livello parametro: Detailed Unità: numero |
RenewAllLeases
L'operazione RenewAllLeases rinnova periodicamente i lease di shard di proprietà di una determinata istanza di lavoratore.
| Metrica | Description |
|---|---|
| RenewLease.Success |
Numero di rinnovi corretti di lease da parte del lavoratore. Livello parametro: Detailed Unità: numero |
| RenewLease.Time |
Tempo impiegato dall'operazione di rinnovo del lease. Livello parametro: Detailed Unità: millisecondi |
| CurrentLeases |
Numero di lease di shard di proprietà del lavoratore dopo il rinnovo di tutti i lease. Livello parametro: Summary Unità: numero |
| LostLeases |
Numero di lease di shard perduti a seguito di un tentativo di rinnovo di tutti i lease di proprietà del lavoratore. Livello parametro: Summary Unità: numero |
| Completato |
Numero di volte in cui l'operazione di rinnovo del contratto di locazione ha avuto successo per il lavoratore. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato per rinnovare tutti i lease per il lavoratore. Livello parametro: Summary Unità: millisecondi |
TakeLeases
L'operazione TakeLeases bilancia l'elaborazione di record tra tutti i worker KCL. Se il worker KCL corrente ha un numero di lease di partizione inferiore rispetto al necessario, utilizza i lease di partizione di un altro worker che è sovraccarico.
| Metrica | Description |
|---|---|
| ListLeases.Success |
Numero di volte in cui tutti i lease di partizione sono stati recuperati correttamente dalla tabella DynamoDB dell'applicazione KCL. Livello parametro: Detailed Unità: numero |
| ListLeases.Time |
Tempo impiegato per recuperare tutti i lease di partizione dalla tabella DynamoDB dell'applicazione KCL. Livello parametro: Detailed Unità: millisecondi |
| TakeLease.Success |
Numero di volte in cui il worker ha utilizzato correttamente lease di partizione di altri worker KCL. Livello parametro: Detailed Unità: numero |
| TakeLease.Time |
Tempo impiegato per aggiornare la tabella di lease con i lease di altri lavoratori utilizzati dal lavoratore. Livello parametro: Detailed Unità: millisecondi |
| NumWorkers |
Numero totale di lavoratori, come identificato da un determinato lavoratore. Livello parametro: Summary Unità: numero |
| NeededLeases |
Numero di lease di shard che l'attuale lavoratore necessita per un carico equilibrato di elaborazione di shard. Livello parametro: Detailed Unità: numero |
| LeasesToTake |
Numero di lease di altri lavoratori che il lavoratore cercherà di utilizzare. Livello parametro: Detailed Unità: numero |
| TakenLeases |
Numero di lease di altri lavoratori utilizzati correttamente dal lavoratore. Livello parametro: Summary Unità: numero |
| TotalLeases |
Numero totale di partizioni che l'applicazione KCL sta elaborando. Livello parametro: Detailed Unità: numero |
| ExpiredLeases |
Numero totale di shard che non vengono elaborati da nessun lavoratore, come identificato dal lavoratore specifico. Livello parametro: Summary Unità: numero |
| Completato |
Numero di volte in cui l'operazione Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato dall'operazione Livello parametro: Summary Unità: millisecondi |
Per-shard metriche
Questi parametri si aggregano in un singolo processore di record.
ProcessTask
L'operazione ProcessTask chiama GetRecords con la posizione attuale dell'iteratore per recuperare record dal flusso e richiama la funzione processRecords del processore di record.
| Metrica | Description |
|---|---|
| KinesisDataFetcher.getRecords.Success |
Numero di operazioni Livello parametro: Detailed Unità: numero |
| KinesisDataFetcher.getRecords.Time |
Tempo impiegato per l'operazione Livello parametro: Detailed Unità: millisecondi |
| UpdateLease.Success |
Numero di checkpoint corretti eseguiti dal processore di record per un determinato shard. Livello parametro: Detailed Unità: numero |
| UpdateLease.Time |
Tempo impiegato per ogni operazione di checkpoint per un determinato shard. Livello parametro: Detailed Unità: millisecondi |
| DataBytesProcessed |
Dimensione totale dei record elaborati in byte in ogni invocazione di Livello parametro: Summary Unità: byte |
| RecordsProcessed |
Numero di record elaborati in ogni invocazione di Livello parametro: Summary Unità: numero |
| ExpiredIterator |
Numero di ExpiredIteratorException ricevute durante la chiamata Livello parametro: Summary Unità: numero |
| MillisBehindLatest | Ritardo dell'attuale iteratore rispetto all'ultimo record (estremità) nello shard. Questo valore è inferiore o pari alla differenza temporale tra l'ultimo record in una risposta e l'orario attuale. Questo è un riflesso più accurato della distanza di un frammento dalla punta rispetto al confronto dei timestamp nell'ultimo record di risposta. Questo valore si applica all'ultimo gruppo di record, non alla media di tutti i timestamp di ogni record. Livello parametro: Summary Unità: millisecondi |
| RecordProcessor.processRecords.Time |
Tempo impiegato dal metodo Livello parametro: Summary Unità: millisecondi |
| Completato |
Numero di operazioni di attività di processo corrette. Livello parametro: Summary Unità: numero |
| Orario |
Tempo impiegato per l'operazione di attività di processo. Livello parametro: Summary Unità: millisecondi |