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 Kinesis Client Library com a Amazon CloudWatch
A Kinesis Client Library (KCL) para o Amazon Kinesis Data Streams publica métricas personalizadas da CloudWatch Amazon em seu nome, usando o nome da aplicação da KCL como namespace. Você pode visualizar essas métricas navegando até o CloudWatch console
Há uma cobrança nominal para CloudWatch métricas CloudWatch personalizadas da Amazon e solicitações de CloudWatch API da Amazon. Para obter mais informações, consulte Amazon CloudWatch Pricing
Métricas e namespace
O namespace usado para o carregamento de métricas é o nome da aplicação especificado ao 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. Ao definir 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 para CloudWatch. Os níveis são:
NONE,SUMMARYeDETAILED. A configuração padrão éDETAILED, ou seja, todas as métricas são enviadas para CloudWatch. Um nível de relatórioNONEsignifica 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 da KCL tem dimensões associadas que também são enviadas para CloudWatch. Na KCL 2.x, se a KCL estiver configurada para processar um único fluxo de dados, todas as dimensões de métricas (
Operation,ShardIdeWorkerIdentifier) serão habilitadas por padrão. Além disso, na KCL 2.x, se a KCL estiver configurada para processar um único fluxo de dados, a dimensãoOperationnão poderá ser desabilitada. Na KCL 2.x, se a KCL estiver configurada para processar vários fluxos de dados, todas as dimensões de métricas (Operation,ShardId,StreamIdeWorkerIdentifier) serão habilitadas por padrão. Além disso, na KCL 2.x, se a KCL estiver configurada para processar vários fluxos de dados, asStreamIddimensõesOperatione as não poderão ser desabilitadas.StreamIda dimensão está disponível somente para as métricas por fragmento.Na KCL 1.x, apenas as dimensões
OperationeShardIdestão habilitadas por padrão, e a dimensãoWorkerIdentifierestá desabilitada. Na KCL 1.x, a dimensãoOperationnão pode ser desabilitada.Para obter mais informações sobre dimensões CloudWatch métricas, consulte a seção Dimensões no tópico Amazon CloudWatch Concepts, no Guia CloudWatch do usuário da Amazon.
Quando a
WorkerIdentifierdimensão está habilitada, se um valor diferente for usado para a propriedade do ID do operador toda vez que um determinado operador da KCL é reiniciado, novos conjuntos de métricas com novos valores daWorkerIdentifierdimensão serão enviados. CloudWatch Se houver necessidade de que o valor da dimensãoWorkerIdentifierseja o mesmo nas reinicializações de um operador da KCL específico, será 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 da KCL ativo precisa ser único entre todos os operadores da KCL.
Configuração da métrica
Os níveis de métrica e as dimensões habilitadas podem ser configurados com a KinesisClientLibConfiguration instância, que é passada ao operador na inicialização da aplicação da KCL. MultiLangDaemon Nesse caso, as metricsEnabledDimensions propriedades metricsLevel e podem ser especificadas no arquivo.properties usado para iniciar o aplicativo MultiLangDaemon KCL.
Os níveis de métrica podem ser atribuídos a um dos três valores: NONE, SUMMARY ou DETAILED. Os valores das dimensões habilitadas precisam ser strings separadas por vírgulas e constar da lista de dimensões permitidas para as métricas. CloudWatch As dimensões usadas pela aplicação da KCL são Operation, ShardId e WorkerIdentifier.
Lista de métricas
As tabelas a seguir listam as métricas da KCL agrupadas por escopo e operação.
Per-KCL-application métricas
Essas métricas são agregadas em todos os operadores da KCL no escopo da aplicação, conforme definido pelo namespace da Amazon CloudWatch .
Tópicos
LeaseAssignmentManager
A LeaseAssignmentManager operação é responsável por atribuir arrendamentos aos trabalhadores e reequilibrar os arrendamentos entre os trabalhadores para obter uma utilização uniforme dos recursos dos trabalhadores. A lógica dessa operação inclui a leitura dos metadados relacionados à concessão da tabela de locação e das métricas da tabela de métricas do trabalhador e a execução de atribuições de locação.
| Métrica | Descrição |
|---|---|
|
LeaseAndWorkerMetricsLoad.Hora |
Tempo gasto para carregar todas as entradas de leasing e métricas de trabalhadores no gerenciador de atribuição de leasing (LAM), o novo algoritmo de atribuição de leasing e balanceamento de carga introduzido no KCL 3.x. Nível de métrica: detalhado Unidade: milissegundos |
| TotalLeases |
Número total de concessões para o aplicativo KCL atual. Nível de métrica: resumo Unidades: contagem |
| NumWorkers |
Número total de trabalhadores no aplicativo KCL atual. Nível de métrica: resumo Unidades: contagem |
|
AssignExpiredOrUnassignedLeases.Hora |
Hora de realizar a atribuição em memória de locações expiradas. Nível de métrica: detalhado Unidade: milissegundos |
| LeaseSpillover |
Número de locações que não foram atribuídas devido ao limite do número máximo de locações ou da produtividade máxima por trabalhador. Nível de métrica: resumo Unidades: contagem |
|
BalanceWorkerVariance.Hora |
Hora de realizar o balanceamento na memória de arrendamentos entre trabalhadores. Nível de métrica: detalhado Unidade: milissegundos |
|
NumOfLeasesReassignment |
Número total de reatribuições de leasing feitas na iteração de reatribuição atual. Nível de métrica: resumo Unidades: contagem |
|
FailedAssignmentCount |
Número de falhas nas AssignLease chamadas para a tabela de lease do DynamoDB. Nível de métrica: detalhado Unidades: contagem |
|
ParallelyAssignLeases.Hora |
É hora de transferir novas atribuições para a tabela de leasing do DynamoDB. Nível de métrica: detalhado Unidade: milissegundos |
|
ParallelyAssignLeases.Sucesso |
Número de novas tarefas bem-sucedidas. Nível de métrica: detalhado Unidades: contagem |
|
TotalStaleWorkerMetricsEntry |
Número total de entradas de métricas do trabalhador que devem ser eliminadas. Nível de métrica: detalhado Unidades: contagem |
| StaleWorkerMetricsCleanup.Hora |
Hora de realizar a exclusão da entrada de métricas de trabalhadores da tabela de métricas de trabalhadores do DynamoDB. Nível de métrica: detalhado Unidade: milissegundos |
| Tempo |
Tempo gasto pela Nível de métrica: resumo Unidade: milissegundos |
| Bem-sucedida |
Número de vezes que a operação Nível de métrica: resumo Unidades: contagem |
| ForceLeaderRelease |
Indica que o gerente de atribuição de locação falhou 3 vezes consecutivas e que o funcionário líder está liberando a liderança. Nível de métrica: resumo Unidades: contagem |
|
NumWorkersWithInvalidEntry |
Número de entradas de métricas do trabalhador que são consideradas inválidas. Nível de métrica: resumo Unidades: contagem |
|
NumWorkersWithFailingWorkerMetric |
Número de entradas de métricas do trabalhador que tem -1 (representando o valor da métrica do trabalhador não disponível) como um dos valores das métricas do trabalhador. Nível de métrica: resumo Unidades: contagem |
|
LeaseDeserializationFailureCount |
Entrada de locação da tabela de locação que não foi desserializada. Nível de métrica: resumo Unidades: contagem |
InitializeTask
A operação InitializeTask é responsável por inicializar o processador de registros para a aplicação da KCL. A lógica dessa operação inclui a obtenção de um iterador de fragmentos do Kinesis Data Streams e a inicialização do processador de registros.
| Métrica | Descrição |
|---|---|
| KinesisDataFetcher.getIterator.Success |
Número de operações Nível de métrica: detalhado Unidades: contagem |
| KinesisDataFetcher.getIterator.time |
Tempo decorrido por operação Nível de métrica: detalhado Unidade: milissegundos |
| RecordProcessor.Initialize.time |
Tempo percorrido pelo método de inicialização do processador de registros. Nível de métrica: resumo Unidade: milissegundos |
| Bem-sucedida |
Número de inicializações bem-sucedidas do processador de registros. Nível de métrica: resumo Unidades: contagem |
| Tempo |
Tempo decorrido pelo operador da KCL para inicialização do processador de registros. Nível de métrica: resumo Unidade: milissegundos |
ShutdownTask
A operação ShutdownTask inicia a sequência de desligamento para o processamento de fragmento. Isso pode ocorrer porque um fragmento é dividido ou mesclado, ou quando a concessão do fragmento é perdida no operador. Em ambos os casos, a função shutdown() do processador de registros é chamada. Novos fragmentos também são descobertos no caso em que um fragmento é dividido ou mesclado, resultando na criação de um ou dois novos fragmentos.
| Métrica | Descrição |
|---|---|
| CreateLease.Sucesso |
O número de vezes que novos fragmentos filho são adicionados com êxito à tabela do DynamoDB da aplicação da KCL após o desligamento do fragmento pai. Nível de métrica: detalhado Unidades: contagem |
| CreateLease.Hora |
Tempo decorrido para adicionar informações de novos fragmentos filho à tabela do DynamoDB da aplicação da KCL. Nível de métrica: detalhado Unidade: milissegundos |
| UpdateLease.Sucesso |
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.Hora |
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 Unidade: milissegundos |
| RecordProcessor.Hora de desligamento |
Tempo percorrido pelo método de desligamento do processador de registros. Nível de métrica: resumo Unidade: milissegundos |
| Bem-sucedida |
Número de tarefas de desligamento bem-sucedidas. Nível de métrica: resumo Unidades: contagem |
| Tempo |
Tempo decorrido pelo operador da KCL para a tarefa de desligamento. Nível de métrica: resumo Unidade: milissegundos |
ShardSyncTask
A operação ShardSyncTask detecta alterações nas informações de fragmentos do fluxo de dados do Kinesis para que novos fragmentos possam ser processados pela aplicação da KCL.
| Métrica | Descrição |
|---|---|
| CreateLease.Sucesso |
Número de tentativas bem-sucedidas para adicionar novas informações de fragmentos à tabela do DynamoDB da aplicação da KCL. Nível de métrica: detalhado Unidades: contagem |
| CreateLease.Hora |
Tempo decorrido para adicionar informações de novos fragmentos à tabela do DynamoDB da aplicação da KCL. Nível de métrica: detalhado Unidade: milissegundos |
| Bem-sucedida |
Número de operações bem-sucedidas de sincronização de fragmentos. Nível de métrica: resumo Unidades: contagem |
| Tempo |
Tempo percorrido para a operação de sincronização de fragmentos. Nível de métrica: resumo Unidade: milissegundos |
BlockOnParentTask
Se o fragmento é dividido ou mesclado com outros, novos fragmentos filhos são criados. A operação BlockOnParentTask garante que o processamento de registros de novos fragmentos não será iniciado até que os fragmentos pai sejam completamente processados pela KCL.
| Métrica | Descrição |
|---|---|
| Bem-sucedida |
Número de verificações bem-sucedidas para a conclusão de fragmentos pai. Nível de métrica: resumo Unidades: contagem |
| Tempo |
Tempo percorrido para a conclusão de fragmentos pai. Nível de métrica: resumo Unidade: milissegundos |
PeriodicShardSyncManager
A PeriodicShardSyncManager é responsável por examinar os fluxos de dados sendo processados pela aplicação de consumo da KCL, identificando fluxos de dados com concessões parciais e entregando-os para sincronização.
As métricas a seguir estão disponíveis quando a KCL está configurada para processar um único fluxo de dados (valores de NumStreamsToSync e NumStreamsWithPartialLeases definidos como 1) e quando está configurada para processar vários fluxos de dados.
| Métrica | Descrição |
|---|---|
| NumStreamsToSync |
O número de fluxos de dados (por AWS conta da) sendo processados pela aplicação de consumo que contém concessões parciais e que precisam ser entregues para sincronização. Nível de métrica: resumo Unidades: contagem |
| NumStreamsWithPartialLeases |
O número de fluxos de dados (por AWS conta da) sendo processados pela aplicação de consumo que contêm concessões parciais. Nível de métrica: resumo Unidades: contagem |
| Bem-sucedida |
O número de vezes que Nível de métrica: resumo Unidades: contagem |
| Tempo |
O tempo (em milissegundos) que é Nível de métrica: resumo Unidade: milissegundos |
MultistreamTracker
A interface MultistreamTracker permite a criação de aplicações de consumo da KCL que podem processar vários fluxos de dados ao mesmo tempo.
| Métrica | Descrição |
|---|---|
| DeletedStreams.Contagem |
O número de fluxos de dados excluídos no período. Nível de métrica: resumo Unidades: contagem |
| ActiveStreams.Contagem |
O número de fluxos de dados ativos sendo processados. Nível de métrica: resumo Unidades: contagem |
| StreamsPendingDeletion.Contagem |
O número de fluxos de dados com exclusão pendente com base em 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 fluxo de dados do Kinesis, como uma instância da Amazon EC2 .
WorkerMetricStatsReporter
A WorkerMetricStatReporter operação é responsável por publicar periodicamente as métricas do trabalhador atual na tabela de métricas do trabalhador. Essas métricas são usadas pela LeaseAssignmentManager operação para realizar atribuições de arrendamento.
| Métrica | Descrição |
|---|---|
|
InMemoryMetricStatsReporterFailure |
Número de falhas na captura do valor da métrica do trabalhador na memória, devido à falha de algumas métricas do trabalhador. Nível de métrica: resumo Unidades: contagem |
|
WorkerMetricStatsReporter.Hora |
Tempo gasto pela Nível de métrica: resumo Unidade: milissegundos |
|
WorkerMetricStatsReporter.Sucesso |
Número de vezes que a operação Nível de métrica: resumo Unidades: contagem |
LeaseDiscovery
A LeaseDiscovery operação é responsável por identificar os novos arrendamentos atribuídos ao trabalhador atual pela LeaseAssignmentManager operação. A lógica dessa operação envolve a identificação de concessões atribuídas ao trabalhador atual por meio da leitura do índice secundário global da tabela de locação.
| Métrica | Descrição |
|---|---|
|
ListLeaseKeysForWorker.Hora |
Hora de chamar o índice secundário global na tabela de leasing e obter as chaves de leasing atribuídas ao trabalhador atual. Nível de métrica: detalhado Unidade: milissegundos |
|
FetchNewLeases.Hora |
É hora de buscar todas as novas concessões da tabela de concessões. Nível de métrica: detalhado Unidade: milissegundos |
|
NewLeasesDiscovered |
Número total de novos arrendamentos atribuídos aos trabalhadores. Nível de métrica: detalhado Unidades: contagem |
|
Tempo |
Tempo gasto pela Nível de métrica: resumo Unidade: milissegundos |
|
Bem-sucedida |
Número de vezes que a operação Nível de métrica: resumo Unidades: contagem |
|
OwnerMismatch |
Número de incompatibilidades do proprietário em relação à resposta do GSI e à leitura consistente da tabela de locação. Nível de métrica: detalhado Unidades: contagem |
RenewAllLeases
A operação RenewAllLeases renova periodicamente concessões de fragmentos de propriedade de uma determinada instância de operador.
| Métrica | Descrição |
|---|---|
| RenewLease.Sucesso |
Número de renovações bem-sucedidas de concessões por parte do operador. Nível de métrica: detalhado Unidades: contagem |
| RenewLease.Hora |
O tempo necessário para a operação de renovação de concessões. Nível de métrica: detalhado Unidade: milissegundos |
| CurrentLeases |
Número de concessões de fragmentos 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 fragmentos 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 locação foi bem-sucedida para o trabalhador. 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 Unidade: milissegundos |
TakeLeases
A operação TakeLeases equilibra o processamento de registros entre todos os operadores da KCL. Se tiver menos concessões de fragmentos que o necessário, o operador atual da KCL usará concessões de fragmentos de outro operador que esteja sobrecarregado.
| Métrica | Descrição |
|---|---|
| ListLeases.Sucesso |
Número de vezes que todas as concessões de fragmentos foram recuperadas com êxito da tabela do DynamoDB da aplicação da KCL. Nível de métrica: detalhado Unidades: contagem |
| ListLeases.Hora |
Tempo decorrido para recuperar todas as concessões de fragmentos da tabela do DynamoDB da aplicação da KCL. Nível de métrica: detalhado Unidade: milissegundos |
| TakeLease.Sucesso |
Número de vezes que o operador usou com êxito concessões de fragmentos de outros operadores da KCL. Nível de métrica: detalhado Unidades: contagem |
| TakeLease.Hora |
Tempo decorrido para atualizar a tabela de concessão com concessões executadas pelo operador. Nível de métrica: detalhado Unidade: 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 fragmentos que o operador atual precisa para uma carga de processamento de fragmentos 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 fragmentos que a aplicação da KCL está processando. Nível de métrica: detalhado Unidades: contagem |
| ExpiredLeases |
Número total de fragmentos 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 Nível de métrica: resumo Unidades: contagem |
| Tempo |
Tempo percorrido pela operação Nível de métrica: resumo Unidade: milissegundos |
Métricas por fragmento
Essas métricas são agregadas em um único processador de registros.
ProcessTask
A operação ProcessTask chama GetRecords com a posição do iterador atual para recuperar registros do streaming e chama a função processRecords do processador de registros.
| Métrica | Descrição |
|---|---|
| KinesisDataFetcher.getRecords.Sucesso |
Número de operações Nível de métrica: detalhado Unidades: contagem |
| KinesisDataFetcher.Obter registros. Hora |
Tempo decorrido por operação Nível de métrica: detalhado Unidade: milissegundos |
| UpdateLease.Sucesso |
Número de pontos de verificação bem-sucedidos feitos pelo processador de registros para o determinado fragmento. Nível de métrica: detalhado Unidades: contagem |
| UpdateLease.Hora |
Tempo percorrido para cada operação de ponto de verificação para o determinado fragmento. Nível de métrica: detalhado Unidade: milissegundos |
| DataBytesProcessed |
Tamanho total de registros processados em bytes em cada chamada de Nível de métrica: resumo Unidades: byte |
| RecordsProcessed |
Número de registros processados em cada chamada de Nível de métrica: resumo Unidades: contagem |
| ExpiredIterator |
Número de ExpiredIteratorException recebidos ao ligar Nível de métrica: resumo Unidades: contagem |
| MillisBehindLatest | Tempo em que o iterador atual está atrás do registro mais recente (ponta) no fragmento. 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 fragmento 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 à média de todos os carimbos de data/hora em cada registro. Nível de métrica: resumo Unidade: milissegundos |
| RecordProcessor.Registros do processo. Tempo |
Tempo percorrido pelo método Nível de métrica: resumo Unidade: 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 Unidade: milissegundos |