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á.
Monitore a Kinesis Producer Library com a Amazon CloudWatch
A Kinesis Producer Library (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
Há uma cobrança nominal pelas métricas enviadas CloudWatch peloKPL; especificamente, as cobranças do Amazon CloudWatch Custom Metrics e do Amazon CloudWatch API Requests se aplicam. Para obter mais informações, consulte Amazon CloudWatch Pricing
Tópicos
Métricas, dimensões e namespaces
Você pode especificar um nome de aplicativo ao iniciar oKPL, que é então usado como parte do namespace ao fazer o upload das métricas. Isso é opcional; KPL fornece um valor padrão se o nome do aplicativo não estiver definido.
Você também pode configurar o KPL para adicionar dimensões adicionais arbitrárias às métricas. Isso é útil se você quiser dados mais detalhados em suas métricas. CloudWatch Por exemplo, você pode adicionar o nome de host como uma dimensão, o que permite que você identifique distribuições de carga irregulares na frota. Todas as KPL configurações são imutáveis, então você não pode alterar essas dimensões adicionais após a inicialização da KPL instância.
Nível métrico e granularidade
Há duas opções para controlar o número de métricas enviadas para 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
eDETAILED
. 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
eSHARD
. 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 stream e o ID do estilhaço como dimensões. Além disso, a mesma métrica também é emitida com somente a dimensão do nome do stream, e a métrica sem o nome do stream. 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 no 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 estilhaço; algumas são de nível de stream ou globais por natureza. Elas não são produzidas no nível de estilhaço, mesmo se você tiver habilitado as métricas nesse nível (
Metric Y
no diagrama acima).Quando você especifica uma dimensão adicional, precisa 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 stream eSHARD
significa que ela é inserida depois do ID de estilhaço. 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
As métricas da KPL instância atual estão disponíveis localmente em tempo real; você pode consultá-las a qualquer KPL momento para obtê-las. O computa KPL localmente a soma, média, mínimo, máximo e contagem de cada métrica, como em CloudWatch.
Você pode obter estatísticas que são 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, CloudWatch ele 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.
Lista de métricas
Métrica | Descrição |
---|---|
UserRecordsReceived |
Contagem de quantos registros lógicos do usuário foram recebidos pelo KPL núcleo para operações de colocação. Não disponível no nível de estilhaço. 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 back-end. Não disponível no nível de estilhaço. O KPL fornece um método dedicado para recuperar essa métrica em nível global para que os clientes gerenciem sua taxa de venda. Nível de métrica: detalhado Unidade: contagem |
UserRecordsPut |
Contagem de quantos registros de usuário lógicos foram colocados com êxito. O KPL não conta registros com falha para essa métrica. 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 saída é 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 Os erros do Kinesis API 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 KPL e saída de um registro do usuário para o back-end. 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 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 Nível de métrica: detalhado Unidade: contagem |
User Records per
PutRecordsRequest |
O número total de registros de usuário contidos em um Nível de métrica: detalhado Unidade: contagem |