Monitorar a biblioteca de cliente Kinesis com o Amazon CloudWatch - Amazon Kinesis Data Streams

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitorar a biblioteca de cliente Kinesis com o Amazon CloudWatch

OBiblioteca de cliente Kinesis(KCL) para Amazon Kinesis Data Streams publica Amazon personalizada CloudWatch Usar métricas em seu nome, usando o nome do aplicativo KCL como o namespace. Você pode visualizar essas métricas navegando até oConsole do CloudWatche escolhendoMétricas personalizadas do. Para obter mais informações sobre métricas personalizadas, consultePublicar métricas personalizadasnoAmazônia CloudWatch Guia do usuário do.

Há uma cobrança nominal para as métricas obtidas por upload no no. CloudWatch pelo KCL; especificamente,Amazônia CloudWatch Métricas personalizadas doeAmazônia CloudWatch Solicitações da API doAplicam-se cobranças aplicáveis. Para obter mais informações, consulteAmazônia CloudWatch Definição de preços.

Métricas e namespace

O namespace usado para fazer o carregamento de métricas é o nome do aplicativo especificado quando você executar o KCL.

Dimensões e níveis de métricas

Há duas opções para controlar quais métricas são carregadas para o CloudWatch:

níveis de métrica

Cada métrica é atribuída a um nível individual. Quando você define um nível de relatório de métricas, as métricas com um nível individual abaixo do nível de relatório não são enviadas ao CloudWatch. Os níveis são: NONE, SUMMARY e DETAILED. A configuração padrão éDETAILEDOu seja, todas as métricas são enviadas ao CloudWatch. Um nível de relatório NONE significa que nenhuma métrica é enviada. Para obter informações sobre quais níveis são atribuídos a quais métricas, consulte Lista de métricas.

dimensões habilitadas

Cada métrica do KCL tem dimensões associadas que também são enviadas ao CloudWatch. No KCL 2.x, se o KCL estiver configurado para processar um único fluxo de dados, todas as dimensões métricas (Operation,ShardId, eWorkerIdentifierPor padrão, as) estão ativadas. Além disso, no KCL 2.x, se o KCL estiver configurado para processar um único fluxo de dados,OperationNão é possível desativar a dimensão. No KCL 2.x, se o KCL estiver configurado para processar vários fluxos de dados, todas as métricas dimenções (Operation,ShardId,StreamId, eWorkerIdentifierPor padrão, as) estão ativadas. Além disso, no KCL 2.x, se o KCL estiver configurado para processar vários fluxos de dados, oOperationO e aStreamIdDimensões não podem ser desativadas.StreamIdA dimenção está disponível somente para métricas por estilhaço.

No KCL 1.x, apenas oOperationO e aShardIdAs dimensões do são habilitadas por padrão, e oWorkerIdentifierdimensão está desativada. No KCL 1.x, oOperationNão é possível desativar a dimensão.

Para obter mais informações sobre CloudWatch dimensões métricas, consulte oDimensõesseção na Amazon CloudWatch Tópico de conceitos, noAmazônia CloudWatch Guia do usuário do.

Quando oWorkerIdentifierA dimensão está habilitada, se um valor diferente é usado para a propriedade do ID do operador toda vez que um determinado operador do KCL é reiniciado, novos conjuntos de métricas com novos conjuntos de métricas com novosWorkerIdentifiervalores de dimensão são enviados para o CloudWatch. Se você precisar doWorkerIdentifierO valor da dimensão para ser o mesmo entre reinicializações de um operador do KCL específico; é necessário especificar explicitamente o mesmo valor do ID do operador durante a inicialização para cada operador. Observe que o valor do ID do operador para cada operador do KCL ativo precisa ser exclusivo em todos os operadores da KCL.

Configuração da métrica

Os níveis métrica e as dimensões habilitadas podem ser configurados com a KinesisClientLibConfiguration A instância, que é passada ao operador na inicialização do aplicativo KCL. No MultiLangDaemon O casometricsLevelemetricsEnabledDimensionsAs propriedades podem ser especificadas no arquivo .properties usado para ativar o MultiLangDaemon Aplicativo KCL.

