View a markdown version of this page

Monitoraggio della distribuzione dei dati - Flusso di dati Amazon Kinesis

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitoraggio della distribuzione dei dati

Usa questo argomento per scoprire come monitorare la spedizione utilizzando le CloudWatch metriche Amazon, CloudWatch i log e AWS CloudTrail.

CloudWatch metriche

Ogni consegna pubblica le metriche CloudWatch nel namespace. AWS/Kinesis I nomi delle metriche sono preceduti dal tipo di destinazione: DeliveryToS3 per le consegne Amazon S3 a uso generico e per le consegne tramite tabelle in streaming. DeliveryToIceberg Usa queste metriche per monitorare lo stato e le prestazioni della tua consegna.

Metriche di consegna di Amazon S3 (S3) DeliveryTo
Nome parametro Unità Description
DeliveryToS3.DataFreshness Secondi L'età del record più vecchio non ancora consegnato a destinazione. I valori crescenti indicano che la consegna è in ritardo.
DeliveryToS3.BytesIn Byte Il volume di dati letti nel percorso di consegna dallo stream.
DeliveryToS3.BytesProcessed Byte Il volume di dati elaborati dalla consegna.
DeliveryToS3.BytesOut Byte Il volume di dati scritti nella destinazione.
DeliveryToS3.RecordCount Conteggio Il numero totale di record letti dallo stream.
DeliveryToS3.SuccessfulRecordCount Conteggio Il numero di record recapitati correttamente alla destinazione.
DeliveryToS3.FailedRecordCount Conteggio Il numero di record la cui consegna non è riuscita. Un valore diverso da zero è il segnale di errore chiave.
DeliveryToS3.DeliverySuccess Conteggio Il numero di operazioni di consegna riuscite.
DeliveryToS3.DLQDeliverySuccess Conteggio Il numero di record scritti correttamente nella coda delle lettere morte.
Metriche di consegna delle tabelle in streaming () DeliveryToIceberg
Nome parametro Unità Description
DeliveryToIceberg.DataFreshness Secondi L'età del record più vecchio non ancora inserito nella tabella. L'aumento dei valori indica che la consegna è in ritardo.
DeliveryToIceberg.BytesIn Byte Il volume di dati letti nel percorso di consegna dallo stream.
DeliveryToIceberg.BytesProcessed Byte Il volume di dati elaborati dalla consegna.
DeliveryToIceberg.BytesOut Byte Il volume di dati scritti nella tabella.
DeliveryToIceberg.TotalRowCount Conteggio Il numero totale di righe lette dallo stream.
DeliveryToIceberg.SuccessfulRowCount Conteggio Il numero di righe recapitate correttamente alla tabella.
DeliveryToIceberg.FailedRowCount Conteggio Il numero di righe la cui consegna non è riuscita. Un valore diverso da zero è il segnale di errore chiave.
DeliveryToIceberg.CommitSuccess Conteggio Il numero di commit di Iceberg riusciti.
DeliveryToIceberg.DLQDeliverySuccess Conteggio Il numero di record scritti con successo nella coda delle lettere morte.

Dimensioni

Le metriche di consegna sono pubblicate con le seguenti dimensioni:

  • ChannelName— Il nome della spedizione.

  • ChannelId— L'identificativo univoco della consegna.

  • StreamName— Il nome dello stream Kinesis Data Streams di origine.

Nota

Per indirizzare una consegna specifica in un CloudWatch allarme, specificate tutte e tre le dimensioni. Per navigare o eseguire query con GetMetricData eListMetrics, puoi filtrare in base a un sottoinsieme di dimensioni, ad esempio ChannelName solo.

Allarmi raccomandati

CloudWatch Allarmi consigliati per le consegne
Allarme Metrica Condizione Description
Elevata percentuale di guasti DeliveryToS3.FailedRecordCount > 0 per 5 minuti I documenti non vengono consegnati. Analizza le mancate corrispondenze dello schema o i problemi relativi alla destinazione.
Degrado della freschezza dei dati DeliveryToS3.DataFreshness > soglia La distribuzione dei dati è in ritardo. Analizza i problemi di consegna, ad esempio la mancanza di autorizzazioni sul ruolo di esecuzione del servizio o la limitazione a destinazione.
Nessun dato consegnato DeliveryToS3.SuccessfulRecordCount = 0 per 15 minuti Non è stato consegnato alcun record. Verifica che lo stream contenga dati e che la distribuzione sia attiva.
Errori di consegna DLQ DeliveryToS3.DLQDeliverySuccess = 0 quando FailedRecordCount > 0 I record non riusciti non possono essere scritti nella coda delle lettere morte. Verifica le autorizzazioni del bucket DLQ.
Nota

Gli allarmi precedenti utilizzano le DeliveryToS3 metriche per una consegna Amazon S3. Per la consegna di una tabella in streaming, utilizza le DeliveryToIceberg metriche equivalenti (DeliveryToIceberg.FailedRowCount,, DeliveryToIceberg.DataFreshness e). DeliveryToIceberg.SuccessfulRowCount DeliveryToIceberg.DLQDeliverySuccess

CloudWatch Registri

Ogni distribuzione può pubblicare registri dettagliati su CloudWatch Logs per il debug e la visibilità operativa.

  • Gruppo di log predefinito: /aws/kinesis/channelName/channelId

  • Stream di log — DestinationDelivery

Abilitazione CloudWatch dei log tramite CLI

Abilita CloudWatch i log durante la creazione o l'aggiornamento di una consegna utilizzando: 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 abiliti CloudWatch i log senza specificare un gruppo di log, la consegna utilizza il gruppo /aws/kinesis/channelName/channelId di log predefinito. Se specifichi un valore personalizzatoLogGroupName, assicurati che le autorizzazioni CloudWatch Logs del ruolo di esecuzione del servizio siano limitate allo stesso gruppo di log. Per le autorizzazioni richieste, consulta Autorizzazioni IAM per la distribuzione dei dati.

Puoi anche abilitare o aggiornare CloudWatch i log su una consegna esistente con il update-channel comando, passando lo stesso --logging-configuration valore.

Autorizzazioni richieste

Per abilitare CloudWatch i log, il ruolo di esecuzione del servizio della consegna deve disporre delle seguenti autorizzazioni:

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:PutLogEvents

Assegnate queste autorizzazioni allo specifico gruppo di log ARN. Vedi Autorizzazioni opzionali per i log CloudWatch per l'esempio completo della policy.

AWS CloudTrail logging

Tutte le chiamate API di consegna vengono registrate da AWS CloudTrail. Di seguito è riportato un esempio di AWS CloudTrail evento per una CreateChannel chiamata:

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