

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 o Kinesis Data Streams
<a name="monitoring"></a>

É possível monitorar os fluxos de dados no Amazon Kinesis Data Streams usando os seguintes recursos:
+ [CloudWatch métricas](monitoring-with-cloudwatch.md) — O Kinesis Data Streams CloudWatch envia métricas personalizadas à Amazon com monitoramento detalhado para cada stream.
+ [Kinesis Agent](agent-health.md) — O Kinesis Agent publica CloudWatch métricas personalizadas para ajudar a avaliar se o agente está funcionando conforme o esperado.
+ [Registro em log da API](logging-using-cloudtrail.md): o Kinesis Data Streams usa o AWS CloudTrail para registrar chamadas à API em log e armazenar os dados em um bucket do Amazon S3.
+ [Kinesis Client Library](monitoring-with-kcl.md): a Kinesis Client Library (KCL) fornece métricas por fragmento, operador e aplicação da KCL.
+ [Kinesis Producer Library](monitoring-with-kpl.md): a Amazon Kinesis Producer Library (KPL) fornece métricas por fragmento, operador e aplicação da KPL.

Para obter mais informações sobre problemas comuns de monitoramento, perguntas e solução de problemas, consulte o seguinte:
+  [Quais métricas devem ser usadas para monitorar e solucionar problemas com o Kinesis Data Streams?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-troubleshoot/)
+ [Por que o IteratorAgeMilliseconds valor do Kinesis Data Streams continua aumentando?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-iteratorage-metric/)

# Monitore o serviço Amazon Kinesis Data Streams com a Amazon CloudWatch
<a name="monitoring-with-cloudwatch"></a>

O Amazon Kinesis Data Streams CloudWatch e o Amazon estão integrados para que você possa coletar CloudWatch, visualizar e analisar métricas para seus streams de dados do Kinesis. Por exemplo, para rastrear o uso de fragmentos, é possível monitorar as `IncomingBytes` e as métricas de `OutgoingBytes` e compará-las com o número de fragmentos no fluxo.

As métricas de stream e as métricas em nível de fragmento que você configura são coletadas automaticamente e enviadas a CloudWatch cada minuto. As métricas são arquivadas por duas semanas. Depois desse período, os dados serão descartados.

A tabela a seguir descreve o monitoramento básico no nível do fluxo e o monitoramento avançado no nível do fragmento em fluxos de dados do Kinesis.