Os níveis métricos podem ser atribuídos a um dos três valores: NENHUM, RESUMO ou DETALHADO. Os valores de dimensões habilitadas precisam ser strings separadas por vírgulas com a lista de dimensões que são permitidas para o CloudWatch Métricas do . As dimensões usadas pelo aplicativo KCL sãoOperation,ShardId, eWorkerIdentifier.

Lista de métricas

As tabelas a seguir listam as métricas do KCL, agrupadas por escopo e operação.

Métricas por aplicativo KCL

Essas métricas são agregadas em todos os operadores da KCL no escopo do aplicativo, conforme definido pela Amazon CloudWatch Namespace.

InitializeTask

OInitializeTaskA operação é responsável por inicializar o processador de registros para o aplicativo KCL. A lógica dessa operação inclui a obtenção de um iterador de estilhaços do Kinesis Data Streams e a inicialização do processador de registros.

Métrica Descrição
KinesisDataFetcher.getIterator.Success

Número de bem-sucedidosGetShardIteratoroperações por aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Contagem

KinesisDataFetcher.getIterator.Time

Tempo gasto porGetShardIteratoroperação para o aplicativo KCL fornecido.

Nível de métrica: Detalhado

Unidades: Milissegundos

RecordProcessor.initialize.Time

Tempo percorrido pelo método de inicialização do processador de registros.

Nível de métrica: Resumo

Unidades: Milissegundos

Bem-sucedida

Número de inicializações bem-sucedidas do processador de registros.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo gasto pelo operador da KCL para a inicialização do processador de registros.

Nível de métrica: Resumo

Unidades: Milissegundos

ShutdownTask

A operação ShutdownTask inicia a sequência de desligamento para o processamento de estilhaço. Isso pode ocorrer porque um estilhaço é dividido ou mesclado, ou quando a concessão do estilhaço é perdida no operador. Em ambos os casos, a função shutdown() do processador de registros é chamada. Novos estilhaços também são descobertos no caso em que um estilhaço é dividido ou mesclado, resultando na criação de um ou dois novos estilhaços.

Métrica Descrição
CreateLease.Success

Número de vezes que novos estilhaços filho são adicionados com sucesso à tabela do DynamoDB do aplicativo KCL após o desligamento do estilhaço pai.

Nível de métrica: Detalhado

Unidades: Contagem

CreateLease.Time

Tempo usado para adicionar informações do novo estilhaço filho à tabela do DynamoDB do aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Milissegundos

UpdateLease.Success

Número de pontos de verificação finais bem-sucedidos durante o desligamento do processador de registros.

Nível de métrica: Detalhado

Unidades: Contagem

UpdateLease.Time

Tempo necessário para a operação de pontos de verificação durante o desligamento do processador de registros.

Nível de métrica: Detalhado

Unidades: Milissegundos

RecordProcessor.shutdown.Time

Tempo percorrido pelo método de desligamento do processador de registros.

Nível de métrica: Resumo

Unidades: Milissegundos

Bem-sucedida

Número de tarefas de desligamento bem-sucedidas.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido pelo operador da KCL para a tarefa de desligamento.

Nível de métrica: Resumo

Unidades: Milissegundos

ShardSyncTask

OShardSyncTaskA operação detecta alterações nas informações de estilhaços do stream de dados do Kinesis, para que novos estilhaços possam ser processados pelo aplicativo KCL.

Métrica Descrição
CreateLease.Success

Número de tentativas bem-sucedidas para adicionar novas informações de estilhaços à tabela do DynamoDB do aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Contagem

CreateLease.Time

Tempo usado para adicionar informações do novo estilhaço à tabela do DynamoDB do aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Milissegundos

Bem-sucedida

Número de operações bem-sucedidas de sincronização de estilhaços.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido para a operação de sincronização de estilhaços.

Nível de métrica: Resumo

Unidades: Milissegundos

BlockOnParentTask

Se o estilhaço é dividido ou mesclado com outros, novos estilhaços filhos são criados. OBlockOnParentTaskA operação garante que o processamento de registros dos novos estilhaços não será iniciado até que os estilhaços pai sejam completamente processados pela KCL.

