View a markdown version of this page

Supervisión de la entrega de datos - Amazon Kinesis Data Streams

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Supervisión de la entrega de datos

Utiliza este tema para obtener información sobre cómo supervisar tus envíos mediante las CloudWatch métricas, CloudWatch los registros y AWS CloudTrail.

CloudWatch métricas

Cada entrega publica las métricas CloudWatch en el espacio de AWS/Kinesis nombres. Los nombres de las métricas llevan el prefijo del tipo de destino: DeliveryToS3 para las entregas de Amazon S3 de uso general y DeliveryToIceberg para las entregas de tablas de streaming. Utilice estas métricas para supervisar el estado y el rendimiento de su entrega.

En la siguiente tabla se enumeran las métricas de las entregas de Amazon S3 de uso general (DeliveryToS3).

Nombre de métrica Unidad Description (Descripción)
DeliveryToS3.DataFreshness Segundos La antigüedad del registro más antiguo que aún no se ha entregado en el destino. El aumento de los valores indica que la entrega se está retrasando.
DeliveryToS3.BytesIn Bytes El volumen de datos leídos en la ruta de entrega desde la transmisión.
DeliveryToS3.BytesProcessed Bytes El volumen de datos procesados por la entrega.
DeliveryToS3.BytesOut Bytes El volumen de datos escritos en el destino.
DeliveryToS3.RecordCount Recuento El número total de registros leídos de la transmisión.
DeliveryToS3.SuccessfulRecordCount Recuento El número de registros que se entregaron correctamente al destino.
DeliveryToS3.FailedRecordCount Recuento El número de registros en los que no se pudo entregar. Un valor distinto de cero es la señal de error clave.
DeliveryToS3.DeliverySuccess Recuento El número de operaciones de entrega realizadas correctamente.
DeliveryToS3.DLQDeliverySuccess Recuento El número de registros que se han escrito correctamente en la cola de letra muerta.

En la siguiente tabla se muestran las métricas de las entregas de tablas de streaming (). DeliveryToIceberg

Nombre de métrica Unidad Description (Descripción)
DeliveryToIceberg.DataFreshness Segundos La antigüedad del registro más antiguo que aún no se ha incluido en la tabla. El aumento de los valores indica que la entrega se está retrasando.
DeliveryToIceberg.BytesIn Bytes El volumen de datos leídos en la ruta de entrega desde la transmisión.
DeliveryToIceberg.BytesProcessed Bytes El volumen de datos procesados por la entrega.
DeliveryToIceberg.BytesOut Bytes El volumen de datos escritos en la tabla.
DeliveryToIceberg.TotalRowCount Recuento El número total de filas leídas de la transmisión.
DeliveryToIceberg.SuccessfulRowCount Recuento El número de filas que se enviaron correctamente a la tabla.
DeliveryToIceberg.FailedRowCount Recuento El número de filas en las que no se pudo entregar. Un valor distinto de cero es la señal de error clave.
DeliveryToIceberg.CommitSuccess Recuento El número de confirmaciones de Iceberg que se han realizado correctamente.
DeliveryToIceberg.DLQDeliverySuccess Recuento El número de registros que se han escrito correctamente en la cola de letra muerta.

Dimensiones

Las métricas de entrega se publican con las siguientes dimensiones:

  • ChannelName— El nombre de la entrega.

  • ChannelId— El identificador único de la entrega.

  • StreamName— El nombre de la transmisión de Kinesis Data Streams de origen.

nota

Para segmentar una entrega específica en una CloudWatch alarma, especifique las tres dimensiones. Para navegar o realizar consultas con GetMetricData yListMetrics, puede filtrar por un subconjunto de dimensiones, por ejemplo, por separado. ChannelName

Alarmas recomendadas

En la siguiente tabla se enumeran las CloudWatch alarmas recomendadas para las entregas.

Alarma Métrica Condición Description (Descripción)
Alta tasa de fallos DeliveryToS3.FailedRecordCount > 0 durante 5 minutos La entrega de los registros está fallando. Investigue las discrepancias en los esquemas o los problemas de destino.
Degradación de la frescura de DeliveryToS3.DataFreshness > umbral La entrega de datos se está retrasando. Investigue los problemas de entrega, como la falta de permisos en la función de ejecución del servicio o las limitaciones en el lugar de destino.
No se ha entregado ningún dato DeliveryToS3.SuccessfulRecordCount = 0 durante 15 minutos No se ha entregado ningún registro. Compruebe que la transmisión tenga datos y que la entrega esté activa.
Fallos en la entrega de DLQ DeliveryToS3.DLQDeliverySuccess = 0 cuando FailedRecordCount > 0 Los registros fallidos no se pueden escribir en la cola de letra muerta. Compruebe los permisos del bucket de DLQ.
nota

Las alarmas anteriores utilizan las DeliveryToS3 métricas de una entrega de Amazon S3. Para la entrega de una tabla de streaming, utilice las DeliveryToIceberg métricas equivalentes (DeliveryToIceberg.FailedRowCountDeliveryToIceberg.DataFreshness,DeliveryToIceberg.SuccessfulRowCount, yDeliveryToIceberg.DLQDeliverySuccess).

CloudWatch Registros

Cada entrega puede publicar registros detallados en CloudWatch Logs para la depuración y la visibilidad operativa.

De forma predeterminada, una entrega escribe en el siguiente grupo de registros y flujo de registros:

  • Grupo de registros predeterminado: /aws/kinesis/channelName/channelId

  • Flujo de registro: DestinationDelivery

Habilitación CloudWatch de registros mediante CLI

Habilite CloudWatch los registros al crear o actualizar una entrega mediante AWS CLI:

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

Al habilitar CloudWatch los registros sin especificar un grupo de registros, la entrega utiliza el grupo de registros predeterminado/aws/kinesis/channelName/channelId. Si especificas un registro personalizadoLogGroupName, asegúrate de que los permisos de CloudWatch registro de la función de ejecución del servicio estén limitados a ese mismo grupo de registros. Para conocer los permisos necesarios, consulte Permisos de IAM para la entrega de datos.

También puedes habilitar o actualizar CloudWatch los registros en una entrega existente con el update-channel comando, pasando el mismo --logging-configuration valor.

Permisos necesarios

Para habilitar CloudWatch los registros, la función de ejecución del servicio de entrega debe tener los siguientes permisos:

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:PutLogEvents

Limite estos permisos al ARN del grupo de registros específico. Consulte el Permisos de CloudWatch registro opcionales ejemplo completo de la política.

AWS CloudTrail registrar

Todas las llamadas a la API de entrega las graba AWS CloudTrail. El siguiente es un ejemplo de AWS CloudTrail evento para una CreateChannel llamada:

{ "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>" }