| Tipo | Description | 
| --- | --- | 
|  Básico (nível de fluxo)  |  Dados de nível de fluxo são enviados automaticamente a cada minuto, sem custo adicional.  | 
|  Avançado (nível de fragmento)  |  Dados de nível de fragmento são enviados a cada minuto por um custo adicional. Para obter esse nível de dados, você precisa habilitá-lo especificamente para o stream usando a operação [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html).  Para obter informações sobre preços, consulte a [página CloudWatch do produto Amazon](https://aws.amazon.com/cloudwatch).  | 

## Métricas e dimensões do Amazon Kinesis Data Streams
<a name="kinesis-metrics"></a>

O Kinesis Data Streams envia CloudWatch métricas para dois níveis: o nível do stream e, opcionalmente, o nível do fragmento. As métricas no nível do fluxo se destinam aos casos de uso de monitoramento mais comuns em condições normais. As métricas em nível de estilhaço são para tarefas de monitoramento específicas, geralmente relacionadas à solução de problemas, e são habilitadas com o uso da operação [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html). 

Para obter uma explicação das estatísticas coletadas a partir das CloudWatch métricas, consulte [CloudWatch Estatísticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic) no *Guia CloudWatch do Usuário da Amazon*.

**Topics**
+ [Métricas no nível do fluxo básicas](#kinesis-metrics-stream)
+ [Métricas do nível de fragmento aprimoradas](#kinesis-metrics-shard)
+ [Dimensões de métricas do Amazon Kinesis Data Streams](#kinesis-metricdimensions)
+ [Métricas recomendadas do Amazon Kinesis Data Streams](#kinesis-metric-use)

### Métricas no nível do fluxo básicas
<a name="kinesis-metrics-stream"></a>

O namespace `AWS/Kinesis` inclui métricas de nível do fluxo a seguir.

O Kinesis Data Streams envia essas métricas em nível de stream CloudWatch a cada minuto. Essas métricas estão sempre disponíveis.


| Métrica | Description | 
| --- | --- | 
| GetRecords.Bytes |  O número de bytes recuperados do fluxo do Kinesis, medido no período especificado. As estatísticas mínima, máxima e média representam os bytes em uma única operação `GetRecords` para o fluxo no período especificado. Nome da métrica do nível de fragmento: `OutgoingBytes` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| GetRecords.IteratorAge |  Essa métrica não é mais usada. Use `GetRecords.IteratorAgeMilliseconds`.  | 
| GetRecords.IteratorAgeMilliseconds |  A idade do último registro em todas as chamadas `GetRecords` feitas com relação a um fluxo do Kinesis, medida no período especificado. Idade é a diferença entre a hora atual e quando o último registro da chamada `GetRecords` foi gravado no fluxo. As estatísticas de mínimo e máximo podem ser usadas para acompanhar o progresso das aplicações de consumo do Kinesis. Um valor zero indica que os registros lidos estão em completa sincronização com o fluxo. Nome da métrica do nível de fragmento: `IteratorAgeMilliseconds` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, amostras Unidade: milissegundos  | 
| GetRecords.Latency |  O tempo gasto por operação `GetRecords`, medido ao longo do período de tempo especificado. Dimensões: StreamName Estatísticas: mínimo, máximo, média Unidade: milissegundos  | 
| GetRecords.Records |  O número de registros recuperados do fragmento, medido ao longo do período de tempo especificado. As estatísticas mínima, máxima e média representam os registros em uma única operação `GetRecords` para o fluxo no período especificado. Nome da métrica do nível de fragmento: `OutgoingRecords` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| GetRecords.Success |  O número de operações `GetRecords` bem-sucedidas por fluxo, medido ao longo do período de tempo especificado. Dimensões: StreamName Estatísticas válidas: média, soma, amostras Unidades: contagem  | 
| IncomingBytes |  O número de bytes colocados com êxito no fluxo do Kinesis no período especificado. Essa métrica inclui bytes das operações `PutRecord` e `PutRecords`. As estatísticas mínima, máxima e média representam os bytes em uma única operação put para o fluxo no período especificado. Nome da métrica do nível de fragmento: `IncomingBytes` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| IncomingRecords |  O número de registros colocados com êxito no fluxo do Kinesis no período especificado. Essa métrica inclui registros das operações `PutRecord` e `PutRecords`. As estatísticas mínima, máxima e média representam os registros em uma única operação put para o fluxo no período especificado. Nome da métrica do nível de fragmento: `IncomingRecords` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| PutRecord.Bytes |  O número de bytes colocados no fluxo do Kinesis usando a operação `PutRecord` no período especificado. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| PutRecord.Latency |  O tempo gasto por operação `PutRecord`, medido ao longo do período de tempo especificado. Dimensões: StreamName Estatísticas: mínimo, máximo, média Unidade: milissegundos  | 
| PutRecord.Success |  O número de operações `PutRecord` bem-sucedidas por fluxo do Kinesis, medido no período especificado. A média reflete a porcentagem de gravações bem-sucedidas em um fluxo. Dimensões: StreamName Estatísticas válidas: média, soma, amostras Unidades: contagem  | 
| PutRecords.Bytes |  O número de bytes colocados no fluxo do Kinesis usando a operação `PutRecords` no período especificado. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| PutRecords.Latency |  O tempo gasto por operação `PutRecords`, medido ao longo do período de tempo especificado. Dimensões: StreamName Estatísticas: mínimo, máximo, média Unidade: milissegundos  | 
| PutRecords.Records |  Essa métrica foi substituída. Use `PutRecords.SuccessfulRecords`. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| PutRecords.Success |  O número de operações `PutRecords` com pelo menos um registro bem-sucedido por fluxo do Kinesis, medido no período especificado. Dimensões: StreamName Estatísticas válidas: média, soma, amostras Unidades: contagem  | 
| PutRecords.TotalRecords |  O número total de registros enviados em uma operação `PutRecords` por fluxo de dados do Kinesis, medido no período especificado. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| PutRecords.SuccessfulRecords |  O número de registros bem-sucedidos em uma operação `PutRecords` por fluxo de dados do Kinesis, medido no período especificado. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| PutRecords.FailedRecords |  O número de registros rejeitados devido a falhas internas em uma operação `PutRecords` por fluxo de dados do Kinesis, medido no período especificado. Falhas internas ocasionais são esperadas e a operação deve ser repetida. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| PutRecords.ThrottledRecords |  O número de registros rejeitados devido ao controle de utilização em uma operação `PutRecords` por fluxo de dados do Kinesis, medido no período especificado. Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| ReadProvisionedThroughputExceeded |  O número de chamadas `GetRecords` limitadas para o fluxo ao longo do período especificado. A estatística mais usada para essa métrica é Média. Quando a estatística mínima tem um valor de 1, todos os registros foram limitados ao fluxo durante o período especificado.  Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao fluxo durante o período especificado. Nome da métrica do nível de fragmento: `ReadProvisionedThroughputExceeded` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| SubscribeToShard.RateExceeded | Essa métrica é emitida quando uma tentativa de nova assinatura apresenta falha porque já existe uma assinatura ativa com o mesmo consumidor ou se o número de chamadas por segundo permitido para essa operação for excedido.Dimensões: StreamName, ConsumerName | 
| SubscribeToShard.Success |  Essa métrica registra se a SubscribeToShard assinatura foi estabelecida com sucesso. A assinatura se mantém ativa por no máximo 5 minutos. Portanto, essa métrica é emitida pelo menos uma vez a cada 5 minutos. Dimensões: StreamName, ConsumerName  | 
| SubscribeToShardEvent.Bytes |  O número de bytes recebidos do fragmento, medidos no período especificado. As estatísticas mínima, máxima e média representam os bytes publicados em um único evento no período especificado. Nome da métrica do nível de fragmento: `OutgoingBytes` Dimensões: StreamName, ConsumerName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| SubscribeToShardEvent.MillisBehindLatest |  O número de milissegundos em que os registros de leitura estão na extremidade do fluxo de dados, indicando o quão atrasado o consumidor está em relação ao horário atual. Dimensões: StreamName, ConsumerName Estatísticas válidas: mínima, máxima, média, amostras Unidade: milissegundos  | 
| SubscribeToShardEvent.Records |  O número de registros recebidos do fragmento, medidos no período especificado. As estatísticas mínima, máxima e média representam os registros em um único evento no período especificado. Nome da métrica do nível de fragmento: `OutgoingRecords` Dimensões: StreamName, ConsumerName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| SubscribeToShardEvent.Success | Essa métrica é emitida sempre que um evento é publicado com êxito. Ela será emitida somente quando houver uma assinatura ativa.Dimensões: StreamName, ConsumerNameEstatísticas válidas: mínima, máxima, média, soma, amostrasUnidades: contagem | 
| WriteProvisionedThroughputExceeded |  O número de registros rejeitados por causa da limitação para o fluxo ao longo do período especificado. Essa métrica inclui a limitação das operações `PutRecord` e `PutRecords`. A estatística mais usada para essa métrica é Média. Quando a estatística mínima tem um valor diferente de zero, nenhum registro é limitado ao fluxo durante o período especificado.  Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao fluxo durante o período especificado. Nome da métrica do nível de fragmento: `WriteProvisionedThroughputExceeded` Dimensões: StreamName Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 

### Métricas do nível de fragmento aprimoradas
<a name="kinesis-metrics-shard"></a>

O namespace `AWS/Kinesis` inclui métricas de nível do fragmento a seguir.

O Kinesis envia as seguintes métricas em nível de fragmento a cada minuto. CloudWatch Cada dimensão métrica cria 1 CloudWatch métrica e faz aproximadamente 43.200 chamadas de `PutMetricData` API por mês. Essas métricas não são permitidas por padrão. Há uma cobrança para as métricas aprimoradas emitidas pelo Kinesis. Para obter mais informações, consulte [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/) sob o título *Amazon CloudWatch Custom Metrics*. As cobranças são indicadas por fragmento pela métrica por mês.


| Métrica | Description | 
| --- | --- | 
| IncomingBytes |  O número de bytes colocados com sucesso no fragmento ao longo do período especificado. Essa métrica inclui bytes das operações `PutRecord` e `PutRecords`. As estatísticas mínima, máxima e média representam os bytes em uma única operação put para o fragmento no período especificado. Nome da métrica no nível do fluxo: `IncomingBytes` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| IncomingRecords |  O número de registros colocados com sucesso no fragmento ao longo do período especificado. Essa métrica inclui registros das operações `PutRecord` e `PutRecords`. As estatísticas mínima, máxima e média representam os registros em uma única operação put para o fragmento no período especificado. Nome da métrica no nível do fluxo: `IncomingRecords` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| IteratorAgeMilliseconds |  A idade do último registro em todas as chamadas `GetRecords` feitas com relação a um fragmento, medida ao longo do período de tempo especificado. Idade é a diferença entre a hora atual e quando o último registro da chamada `GetRecords` foi gravado no fluxo. As estatísticas de mínimo e máximo podem ser usadas para acompanhar o progresso das aplicações de consumo do Kinesis. Um valor de 0 (zero) indica que os registros lidos estão em completa sincronização com o fluxo. Nome da métrica no nível do fluxo: `GetRecords.IteratorAgeMilliseconds` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, amostras Unidade: milissegundos  | 
| OutgoingBytes |  O número de bytes recuperados do fragmento, medido ao longo do período de tempo especificado. As estatísticas mínima, máxima e média representam os bytes retornados em uma única operação `GetRecords` ou publicados em um único evento `SubscribeToShard` para o fragmento no período especificado. Nome da métrica no nível do fluxo: `GetRecords.Bytes` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: bytes  | 
| OutgoingRecords |  O número de registros recuperados do fragmento, medido ao longo do período de tempo especificado. As estatísticas mínima, máxima e média representam os registros retornados em uma única operação `GetRecords` ou publicados em um único evento `SubscribeToShard` para o fragmento no período especificado. Nome da métrica no nível do fluxo: `GetRecords.Records` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| ReadProvisionedThroughputExceeded |  O número de chamadas `GetRecords` limitadas para o fragmento ao longo do período especificado. Esta contagem de exceções abrange todas as dimensões dos seguintes limites: 5 leituras por fragmento por segundo ou 2 MB por segundo por fragmento. A estatística mais usada para essa métrica é Média. Quando a estatística mínima tem um valor de 1, todos os registros foram limitados ao fragmento durante o período especificado.  Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao fragmento durante o período especificado. Nome da métrica no nível do fluxo: `ReadProvisionedThroughputExceeded` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 
| WriteProvisionedThroughputExceeded |  O número de registros rejeitados por causa da limitação para o fragmento ao longo do período especificado. Esta métrica inclui limitação das operações `PutRecord` e `PutRecords` e abrange todas as dimensões os seguintes limites: 1.000 registros por segundo por fragmento ou 1 MB por segundo por fragmento. A estatística mais usada para essa métrica é Média. Quando a estatística mínima tem um valor diferente de zero, nenhum registro é limitado ao fragmento durante o período especificado.  Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao fragmento durante o período especificado. Nome da métrica no nível do fluxo: `WriteProvisionedThroughputExceeded` Dimensões: StreamName, ShardId Estatísticas válidas: mínima, máxima, média, soma, amostras Unidades: contagem  | 

### Dimensões de métricas do Amazon Kinesis Data Streams
<a name="kinesis-metricdimensions"></a>


|  Dimensão  |  Description  | 
| --- | --- | 
|  StreamName  |  O nome do fluxo do Kinesis. Todas as estatísticas disponíveis são filtradas por `StreamName`.   | 

### Métricas recomendadas do Amazon Kinesis Data Streams
<a name="kinesis-metric-use"></a>

Várias métricas do Amazon Kinesis Data Streams podem ser particularmente interessantes para os clientes do Kinesis Data Streams. A lista a seguir oferece métricas recomendadas e suas utilizações.


| Métrica | Observações sobre o uso | 
| --- | --- | 
|  `GetRecords.IteratorAgeMilliseconds`  |  Rastreia a posição de leitura em todos os fragmentos e consumidores no fluxo. Se a idade de um iterador passa de 50% do período de retenção (por padrão 24 horas, configurável até 7 dias), há risco de perda de dados devido à expiração de registro. Recomendamos que você use CloudWatch alarmes na estatística Máximo para alertá-lo antes que essa perda seja um risco. Para ver um exemplo de cenário que usa essa métrica, consulte [Processamento de registros de consumidores ficando atrasados](troubleshooting-consumers.md#record-processing-falls-behind).  | 
|  `ReadProvisionedThroughputExceeded`  |  Quando o processamento do registro do lado do consumidor está ficando para trás, às vezes é difícil saber onde está o gargalo. Use essa métrica para determinar se as leituras estão sendo limitadas por terem ultrapassado os limites de throughput de leitura. A estatística mais usada para essa métrica é Média.  | 
| WriteProvisionedThroughputExceeded | Ela tem a mesma finalidade da métrica ReadProvisionedThroughputExceeded, mas para o lado do produtor (put) do fluxo. A estatística mais usada para essa métrica é Média. | 
| PutRecord.Success, PutRecords.Success | Recomendamos o uso de CloudWatch alarmes na estatística média para indicar quando os registros estão falhando na transmissão. Escolha um ou ambos os tipos put, dependendo do que o produtor usa. Se estiver usando a Amazon Kinesis Producer Library (KPL), use PutRecords.Success. | 
| GetRecords.Success | Recomendamos o uso de CloudWatch alarmes na estatística média para indicar quando os registros estão falhando na transmissão. | 

## Acesse CloudWatch as métricas da Amazon para Kinesis Data Streams
<a name="cloudwatch-metrics"></a>

Você pode monitorar as métricas do Kinesis Data Streams CloudWatch usando o console, a linha de comando ou a API. CloudWatch Os procedimentos a seguir mostram como acessar as métricas usando os seguintes métodos: 

**Para acessar métricas usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Na barra de navegação, escolha uma Região.

1. No painel de navegação, selecione **Métricas**.

1. No painel **CloudWatch Métricas por categoria**, escolha **Kinesis** Metrics.

1. Clique na linha relevante para ver as estatísticas do **MetricName**StreamName****e. 

   **Observação:** a maioria dos nomes de estatísticas do console corresponde aos nomes de CloudWatch métricas correspondentes listados anteriormente, exceto para taxa de transferência de **leitura e taxa de transferência** de **gravação**. Essas estatísticas são calculadas em intervalos de 5 minutos: a taxa de **transferência de gravação** monitora a `IncomingBytes` CloudWatch métrica e a taxa de **transferência de leitura** monitora. `GetRecords.Bytes`

1. (Opcional) No painel gráfico, selecione uma estatística e um período de tempo e, em seguida, crie um CloudWatch alarme usando essas configurações.

**Para acessar métricas usando o AWS CLI**  
Use as [métricas e [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)os comandos da lista](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html).

**Para acessar métricas usando a CloudWatch CLI**  
Use os comandos [mon-list-metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-list-metrics.html) e [mon-get-stats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-get-stats.html).

**Para acessar métricas usando a CloudWatch API**  
Use as operações [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) e [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html).

# Monitore a integridade do Kinesis Data Streams Agent com a Amazon CloudWatch
<a name="agent-health"></a>

O agente publica CloudWatch métricas personalizadas com um namespace de. **AWS KinesisAgent** Essas métricas ajudam a avaliar se o agente está enviando dados ao Kinesis Data Streams conforme especificado, e se está íntegro e consumindo a quantidade apropriada de recursos de CPU e memória no produtor de dados. As métricas, como número de registros e bytes enviados, são úteis para compreender a taxa em que o atendente está enviando dados ao fluxo. Quando essas métricas ficarem abaixo dos limites esperados em alguns percentuais ou caírem para zero, isso poderá indicar problemas de configuração, erros de rede ou problemas de integridade do agente. As métricas como consumo de CPU e memória no host e contadores de erros do agente indicam uso de recurso por parte do produtor de dados e fornece informações sobre erros potenciais de configuração ou de host. Por fim, o agente também registra exceções de serviço para ajudar a investigar problemas do agente. Essas métricas são relatadas na região especificada na configuração do agente`cloudwatch.endpoint`. CloudWatch as métricas publicadas de vários agentes do Kinesis são agregadas ou combinadas. Para obter mais informações sobre a configuração do atendente, consulte [Especificar as definições da configuração do agente](writing-with-agents.md#agent-config-settings).

## Monitor com CloudWatch
<a name="agent-metrics"></a>

O agente do Kinesis Data Streams envia as seguintes métricas para o. CloudWatch


| Métrica | Description | 
| --- | --- | 
| BytesSent |  O número de bytes enviados para o Kinesis Data Streams no período especificado. Unidades: bytes  | 
| RecordSendAttempts |  O número de tentativas de registro (primeira vez ou como nova tentativa) em uma chamada para `PutRecords` no período especificado. Unidades: contagem  | 
| RecordSendErrors |  O número de registros que retornaram status de falha em uma chamada para `PutRecords`, incluindo novas tentativas, no período especificado. Unidades: contagem  | 
| ServiceErrors |  O número de chamadas para `PutRecords` que resultaram em erro de serviço (diferente de um erro de controle de utilização) no período especificado.  Unidades: contagem  | 

# Registre as chamadas de API do Amazon Kinesis Data Streams com AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

O Amazon Kinesis Data Streams está AWS CloudTrail integrado com, um serviço que fornece um registro das ações realizadas por um usuário, função AWS ou serviço no Kinesis Data Streams. CloudTrail captura todas as chamadas de API para o Kinesis Data Streams como eventos. São capturadas as chamadas do console do Kinesis Data Streams e as chamadas de código às operações de API do Kinesis Data Streams. Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para o Kinesis Data Streams. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no **Histórico de eventos**. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita ao Kinesis Data Streams, o endereço IP a partir do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais. 

Para saber mais CloudTrail, inclusive como configurá-lo e ativá-lo, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informações do Kinesis Data Streams em CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail é ativado em sua AWS conta quando você cria a conta. Quando uma atividade de evento suportada ocorre no Kinesis Data Streams, essa atividade é registrada CloudTrail em um evento junto AWS com outros eventos de serviço no histórico de **eventos**. Você pode visualizar, pesquisar e baixar eventos recentes em sua AWS conta. Para obter mais informações, consulte [Visualizar eventos com o histórico de eventos do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para um registro contínuo dos eventos em sua AWS conta, incluindo eventos do Kinesis Data Streams, crie uma trilha. Uma *trilha* permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Por padrão, quando você cria uma trilha no console, a trilha se aplica a todas as AWS regiões. A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Além disso, você pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para saber mais, consulte: 
+ [Visão Geral para Criar uma Trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Serviços e integrações compatíveis](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recebendo arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [recebendo arquivos de CloudTrail log de várias contas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

O Kinesis Data Streams oferece suporte ao registro das seguintes ações como CloudTrail eventos em arquivos de log:
+ [AddTagsToStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_AddTagsToStream.html)
+ [CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html)
+ [DecreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DecreaseStreamRetentionPeriod.html)
+ [DeleteStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html)
+ [DeregisterStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeregisterStreamConsumer.html)
+ [DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html)
+ [DescribeStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamConsumer.html)
+ [DisableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DisableEnhancedMonitoring.html)
+ [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html)
+ [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)
+ [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html)
+ [IncreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_IncreaseStreamRetentionPeriod.html)
+ [ListStreamConsumers](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreamConsumers.html)
+ [ListStreams](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html)
+ [ListTagsForStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListTagsForStream.html)
+ [MergeShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_MergeShards.html)
+ [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html)
+ [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html)
+ [RegisterStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RegisterStreamConsumer.html)
+ [RemoveTagsFromStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RemoveTagsFromStream.html)
+ [SplitShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SplitShard.html)
+ [StartStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StartStreamEncryption.html)
+ [StopStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StopStreamEncryption.html)
+ [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html)
+ [UpdateShardCount](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateShardCount.html)
+ [UpdateStreamMode](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateStreamMode.html)

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte: 
+ Se a solicitação foi feita com credenciais de usuário root ou AWS Identity and Access Management (IAM).
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte [Elemento userIdentity do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Exemplo: entradas do arquivo de log do Kinesis Data Streams
<a name="understanding-service-name-entries"></a>

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma única solicitação de qualquer fonte e inclui informações sobre a ação solicitada, a data e hora da ação, parâmetros de solicitação, e assim por diante. arquivos de log do CloudTrail não são um rastreamento de pilha ordenada das chamadas da API pública. Assim, elas não são exibidas em nenhuma ordem específica.

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra as `MergeShards` ações `CreateStream` `DescribeStream``ListStreams`,`DeleteStream`,`SplitShard`,, e.

```
{
    "Records": [
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:16:31Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "CreateStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "shardCount": 1,
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "db6c59f8-c757-11e3-bc3b-57923b443c1c",
            "eventID": "b7acfcd0-6ca9-4ee1-a3d7-c4e8d420d99b"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:17:06Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "DescribeStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "f0944d86-c757-11e3-b4ae-25654b1d3136",
            "eventID": "0b2f1396-88af-4561-b16f-398f8eaea596"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:02Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "ListStreams",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "limit": 10
            },
            "responseElements": null,
            "requestID": "a68541ca-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "22a5fb8f-4e61-4bee-a8ad-3b72046b4c4d"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:17:07Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "DeleteStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "f10cd97c-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "607e7217-311a-4a08-a904-ec02944596dd"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:03Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "SplitShard",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "shardToSplit": "shardId-000000000000",
                "streamName": "GoodStream",
                "newStartingHashKey": "11111111"
            },
            "responseElements": null,
            "requestID": "a6e6e9cd-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "dcd2126f-c8d2-4186-b32a-192dd48d7e33"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:16:56Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "MergeShards",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream",
                "adjacentShardToMerge": "shardId-000000000002",
                "shardToMerge": "shardId-000000000001"
            },
            "responseElements": null,
            "requestID": "e9f9c8eb-c757-11e3-bf1d-6948db3cd570",
            "eventID": "77cf0d06-ce90-42da-9576-71986fec411f"
        }
    ]
}
```

# Monitore a biblioteca de cliente do Kinesis com a Amazon CloudWatch
<a name="monitoring-with-kcl"></a>

A [Kinesis Client Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html) (KCL) para Amazon Kinesis Data Streams publica métricas personalizadas da CloudWatch Amazon em seu nome, usando o nome do seu aplicativo KCL como namespace. Você pode visualizar essas métricas navegando até o [CloudWatch console](https://console.aws.amazon.com/cloudwatch/) e escolhendo **Métricas personalizadas**. Para obter mais informações sobre métricas personalizadas, consulte [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) no *Guia CloudWatch do usuário da Amazon*.

Há uma cobrança nominal pelas métricas enviadas CloudWatch pela KCL; especificamente, as cobranças de *Amazon CloudWatch Custom Metrics* e *Amazon CloudWatch API Requests* se aplicam. Para obter mais informações, consulte [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [Métricas e namespace](#metrics-namespace)
+ [Dimensões e níveis de métricas](#metric-levels)
+ [Configuração da métrica](#metrics-config)
+ [Lista de métricas](#kcl-metrics-list)

## Métricas e namespace
<a name="metrics-namespace"></a>

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
<a name="metric-levels"></a>

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, 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`, `SUMMARY` e `DETAILED`. A configuração padrão é`DETAILED`; ou seja, todas as métricas são enviadas para 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](#kcl-metrics-list).

dimensões habilitadas  
Cada métrica 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`, `ShardId` e `WorkerIdentifier`) 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ão `Operation` nã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`, `StreamId` e `WorkerIdentifier`) 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, as dimensões `Operation` e `StreamId` não poderão ser desabilitadas. A dimensão `StreamId` só está disponível para métricas por fragmento.  
 Na KCL 1.x, apenas as dimensões `Operation` e `ShardId` estão habilitadas por padrão, e a dimensão `WorkerIdentifier` está desabilitada. Na KCL 1.x, a dimensão `Operation` não pode ser desabilitada.  
Para obter mais informações sobre dimensões CloudWatch métricas, consulte a seção [Dimensões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension) no tópico Amazon CloudWatch Concepts, no *Guia CloudWatch do usuário da Amazon*.  
Quando a `WorkerIdentifier` dimensão é ativada, se um valor diferente for usado para a propriedade de ID do trabalhador toda vez que um determinado trabalhador da KCL for reiniciado, novos conjuntos de métricas com novos valores de `WorkerIdentifier` dimensão serão enviados para. CloudWatch Se houver necessidade de que o valor da dimensão `WorkerIdentifier` seja 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
<a name="metrics-config"></a>

Os níveis métricos e as dimensões habilitadas podem ser configurados usando a KinesisClientLibConfiguration instância, que é passada para o Worker ao iniciar o aplicativo 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 ativadas devem ser sequências de caracteres separadas por vírgula com a 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
<a name="kcl-metrics-list"></a>

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

**Topics**
+ [Per-KCL-application métricas](#kcl-metrics-per-app)
+ [Métricas por operador](#kcl-metrics-per-worker)
+ [Métricas por fragmento](#kcl-metrics-per-shard)

### Per-KCL-application métricas
<a name="kcl-metrics-per-app"></a>

Essas métricas são agregadas em todos os trabalhadores da KCL dentro do escopo do aplicativo, conforme definido pelo namespace da Amazon CloudWatch .

**Topics**
+ [LeaseAssignmentManager](#lease-assignment-manager)
+ [InitializeTask](#init-task)
+ [ShutdownTask](#shutdown-task)
+ [ShardSyncTask](#shard-sync-task)
+ [BlockOnParentTask](#block-parent-task)
+ [PeriodicShardSyncManager](#periodic-task)
+ [MultistreamTracker](#multi-task)

#### LeaseAssignmentManager
<a name="lease-assignment-manager"></a>

A operação `LeaseAssignmentManager` é responsável por atribuir concessões aos operadores e reequilibrar as concessões entre os operadores para obter uma utilização uniforme dos recursos dos operadores. A lógica dessa operação inclui a leitura dos metadados da concessão presentes na tabela da concessão e as métricas da tabela de métricas do operador e a execução de atribuições da concessão.


| Métrica | Description | 
| --- | --- | 
|  LeaseAndWorkerMetricsLoad.Hora  |  Tempo gasto para carregar todas as concessões e informações de métricas dos operadores no gerenciador de atribuição de concessão (LAM), o novo algoritmo de atribuição de concessão e balanceamento de carga introduzido na KCL 3.x. Nível de métrica: detalhado Unidade: milissegundos  | 
| TotalLeases |  Número total de concessões para a aplicação da KCL atual. Nível de métrica: resumo Unidades: contagem  | 
| NumWorkers |  O número total de operadores na aplicação atual da KCL. Nível de métrica: resumo Unidades: contagem  | 
|  AssignExpiredOrUnassignedLeases.Hora  |  Tempo para a realização da atribuição em memória de concessões expiradas. Nível de métrica: detalhado Unidade: milissegundos  | 
| LeaseSpillover |  Número de concessões que não foram atribuídas por atingirem o limite do número máximo de concessões ou de throughput máxima por operador. Nível de métrica: resumo Unidades: contagem  | 
|  BalanceWorkerVariance.Hora  |  Tempo para a realização do balanceamento na memória das concessões entre operadores. Nível de métrica: detalhado Unidade: milissegundos  | 
|  NumOfLeasesReassignment  |  Número total de reatribuições de concessões 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  |  Tempo para a transferência de novas atribuições para a tabela de concessões do DynamoDB. Nível de métrica: detalhado Unidade: milissegundos  | 
|  ParallelyAssignLeases.Sucesso  |  Número de transferências de novas atribuições com êxito. Nível de métrica: detalhado Unidades: contagem  | 
|  TotalStaleWorkerMetricsEntry  |  Número total de informações de métricas do operador que devem ser eliminadas. Nível de métrica: detalhado Unidades: contagem  | 
| StaleWorkerMetricsCleanup.Hora |  Tempo para a realização da exclusão das informações das métricas do operador da tabela de métricas de operadores do DynamoDB. Nível de métrica: detalhado Unidade: milissegundos  | 
| Hora |  Tempo gasto pela operação `LeaseAssignmentManager`. Nível de métrica: resumo Unidade: milissegundos  | 
| Bem-sucedida |  Número de vezes que a operação `LeaseAssignmentManager` foi concluída com sucesso. Nível de métrica: resumo Unidades: contagem  | 
| ForceLeaderRelease |  Indica que o gerenciador de atribuição de concessões falhou 3 vezes consecutivas e que o operador líder está liberando a liderança. Nível de métrica: resumo Unidades: contagem  | 
|  NumWorkersWithInvalidEntry  |  Número de informações de métricas do operador que são consideradas inválidas.  Nível de métrica: resumo Unidades: contagem  | 
|  NumWorkersWithFailingWorkerMetric  |  Número de informações de métricas do operador que têm -1 (representando que o valor da métrica do operador não está disponível) como um dos valores das métricas do operador. Nível de métrica: resumo Unidades: contagem  | 
|  LeaseDeserializationFailureCount  |  Informações da concessão a partir da tabela de concessões que falhou em desserializar. Nível de métrica: resumo Unidades: contagem  | 

#### InitializeTask
<a name="init-task"></a>

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 | Description | 
| --- | --- | 
| KinesisDataFetcher.getIterator.Success |  Número de operações `GetShardIterator` bem-sucedidas por aplicação da KCL.  Nível de métrica: detalhado Unidades: contagem  | 
| KinesisDataFetcher.getIterator.time |  Tempo decorrido por operação `GetShardIterator` para a aplicação da KCL determinada. 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  | 
| Hora |  Tempo decorrido pelo operador da KCL para inicialização do processador de registros. Nível de métrica: resumo Unidade: milissegundos  | 

#### ShutdownTask
<a name="shutdown-task"></a>

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 | Description | 
| --- | --- | 
| 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.Horário 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  | 
| Hora |  Tempo decorrido pelo operador da KCL para a tarefa de desligamento. Nível de métrica: resumo Unidade: milissegundos  | 

#### ShardSyncTask
<a name="shard-sync-task"></a>

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 | Description | 
| --- | --- | 
| 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  | 
| Hora |  Tempo percorrido para a operação de sincronização de fragmentos. Nível de métrica: resumo Unidade: milissegundos  | 

#### BlockOnParentTask
<a name="block-parent-task"></a>

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 | Description | 
| --- | --- | 
| Bem-sucedida |  Número de verificações bem-sucedidas para a conclusão de fragmentos pai. Nível de métrica: resumo Unidades: contagem  | 
| Hora |  Tempo percorrido para a conclusão de fragmentos pai. Nível de métrica: resumo Unidade: milissegundos  | 

#### PeriodicShardSyncManager
<a name="periodic-task"></a>

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 (em seguida, o valor de NumStreamsToSync e NumStreamsWithPartialLeases é definido como 1) e também quando a KCL está configurada para processar vários fluxos de dados.


| Métrica | Description | 
| --- | --- | 
| NumStreamsToSync |  O número de fluxos de dados (por AWS conta) processados pelo aplicativo consumidor que contém concessões parciais e que devem ser entregues para sincronização.  Nível de métrica: resumo Unidades: contagem  | 
| NumStreamsWithPartialLeases |  O número de fluxos de dados (por AWS conta) que o aplicativo do consumidor está processando e que contêm concessões parciais.  Nível de métrica: resumo Unidades: contagem  | 
| Bem-sucedida |  O número de vezes que `PeriodicShardSyncManager` conseguiu identificar com êxito as concessões parciais nos fluxos de dados que a aplicação de consumo está processando.  Nível de métrica: resumo Unidades: contagem  | 
| Hora |  O tempo (em milissegundos) que `PeriodicShardSyncManager` leva para examinar os fluxos de dados processados pela aplicação de consumo, a fim de determinar quais dos fluxos de dados exigem sincronização de fragmentos.  Nível de métrica: resumo Unidade: milissegundos  | 

#### MultistreamTracker
<a name="multi-task"></a>

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 | Description | 
| --- | --- | 
| 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 `FormerStreamsLeasesDeletionStrategy`.  Nível de métrica: resumo Unidades: contagem  | 

### Métricas por operador
<a name="kcl-metrics-per-worker"></a>

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 do Amazon EC2.

**Topics**
+ [WorkerMetricStatsReporter](#worker-metrics-stats)
+ [LeaseDiscovery](#lease-discovery)
+ [RenewAllLeases](#renew-leases)
+ [TakeLeases](#take-leases)

#### WorkerMetricStatsReporter
<a name="worker-metrics-stats"></a>

A operação `WorkerMetricStatReporter` é responsável por publicar periodicamente as métricas do operador atual na tabela de métricas do operador. Essas métricas são usadas pela operação `LeaseAssignmentManager` para realizar atribuições de concessão.


| Métrica | Description | 
| --- | --- | 
|  InMemoryMetricStatsReporterFailure  |  Número de falhas na captura do valor da métrica do operador na memória, devido à falha de algumas métricas do operador. Nível de métrica: resumo Unidades: contagem  | 
|  WorkerMetricStatsReporter.Hora  |  Tempo gasto pela operação `WorkerMetricsStats`. Nível de métrica: resumo Unidade: milissegundos  | 
|  WorkerMetricStatsReporter.Sucesso  |  Número de vezes que a operação `WorkerMetricsStats` foi concluída com sucesso. Nível de métrica: resumo Unidades: contagem  | 

#### LeaseDiscovery
<a name="lease-discovery"></a>

A operação `LeaseDiscovery` é responsável por identificar as novas concessões atribuídas ao operador atual pela operação `LeaseAssignmentManager`. A lógica dessa operação envolve a identificação das concessões atribuídas ao operador atual por meio da leitura do índice secundário global da tabela de concessões.


| Métrica | Description | 
| --- | --- | 
|  ListLeaseKeysForWorker.Hora  |  O tempo para chamar o índice secundário global na tabela de concessões e obter as chaves de concessão atribuídas ao operador atual. Nível de métrica: detalhado Unidade: milissegundos  | 
|  FetchNewLeases.Hora  |  O tempo para buscar todas as novas concessões na tabela de concessões.  Nível de métrica: detalhado Unidade: milissegundos  | 
|  NewLeasesDiscovered  |  O número total de novas concessões atribuídas aos operadores. Nível de métrica: detalhado Unidades: contagem  | 
|  Hora  |  Tempo gasto pela operação `LeaseDiscovery`. Nível de métrica: resumo Unidade: milissegundos  | 
|  Bem-sucedida  |  Número de vezes que a operação `LeaseDiscovery` foi concluída com sucesso. Nível de métrica: resumo Unidades: contagem  | 
|  OwnerMismatch  |  O número de incompatibilidades do proprietário em relação à resposta do GSI e à leitura consistente da tabela de concessão. Nível de métrica: detalhado Unidades: contagem  | 

#### RenewAllLeases
<a name="renew-leases"></a>

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


| Métrica | Description | 
| --- | --- | 
| 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 concessão foi bem-sucedida para o operador. Nível de métrica: resumo Unidades: contagem  | 
| Hora |  Tempo percorrido para renovar todas as concessões para o operador. Nível de métrica: resumo Unidade: milissegundos  | 

#### TakeLeases
<a name="take-leases"></a>

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 | Description | 
| --- | --- | 
| 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 `TakeLeases` foi concluída com sucesso. Nível de métrica: resumo Unidades: contagem  | 
| Hora |  Tempo percorrido pela operação `TakeLeases` para um operador. Nível de métrica: resumo Unidade: milissegundos  | 

### Métricas por fragmento
<a name="kcl-metrics-per-shard"></a>

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

#### ProcessTask
<a name="process-task"></a>

A operação `ProcessTask` chama [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) com a posição do iterador atual para recuperar registros do streaming e chama a função `processRecords` do processador de registros.


| Métrica | Description | 
| --- | --- | 
| KinesisDataFetcher.getRecords.Sucesso |  Número de operações `GetRecords` bem-sucedidas por fragmento do fluxo de dados do Kinesis.  Nível de métrica: detalhado Unidades: contagem  | 
| KinesisDataFetcher.Obter registros. Hora |  Tempo decorrido por operação `GetRecords` para o fragmento do fluxo de dados do Kinesis. 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 `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 recebidos ao ligar`GetRecords`. 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 carimbos de data/hora no último registro de resposta. Esse valor se aplica ao último lote de registros, não a uma média de todos os carimbos de data/hora em cada registro.Nível de métrica: resumoUnidade: milissegundos | 
| RecordProcessor.Registros do processo. Tempo |  Tempo percorrido pelo método `processRecords` do processador de registros. 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  | 
| Hora |  Tempo percorrido para a operação de tarefas do processo. Nível de métrica: resumo Unidade: milissegundos  | 

# Monitore a Kinesis Producer Library com a Amazon CloudWatch
<a name="monitoring-with-kpl"></a>

A [Amazon Kinesis Producer Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-kpl.html) (KPL) para Amazon Kinesis Data Streams publica métricas personalizadas da Amazon em seu nome. CloudWatch Você pode visualizar essas métricas navegando até o [CloudWatch console](https://console.aws.amazon.com/cloudwatch/) e escolhendo **Métricas personalizadas**. Para obter mais informações sobre métricas personalizadas, consulte [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) no *Guia CloudWatch do usuário da Amazon*.

Há uma cobrança nominal pelas métricas enviadas CloudWatch pela KPL; especificamente, as taxas de métricas CloudWatch personalizadas da Amazon e das solicitações de CloudWatch API da Amazon se aplicam. Para obter mais informações, consulte [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/). A coleta de métricas locais não gera cobranças do CloudWatch.

**Topics**
+ [Métricas, dimensões e namespaces](#kpl-metrics)
+ [Granularidade e nível de métrica](#kpl-metrics-granularity)
+ [Acesso local e CloudWatch upload da Amazon](#kpl-metrics-local-upload)
+ [Lista de métricas](#kpl-metrics-list)

## Métricas, dimensões e namespaces
<a name="kpl-metrics"></a>

É possível especificar um nome de aplicação ao ativar a KPL, que será usado como parte do namespace durante o carregamento de métricas. Esse passo é opcional. A KPL atribuirá um valor padrão se o nome da aplicação não for definido.

Também é possível configurar a KPL para adicionar dimensões arbitrárias às métricas. Isso é útil se você quiser dados mais detalhados em suas métricas. CloudWatch Por exemplo, pode-se adicionar o nome de host como uma dimensão, o que permite a identificação de distribuições de carga irregulares na frota. Como todas as definições de configuração da KPL são imutáveis, não será possível alterar essas dimensões adicionais depois que a instância da KPL for inicializada.

## Granularidade e nível de métrica
<a name="kpl-metrics-granularity"></a>

Há duas opções para controlar o número de métricas carregadas para o CloudWatch:

*nível de métrica*  
Este é um indicador aproximado da importância de uma métrica. Cada métrica é atribuída a um nível. Quando você define um nível, as métricas com níveis abaixo desses não são enviadas para CloudWatch. Os níveis são `NONE`, `SUMMARY` e `DETAILED`. A configuração padrão é `DETAILED`. Ou seja, todas as métricas. `NONE` significa que não há métricas, de modo que nenhuma métrica é atribuída a esse nível.

*granularidade*  
Controla se a mesma métrica é emitida em níveis adicionais de granularidade. Os níveis são `GLOBAL`, `STREAM` e `SHARD`. A configuração padrão é `SHARD`, que contém as métricas mais granulares.  
Quando `SHARD` é escolhida, as métricas são emitidas com o nome do fluxo e o ID do fragmento como dimensões. Além disso, a mesma métrica também é emitida com somente a dimensão do nome do fluxo, e a métrica sem o nome do fluxo. Isso significa que, para uma métrica específica, dois fluxos com dois fragmentos cada produzirão sete CloudWatch métricas: uma para cada fragmento, uma para cada fluxo e uma geral; todas descrevendo as mesmas estatísticas, mas em diferentes níveis de granularidade. Para ter um esclarecimento, consulte o diagrama abaixo.  
Os diferentes níveis de granularidade formam uma hierarquia, e todas as métricas no sistema formam árvores, enraizadas nos nomes da métrica:  

```
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
```
Nem todas as métricas estão disponíveis no nível de fragmento; algumas são de nível de fluxo ou globais por natureza. Elas não são produzidas no nível de fragmento, mesmo quee as métricas estejam habilitadas nesse nível (`Metric Y` no diagrama acima).  
Ao especificar uma dimensão adicional, é necessário fornecer valores para `tuple:<DimensionName, DimensionValue, Granularity>`. A granularidade é usada para determinar onde a dimensão personalizada é inserida na hierarquia: `GLOBAL` significa que a dimensão adicional é inserida após o nome da métrica, `STREAM` significa que ela é inserida após o nome do fluxo e `SHARD` significa que ela é inserida depois do ID de fragmento. Se várias dimensões adicionais são fornecidas por nível de granularidade, elas são inseridas na ordem determinada.

## Acesso local e CloudWatch upload da Amazon
<a name="kpl-metrics-local-upload"></a>

As métricas para a instância atual da KPL estão disponíveis localmente em tempo real, e é possível consultar a KPL a qualquer momento para obtê-las. O KPL calcula localmente a soma, média, mínimo, máximo e contagem de cada métrica, como em. CloudWatch

Pode-se obter estatísticas cumulativas desde o início do programa até o presente momento ou usar uma janela contínua ao longo dos últimos *N* segundos, em que *N* é um número inteiro entre 1 e 60.

Todas as métricas estão disponíveis para upload em CloudWatch. Isso é especialmente útil para agregar dados em vários hosts, monitoramentos e alarmes. Essa funcionalidade não está disponível localmente.

Conforme descrito anteriormente, é possível selecionar de quais métricas fazer upload com as configurações de *nível de métrica* e *granularidade*. As métricas que não são carregadas estão disponíveis localmente.

Carregar pontos de dados individualmente é insustentável, porque isso pode produzir milhões de carregamentos por segundo se o tráfego for alto. Por esse motivo, o KPL agrega métricas localmente em intervalos de 1 minuto e carrega um objeto de estatísticas uma vez por minuto, por métrica ativada. CloudWatch 



## Lista de métricas
<a name="kpl-metrics-list"></a>


| Métrica | Description | 
| --- | --- | 
| UserRecordsReceived |  Contagem de registros de usuário lógicos recebidos pelo núcleo da KPL para operações put. Não disponível no nível de fragmento. Nível de métrica: detalhado  Unidade: Contagem   | 
| UserRecordsPending |  Exemplo periódico de quantos registros de usuário estão pendentes atualmente. Um registro está pendente se está atualmente em buffer e esperando para ser enviado ou se foi enviado e está em trânsito para o serviço de backend. Não disponível no nível de fragmento.  A KPL oferece um método dedicado para recuperar essa métrica global para permitir que os clientes gerenciem sua taxa de colocação. Nível de métrica: detalhado  Unidade: Contagem   | 
| UserRecordsPut |  Contagem de quantos registros de usuário lógicos foram colocados com êxito. A KPL retorna zero para registros com falha. Isso permite que a média ofereça a taxa de sucesso, que a contagem ofereça o total de tentativas e que a diferença entre a contagem e a soma ofereça o número de falhas. Nível de métrica: resumo Unidade: Contagem  | 
| UserRecordsDataPut |  Bytes nos registros de usuário lógicos colocados com êxito. Nível de métrica: detalhado  Unidade: bytes   | 
| KinesisRecordsPut |  Contagem de registros do Kinesis Data Streams colocados com êxito (cada registro do Kinesis Data Streams pode conter vários registros de usuário).  A KPL retorna zero para registros com falha. Isso permite que a média ofereça a taxa de sucesso, que a contagem ofereça o total de tentativas e que a diferença entre a contagem e a soma ofereça o número de falhas. Nível de métrica: resumo  Unidade: Contagem   | 
| KinesisRecordsDataPut |  Bytes em registros do Kinesis Data Streams.  Nível de métrica: detalhado  Unidade: bytes   | 
| ErrorsByCode |  Contagem de cada tipo de código de erro. Apresenta uma dimensão adicional de `ErrorCode`, além de dimensões normais, como `StreamName` e `ShardId`. Nem todo erro pode ser rastreado até um fragmento. Os erros que não podem ser rastreados são apenas emitidos nos níveis globais ou de fluxo. Essa métrica captura informações sobre fatores como limitações, alterações no mapa de fragmentos, falhas internas, serviço indisponível, limites de tempo e assim por diante.  Os erros de API do Kinesis Data Streams são contados uma vez por registro do Kinesis Data Streams. Vários registros de usuário em um registro do Kinesis Data Streams não geram várias contagens. Nível de métrica: resumo  Unidade: Contagem   | 
| AllErrors |  Isso é acionado pelos mesmos erros de **Erros por código**, mas não faz distinção entre tipos. Isso é útil como um monitor geral da taxa de erros sem exigir uma soma manual das contagens de todos os tipos diferentes de erros. Nível de métrica: resumo  Unidade: Contagem   | 
| RetriesPerRecord |  Número de tentativas realizadas por registro de usuário. Zero é emitido para registros que são bem-sucedidos em uma tentativa. Os dados são emitidos no momento em que um usuário termina (quando o registro é bem-sucedido ou não pode mais ser repetido). Se o registro time-to-live for um valor grande, essa métrica poderá ser significativamente atrasada. Nível de métrica: detalhado  Unidade: Contagem   | 
| BufferingTime |  O tempo entre a chegada de um registro de usuário na KPL e sua saída para o backend. Essas informações são transmitidas de volta ao usuário por registro, mas também estão disponíveis como estatística agregada. Nível de métrica: resumo  Unidade: milissegundos   | 
| Request Time |  O tempo necessário para executar `PutRecordsRequests`. Nível de métrica: detalhado  Unidade: milissegundos   | 
| User Records per Kinesis Record |  O número de registros de usuário lógicos agregados em um único registro do Kinesis Data Streams. Nível de métrica: detalhado  Unidade: Contagem   | 
| Amazon Kinesis Records per PutRecordsRequest |  O número de registros do Kinesis Data Streams agregados em um único `PutRecordsRequest`. Não disponível no nível de fragmento. Nível de métrica: detalhado  Unidade: Contagem   | 
| User Records per PutRecordsRequest |  O número total de registros de usuário contidos em um `PutRecordsRequest`. Isso é equivalente aproximadamente ao produto das últimas duas métricas. Não disponível no nível de fragmento. Nível de métrica: detalhado  Unidade: Contagem   | 