Monitorar o serviço Amazon Kinesis Data Streams com o Amazon CloudWatch - Amazon Kinesis Data Streams

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

Monitorar o serviço Amazon Kinesis Data Streams com o Amazon CloudWatch

O Amazon Kinesis Data Streams e o Amazon CloudWatch são integrados, permitindo coletar, visualizar e analisar métricas do CloudWatch para seus fluxos de dados do Kinesis. Por exemplo, para rastrear o uso de estilhaços, você pode monitorar as IncomingBytes e as métricas de OutgoingBytes e compará-las com o número de estilhaços no stream.

As métricas configuradas para os fluxos são coletadas e enviadas automaticamente ao CloudWatch a 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 Descrição

Básico (nível de stream)

Dados de nível de stream são enviados automaticamente a cada minuto, sem custo adicional.

Avançado (nível de estilhaço)

Dados de nível de estilhaço são enviados a cada minuto por um custo adicional. Para obter esse nível de dados, você precisa habilitá-lo especificamente para o fluxo usando a operação EnableEnhancedMonitoring.

Para obter mais informações sobre preços, consulte a página do produto Amazon CloudWatch.

Métricas e dimensões do Amazon Kinesis Data Streams

O Kinesis Data Streams envia métricas ao CloudWatch em dois níveis: no nível do fluxo e, opcionalmente, de fragmento. As métricas no nível do stream se destinam aos casos de uso de monitoramento mais comuns em condições normais. As métricas no nível do fragmento 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.

Para obter uma explicação das estatísticas coletadas nas métricas do CloudWatch, consulte Estatísticas do CloudWatch no Guia do usuário do Amazon CloudWatch.

Métricas no nível do fluxo básicas

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

O Kinesis Data Streams envia essas métricas de fluxo para o CloudWatch a cada minuto. Essas métricas estão sempre disponíveis.

Métrica Descrição
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 estilhaço: OutgoingBytes

Dimensões: StreamName

Estatísticas válidas: mínima, máxima, média, soma, amostras

Unidades: bytes

GetRecords.IteratorAge

Essa métrica foi substituída. 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 stream. 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 stream.

Nome da métrica do nível de estilhaço: 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 estilhaço, 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 estilhaço: 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 stream, 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 estilhaço: 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 estilhaço: 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 stream.

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 estilhaço: 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 você exceder o número de chamadas por segundo permitido para essa operação.

Dimensões: StreamName, ConsumerName
SubscribeToShard.Success

Essa métrica registra se a assinatura SubscribeToShard foi estabelecida com êxito. 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 estilhaço, 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 estilhaço: OutgoingBytes

Dimensões: StreamName, ConsumerName

Estatísticas válidas: mínima, máxima, média, soma, amostras

Unidades: bytes

SubscribeToShardEvent.MillisBehindLatest

A diferença entre a hora atual e o momento em que o último registro do evento SubscribeToShard foi gravado no stream.

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 estilhaço, 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 estilhaço: 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, ConsumerName

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 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 estilhaço: WriteProvisionedThroughputExceeded

Dimensões: StreamName

Estatísticas válidas: mínima, máxima, média, soma, amostras

Unidades: contagem

Métricas do nível de estilhado aprimoradas

O namespace AWS/Kinesis inclui métricas de nível do estilhaço a seguir.

O Kinesis envia as métricas de fragmento a seguir a cada minuto. Cada dimensão métrica cria uma métrica do CloudWatch e faz aproximadamente 43.200 chamadas da API PutMetricData 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 Preço do Amazon CloudWatch sob o título Métricas personalizadas do Amazon CloudWatch. As cobranças são indicadas por estilhaço pela métrica por mês.

Métrica Descrição
IncomingBytes

O número de bytes colocados com sucesso no estilhaço 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 estilhaço 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 estilhaço 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 estilhaço 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 estilhaço, 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 stream. 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 estilhaço, 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 estilhaço 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 estilhaço, 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 estilhaço 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 estilhaço ao longo do período especificado. Esta contagem de exceções abrange todas as dimensões dos seguintes limites: 5 leituras por estilhaço por segundo ou 2 MB por segundo por estilhaço. 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 estilhaço durante o período especificado.

Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao estilhaço 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 estilhaço 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 estilhaço ou 1 MB por segundo por estilhaço. 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 estilhaço durante o período especificado.

Quando a estatística máxima tem um valor de 0 (zero), nenhum registro foi limitado ao estilhaço 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

Dimensão

Descrição

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

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 estilhaços e consumidores no stream. 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 alarmes do CloudWatch na estatística Máxima para receber alertas antes que essa perda se torne um risco. Para ver um exemplo de cenário que usa essa métrica, consulte Processamento de registros de consumidores ficando atrasados.

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 stream. A estatística mais usada para essa métrica é Média.
PutRecord.Success, PutRecords.Success Recomendamos o uso de alarmes do CloudWatch na estatística Média para indicar quando os registros estão falhando ao entrar no fluxo. Escolha um ou ambos os tipos put, dependendo do que o produtor usa. Se estiver usando o Kinesis Producer Library (KPL), use PutRecords.Success.
GetRecords.Success Recomendamos o uso de alarmes do CloudWatch na estatística Média para indicar quando os registros estão falhando ao sair do fluxo.

Acessar as métricas do Amazon CloudWatch para o Kinesis Data Streams

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

Para acessar as métricas usando o console do CloudWatch
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

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

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

  4. No painel CloudWatch Metrics by Category (Métricas do CloudWatch por categoria), selecione Kinesis Metrics (Métricas do Kinesis).

  5. Clique na linha relevante para visualizar as estatísticas para o MetricName e o StreamName especificados.

    Observação: a maioria dos nomes das estatísticas do console corresponde aos nomes das métricas do CloudWatch correspondentes listados acima, com exceção de Throughput de leitura e Throughput de gravação. Estas estatísticas são calculadas em intervalos de cinco minutos: Throughput de gravação monitora a métrica IncomingBytes do CloudWatch, e Throughput de leitura monitora GetRecords.Bytes.

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

Para acessar as métricas usando a AWS CLI

Use os comandos list-metrics e get-metric-statistics.

Para acessar as métricas usando a CLI do CloudWatch

Use os comandos mon-list-metrics e mon-get-stats.

Para acessar as métricas usando a API do CloudWatch

Use as operações ListMetrics e GetMetricsStatistics.