Métrica Descrição
Bem-sucedida

Número de verificações bem-sucedidas para a conclusão de estilhaços pai.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido para a conclusão de estilhaços pai.

Nível de métrica: Resumo

Unidade: Milissegundos

PeriodicShardSyncManager

OPeriodicShardSyncManageré responsável por examinar os fluxos de dados que estão sendo processados pelo aplicativo consumidor KCL, identificar fluxos de dados com arrendamentos parciais e entregá-los para sincronização.

As seguintes métricas estão disponíveis quando o KCL está configurado para processar um único fluxo de dados (então o valor de NumStreamsToSync e NumStreamsWithPartialLeases está definido como 1) e também quando o KCL está configurado para processar vários fluxos de dados.

Métrica Descrição
NumStreamStoSync

O número de fluxos de dados (porAWSconta) sendo processado pelo aplicativo consumidor que contém arrendamentos parciais e que devem ser distribuídos para sincronização.

Nível de métrica: Resumo

Unidades: Contagem

NumStreamsWithPartialLeases

O número de fluxos de dados (porAWSconta) que o aplicativo do consumidor está processando que contém arrendamentos parciais.

Nível de métrica: Resumo

Unidades: Contagem

Bem-sucedida

O número de vezesPeriodicShardSyncManagerfoi capaz de identificar com êxito locações parciais nos fluxos de dados que o aplicativo do consumidor está processando.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

A quantidade de tempo (em milissegundos) que oPeriodicShardSyncManagerleva para examinar os fluxos de dados que o aplicativo consumidor está processando, a fim de determinar quais fluxos de dados requerem sincronização de fragmento.

Nível de métrica: Resumo

Unidades: Milissegundos

MultistreamTracker

OMultistreamTrackerpermite que você crie aplicativos de consumidor KCL que podem processar vários fluxos de dados ao mesmo tempo.

Métrica Descrição
DeletedStreams.count

O número de fluxos de dados excluídos neste período de tempo.

Nível de métrica: Resumo

Unidades: Contagem

ActiveStreams.count

O número de fluxos de dados ativos sendo processados.

Nível de métrica: Resumo

Unidades: Contagem

StreamSpendingDeletion.count

O número de fluxos de dados que estão pendentes de exclusão com base emFormerStreamsLeasesDeletionStrategy.

Nível de métrica: Resumo

Unidades: Contagem

Métricas por operador

Essas métricas são agregadas em todos os processadores de registros que consomem dados de um stream de dados do Kinesis, como uma instância do Amazon EC2.

RenewAllLeases

A operação RenewAllLeases renova periodicamente concessões de estilhaços de propriedade de uma determinada instância de operador.

Métrica Descrição
RenewLease.Success

Número de renovações bem-sucedidas de concessões por parte do operador.

Nível de métrica: Detalhado

Unidades: Contagem

RenewLease.Time

O tempo necessário para a operação de renovação de concessões.

Nível de métrica: Detalhado

Unidades: Milissegundos

CurrentLeases

Número de concessões de estilhaços pertencentes ao operador depois que todas as concessões foram renovadas.

Nível de métrica: Resumo

Unidades: Contagem

LostLeases

Número de concessões de estilhaços perdidas após uma tentativa de renovar todas as concessões pertencentes ao operador.

Nível de métrica: Resumo

Unidades: Contagem

Bem-sucedida

Número de vezes que a operação de renovação da concessão foi bem-sucedida para o operador.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido para renovar todas as concessões para o operador.

Nível de métrica: Resumo

Unidades: Milissegundos

TakeLeases

OTakeLeasesA operação equilibra o processamento de registros entre todos os operadores da KCL. Se o operador do KCL atual tem menos concessões de estilhaços que o necessário, usa concessões de estilhaços de outro operador que está sobrecarregado.

Métrica Descrição
ListLeases.Success

Número de vezes que todas as concessões de estilhaços foram recuperadas com sucesso da tabela do DynamoDB do aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Contagem

ListLeases.Time

