View a markdown version of this page

Monitoramento da entrega de dados - 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á.

Monitoramento da entrega de dados

Use este tópico para saber como monitorar sua entrega usando CloudWatch métricas, CloudWatch registros AWS CloudTrail e.

CloudWatch métricas

Cada entrega publica métricas CloudWatch no AWS/Kinesis namespace. Os nomes das métricas são prefixados por tipo de destino: DeliveryToS3 para entregas do Amazon S3 de uso geral e DeliveryToIceberg para entregas de tabelas de streaming. Use essas métricas para monitorar a saúde e o desempenho de sua entrega.

Métricas de entrega do Amazon S3 (DeliveryToS3)
Nome da métrica Unidade Description
DeliveryToS3.DataFreshness Segundos A idade do registro mais antigo ainda não foi entregue ao destino. Valores crescentes indicam que a entrega está atrasada.
DeliveryToS3.BytesIn Bytes O volume de dados lidos no caminho de entrega a partir do stream.
DeliveryToS3.BytesProcessed Bytes O volume de dados processados pela entrega.
DeliveryToS3.BytesOut Bytes O volume de dados gravados no destino.
DeliveryToS3.RecordCount Contagem O número total de registros lidos no stream.
DeliveryToS3.SuccessfulRecordCount Contagem O número de registros entregues com sucesso no destino.
DeliveryToS3.FailedRecordCount Contagem O número de registros que falharam na entrega. Um valor diferente de zero é o principal sinal de erro.
DeliveryToS3.DeliverySuccess Contagem O número de operações de entrega bem-sucedidas.
DeliveryToS3.DLQDeliverySuccess Contagem O número de registros gravados com sucesso na fila de cartas mortas.
Métricas de entrega de tabelas de streaming (DeliveryToIceberg)
Nome da métrica Unidade Description
DeliveryToIceberg.DataFreshness Segundos A idade do registro mais antigo ainda não foi entregue à mesa. Valores crescentes indicam que a entrega está atrasada.
DeliveryToIceberg.BytesIn Bytes O volume de dados lidos no caminho de entrega a partir do stream.
DeliveryToIceberg.BytesProcessed Bytes O volume de dados processados pela entrega.
DeliveryToIceberg.BytesOut Bytes O volume de dados gravados na tabela.
DeliveryToIceberg.TotalRowCount Contagem O número total de linhas lidas no fluxo.
DeliveryToIceberg.SuccessfulRowCount Contagem O número de linhas entregues com sucesso na tabela.
DeliveryToIceberg.FailedRowCount Contagem O número de linhas que falharam na entrega. Um valor diferente de zero é o principal sinal de erro.
DeliveryToIceberg.CommitSuccess Contagem O número de commits bem-sucedidos do Iceberg.
DeliveryToIceberg.DLQDeliverySuccess Contagem O número de registros gravados com sucesso na fila de cartas mortas.

Dimensões

As métricas de entrega são publicadas com as seguintes dimensões:

  • ChannelName— O nome da entrega.

  • ChannelId— O identificador exclusivo da entrega.

  • StreamName— O nome do stream de origem do Kinesis Data Streams.

nota

Para direcionar uma entrega específica em um CloudWatch alarme, especifique todas as três dimensões. Para navegar ou consultar com GetMetricData eListMetrics, você pode filtrar por um subconjunto de dimensões, como ChannelName sozinho.

Alarmes recomendados

CloudWatch Alarmes recomendados para entregas
Alarme Métrica Condição Description
Alta taxa de falha DeliveryToS3.FailedRecordCount > 0 por 5 minutos Os registros estão falhando na entrega. Investigue incompatibilidades de esquema ou problemas de destino.
Degradação da atualização dos dados DeliveryToS3.DataFreshness > limiar A entrega de dados está ficando para trás. Investigue problemas de entrega, como a falta de permissões na função de execução do serviço ou a limitação no destino.
Nenhum dado entregue DeliveryToS3.SuccessfulRecordCount = 0 por 15 minutos Nenhum registro foi entregue. Verifique se o stream tem dados e se a entrega está ativa.
Falhas na entrega da DLQ DeliveryToS3.DLQDeliverySuccess = 0 quando FailedRecordCount > 0 Os registros com falha não podem ser gravados na fila de cartas mortas. Verifique as permissões do DLQ bucket.
nota

Os alarmes anteriores usam as DeliveryToS3 métricas para uma entrega do Amazon S3. Para a entrega de uma tabela de streaming, use as DeliveryToIceberg métricas equivalentes (DeliveryToIceberg.FailedRowCountDeliveryToIceberg.DataFreshnessDeliveryToIceberg.SuccessfulRowCount,, eDeliveryToIceberg.DLQDeliverySuccess).

CloudWatch Registros

Cada entrega pode publicar registros detalhados no CloudWatch Logs para depuração e visibilidade operacional.

  • Grupo de registros padrão — /aws/kinesis/channelName/channelId

  • Transmissão de registros — DestinationDelivery

Habilitando CloudWatch registros via CLI

Ative CloudWatch os registros ao criar ou atualizar uma entrega usando AWS CLI:

aws kinesis create-channel \ --channel-name "my-channel" \ --service-execution-role-arn "arn:aws:iam::123456789012:role/my-channel-role" \ --stream-configuration-list '[ { "StreamARN": "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream", "RecordConfiguration": { "RecordFormatType": "JSON" } } ]' \ --s3-destination-configuration '{ "StorageConfiguration": { "BucketARN": "arn:aws:s3:::my-destination-bucket", "ExpectedBucketOwner": "123456789012", "CompressionType": "GZIP" } }' \ --logging-configuration '{ "CloudWatchLogs": { "Enabled": true } }'

Quando você ativa CloudWatch os registros sem especificar um grupo de registros, a entrega usa o grupo /aws/kinesis/channelName/channelId de registros padrão. Se você especificar uma personalizaçãoLogGroupName, certifique-se de que as permissões de CloudWatch registros da função de execução do serviço tenham como escopo o mesmo grupo de registros. Para ver as permissões necessárias, consulte Permissões do IAM para entrega de dados.

Você também pode ativar ou atualizar CloudWatch os registros em uma entrega existente com o update-channel comando, transmitindo o mesmo --logging-configuration valor.

Permissões obrigatórias

Para ativar o CloudWatch Logs, a função de execução do serviço de entrega deve ter as seguintes permissões:

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:PutLogEvents

Defina o escopo dessas permissões para o ARN específico do grupo de registros. Veja o Permissões CloudWatch de registros opcionais exemplo completo da política.

AWS CloudTrail registro em log

Todas as chamadas da API de entrega são gravadas por AWS CloudTrail. Veja a seguir um exemplo de AWS CloudTrail evento para uma CreateChannel chamada:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA1EXAMPLE:user-session", "arn": "arn:aws:sts::<account-id>:assumed-role/<role-name>/user-session", "accountId": "<account-id>" }, "eventTime": "2026-07-20T20:00:00Z", "eventSource": "kinesis.amazonaws.com", "eventName": "CreateChannel", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.1", "userAgent": "aws-cli/2.x", "requestParameters": { "streamName": "my-stream", "channelName": "my-channel" }, "responseElements": { "channelARN": "arn:aws:kinesis:us-east-1:<account-id>:channel/<channel-id>" }, "requestID": "a1b2c3d4-example", "eventID": "e5f6g7h8-example", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "<account-id>" }