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

Utilizza questo argomento per scoprire come monitorare la tua consegna utilizzando Amazon CloudWatch Metrics, CloudWatch Logs 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 generiche di Amazon S3 e per le DeliveryToIceberg consegne di tabelle di streaming. Utilizza questi parametri per monitorare lo stato e le prestazioni della tua distribuzione.

La tabella seguente elenca i parametri per le DeliveryToS3 consegne generiche di Amazon S3 ().

Nome parametro Unità Description
DeliveryToS3.DataFreshness Secondi L'età del record più vecchio non ancora consegnato a destinazione. L'aumento dei valori indica che le consegne sono 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 consegnati 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 non scritte.

La tabella seguente elenca le metriche per lo streaming delle consegne delle tabelle (). DeliveryToIceberg

Nome parametro Unità Description
DeliveryToIceberg.DataFreshness Secondi L'età del record più vecchio non ancora consegnato alla tabella. I valori in aumento indicano che le consegne sono 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 inserite correttamente nella tabella.
DeliveryToIceberg.FailedRowCount Conteggio Il numero di righe che non sono riuscite a recapitare. Un valore diverso da zero è il segnale di errore chiave.
DeliveryToIceberg.CommitSuccess Conteggio Il numero di commit Iceberg eseguiti con successo.
DeliveryToIceberg.DLQDeliverySuccess Conteggio Il numero di record scritti con successo nella coda delle lettere non scritte.

Dimensioni

Le metriche di consegna vengono pubblicate con le seguenti dimensioni:

  • ChannelName— Il nome della spedizione.

  • ChannelId— L'identificatore univoco della consegna.

  • StreamName— Il nome del flusso Kinesis Data Streams di origine.

Nota

Per indirizzare una consegna specifica in un CloudWatch allarme, specifica tutte e tre le dimensioni. Per sfogliare o eseguire interrogazioni con GetMetricData andListMetrics, puoi filtrare in base a un sottoinsieme di dimensioni, ad ChannelName esempio alone.

Allarmi raccomandati

La tabella seguente elenca gli CloudWatch allarmi consigliati per le consegne.

Allarme Metrica Condizione Description
Alto tasso di fallimento DeliveryToS3.FailedRecordCount > 0 per 5 minuti I record non vengono consegnati. Analizza le mancate corrispondenze dello schema o i problemi di destinazione.
Degrado della freschezza dei dati DeliveryToS3.DataFreshness > soglia La fornitura dei dati è in ritardo. Esamina i problemi di consegna, ad esempio la mancanza di autorizzazioni per il ruolo di esecuzione del servizio o la limitazione a destinazione.
Nessun dato fornito DeliveryToS3.SuccessfulRecordCount = 0 per 15 minuti Nessun record è stato consegnato. 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. Controlla le autorizzazioni del bucket DLQ.
Nota

Gli allarmi precedenti utilizzano i DeliveryToS3 parametri per una consegna Amazon S3. Per una distribuzione tramite tabelle di streaming, usa le DeliveryToIceberg metriche equivalenti (DeliveryToIceberg.FailedRowCount,, DeliveryToIceberg.DataFreshness e). DeliveryToIceberg.SuccessfulRowCount DeliveryToIceberg.DLQDeliverySuccess

CloudWatch Registri

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

Per impostazione predefinita, una consegna scrive nel seguente gruppo di log e flusso di log:

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

  • Flusso di log — DestinationDelivery

Abilitazione CloudWatch dei log tramite CLI

Abilita CloudWatch i registri 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::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 } }'

Quando abiliti CloudWatch i registri senza specificare un gruppo di log, la consegna utilizza il gruppo di log predefinito. /aws/kinesis/channelName/channelId Se specifichi un account personalizzatoLogGroupName, assicurati che le autorizzazioni CloudWatch Logs del ruolo di esecuzione del servizio rientrino nell'ambito dello stesso gruppo di log. Per le autorizzazioni richieste, consulta Autorizzazioni IAM per la consegna dei dati.

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

Autorizzazioni richieste

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

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:PutLogEvents

Ambita queste autorizzazioni allo specifico gruppo di log ARN. Vedi Autorizzazioni opzionali per i log CloudWatch 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>" }