Tempo usado para recuperar todas as concessões de estilhaços da tabela do DynamoDB do aplicativo KCL.

Nível de métrica: Detalhado

Unidades: Milissegundos

TakeLease.Success

Número de vezes que o operador usou com êxito concessões de estilhaços de outros operadores da KCL.

Nível de métrica: Detalhado

Unidades: Contagem

TakeLease.Time

Tempo percorrido para atualizar a tabela de concessão com concessões executadas pelo operador.

Nível de métrica: Detalhado

Unidades: Milissegundos

NumWorkers

Número total de operadores, conforme identificado por um operador específico.

Nível de métrica: Resumo

Unidades: Contagem

NeededLeases

Número de concessões de estilhaços que o operador atual precisa para uma carga de processamento de estilhaços equilibrada.

Nível de métrica: Detalhado

Unidades: Contagem

LeasesToTake

O número de concessões que o operador tentará executar.

Nível de métrica: Detalhado

Unidades: Contagem

TakenLeases

Número de concessões realizadas com sucesso pelo operador.

Nível de métrica: Resumo

Unidades: Contagem

TotalLeases

Número total de estilhaços que o aplicativo KCL está processando.

Nível de métrica: Detalhado

Unidades: Contagem

ExpiredLeases

Número total de estilhaços que não estão sendo processados por nenhum operador, conforme identificado pelo operador específico.

Nível de métrica: Resumo

Unidades: Contagem

Bem-sucedida

Número de vezes que a operação TakeLeases foi concluída com sucesso.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido pela operação TakeLeases para um operador.

Nível de métrica: Resumo

Unidades: Milissegundos

Métricas por estilhaço

Essas métricas são agregadas em um único processador de registros.

ProcessTask

OProcessTaskChamadas de operaçãoGetRecordsCom a posição do iterador atual para recuperar registros do stream e chama o processador de registros do e chama o processador de registrosprocessRecordsfunção.

Métrica Descrição
KinesisDataFetcher.getRecords.Success

Número de bem-sucedidosGetRecordsoperações por fragmento de fluxo de dados do Kinesis.

Nível de métrica: Detalhado

Unidades: Contagem

KinesisDataFetcher.getRecords.Time

Tempo gasto porGetRecordsoperação para o estilhaço de fluxo de dados do Kinesis.

Nível de métrica: Detalhado

Unidades: Milissegundos

UpdateLease.Success

Número de pontos de verificação bem-sucedidos feitos pelo processador de registros para o determinado estilhaço.

Nível de métrica: Detalhado

Unidades: Contagem

UpdateLease.Time

Tempo percorrido para cada operação de ponto de verificação para o determinado estilhaço.

Nível de métrica: Detalhado

Unidades: Milissegundos

DataBytesProcessed

Tamanho total de registros processados em bytes em cada chamada de ProcessTask.

Nível de métrica: Resumo

Unidades: Byte

RecordsProcessed

Número de registros processados em cada chamada de ProcessTask.

Nível de métrica: Resumo

Unidades: Contagem

ExpiredIterator

Número de ExpiredIteratorException recebido ao ligarGetRecords.

Nível de métrica: Resumo

Unidades: Contagem

MillisBehindLatest Tempo em que o iterador atual está atrás do registro mais recente (ponta) no estilhaço. Esse valor é menor ou igual à diferença da hora entre o registro mais recente em uma resposta e a hora atual. Esse é um reflexo mais preciso da distância em que um estilhaço está da ponta do que a comparação de time stamps no último registro de resposta. Esse valor se aplica ao último lote de registros, não a uma média de todos os time stamps em cada registro.

Nível de métrica: Resumo

Unidades: Milissegundos

RecordProcessor.processRecords.Time

Tempo percorrido pelo método processRecords do processador de registros.

Nível de métrica: Resumo

Unidades: Milissegundos

Bem-sucedida

Número de operações bem-sucedidas de tarefas do processo.

Nível de métrica: Resumo

Unidades: Contagem

Tempo

Tempo percorrido para a operação de tarefas do processo.

Nível de métrica: Resumo

Unidades: Milissegundos