Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachung der Datenlieferung
In diesem Thema erfahren Sie, wie Sie Ihre Lieferung anhand von CloudWatch Amazon-Metriken, CloudWatch Protokollen und überwachen können AWS CloudTrail.
CloudWatch Metriken
Bei jeder Lieferung werden Metriken CloudWatch im AWS/Kinesis Namespace veröffentlicht. Metriknamen haben ein Präfix nach Zieltyp: DeliveryToS3 für allgemeine Amazon S3 S3-Lieferungen und DeliveryToIceberg für Streaming-Tabellenlieferungen. Verwenden Sie diese Kennzahlen, um den Zustand und die Leistung Ihrer Lieferung zu überwachen.
In der folgenden Tabelle sind die Metriken für allgemeine Amazon S3 S3-Lieferungen (DeliveryToS3) aufgeführt.
| Metrikname | Einheit | Description |
|---|---|---|
DeliveryToS3.DataFreshness |
Sekunden | Das Alter des ältesten Datensatzes, der noch nicht an den Bestimmungsort geliefert wurde. Steigende Werte deuten darauf hin, dass die Lieferung hinterherhinkt. |
DeliveryToS3.BytesIn |
Bytes | Die Datenmenge, die aus dem Stream in den Lieferpfad eingelesen wurde. |
DeliveryToS3.BytesProcessed |
Bytes | Das Datenvolumen, das durch die Lieferung verarbeitet wurde. |
DeliveryToS3.BytesOut |
Bytes | Das Datenvolumen, das an das Ziel geschrieben wurde. |
DeliveryToS3.RecordCount |
Anzahl | Die Gesamtzahl der aus dem Stream gelesenen Datensätze. |
DeliveryToS3.SuccessfulRecordCount |
Anzahl | Die Anzahl der Datensätze, die erfolgreich an das Ziel gesendet wurden. |
DeliveryToS3.FailedRecordCount |
Anzahl | Die Anzahl der Datensätze, bei denen die Zustellung fehlgeschlagen ist. Ein Wert ungleich Null ist das wichtigste Fehlersignal. |
DeliveryToS3.DeliverySuccess |
Anzahl | Die Anzahl der erfolgreichen Liefervorgänge. |
DeliveryToS3.DLQDeliverySuccess |
Anzahl | Die Anzahl der Datensätze, die erfolgreich in die Warteschlange für unzustellbare Briefe geschrieben wurden. |
In der folgenden Tabelle sind die Metriken für Streaming-Tabellenlieferungen aufgeführt ()DeliveryToIceberg.
| Metrikname | Einheit | Description |
|---|---|---|
DeliveryToIceberg.DataFreshness |
Sekunden | Das Alter des ältesten Datensatzes, der noch nicht in die Tabelle aufgenommen wurde. Steigende Werte deuten darauf hin, dass die Lieferung hinterherhinkt. |
DeliveryToIceberg.BytesIn |
Bytes | Die Datenmenge, die aus dem Stream in den Lieferpfad eingelesen wurde. |
DeliveryToIceberg.BytesProcessed |
Bytes | Das Datenvolumen, das durch die Lieferung verarbeitet wurde. |
DeliveryToIceberg.BytesOut |
Bytes | Die Menge der in die Tabelle geschriebenen Daten. |
DeliveryToIceberg.TotalRowCount |
Anzahl | Die Gesamtzahl der aus dem Stream gelesenen Zeilen. |
DeliveryToIceberg.SuccessfulRowCount |
Anzahl | Die Anzahl der Zeilen, die erfolgreich in die Tabelle übertragen wurden. |
DeliveryToIceberg.FailedRowCount |
Anzahl | Die Anzahl der Zeilen, bei denen die Zustellung fehlgeschlagen ist. Ein Wert ungleich Null ist das wichtigste Fehlersignal. |
DeliveryToIceberg.CommitSuccess |
Anzahl | Die Anzahl der erfolgreichen Iceberg-Commits. |
DeliveryToIceberg.DLQDeliverySuccess |
Anzahl | Die Anzahl der Datensätze, die erfolgreich in die Warteschlange für unzustellbare Briefe geschrieben wurden. |
Dimensionen
Lieferkennzahlen werden mit den folgenden Dimensionen veröffentlicht:
-
ChannelName— Der Name der Lieferung. -
ChannelId— Die eindeutige Kennung der Lieferung. -
StreamName— Der Name des Kinesis Data Streams-Quellstreams.
Anmerkung
Geben Sie alle drei Dimensionen an, wenn Sie in einem CloudWatch Alarm auf eine bestimmte Übertragung abzielen möchten. Wenn Sie mit GetMetricData und suchen oder Abfragen durchführen möchtenListMetrics, können Sie nach einer Teilmenge von Dimensionen filtern, z. B. ChannelName nach einzelnen Dimensionen.
Empfohlene Alarme
In der folgenden Tabelle sind empfohlene CloudWatch Alarme für Lieferungen aufgeführt.
| Alarm | Metrik | Bedingung | Description |
|---|---|---|---|
| Hohe Ausfallrate | DeliveryToS3.FailedRecordCount |
> 0 für 5 Minuten | Die Daten können nicht zugestellt werden. Untersuchen Sie Schemakonflikte oder Zielprobleme. |
| Verschlechterung der Datenaktualität | DeliveryToS3.DataFreshness |
> Schwellenwert | Die Datenbereitstellung hinkt hinterher. Untersuchen Sie Probleme bei der Bereitstellung, z. B. fehlende Berechtigungen für die Dienstausführungsrolle oder Drosselungen am Zielort. |
| Es wurden keine Daten übermittelt | DeliveryToS3.SuccessfulRecordCount |
= 0 für 15 Minuten | Es wurden keine Aufzeichnungen geliefert. Stellen Sie sicher, dass der Stream Daten enthält und die Lieferung aktiv ist. |
| Fehler bei der DLQ-Zustellung | DeliveryToS3.DLQDeliverySuccess |
= 0, wenn FailedRecordCount > 0 | Fehlgeschlagene Datensätze können nicht in die Warteschlange mit unerlaubten Briefen geschrieben werden. Überprüfen Sie die DLQ-Bucket-Berechtigungen. |
Anmerkung
Die vorherigen Alarme verwenden die DeliveryToS3 Metriken für eine Amazon S3 S3-Lieferung. Verwenden Sie für eine Streaming-Tabellen-Lieferung die entsprechenden DeliveryToIceberg Metriken (DeliveryToIceberg.FailedRowCountDeliveryToIceberg.DataFreshnessDeliveryToIceberg.SuccessfulRowCount,, undDeliveryToIceberg.DLQDeliverySuccess).
CloudWatch Logs
Für jede Lieferung können detaillierte Protokolle in Logs veröffentlicht werden, um CloudWatch Debugging und betriebliche Transparenz zu gewährleisten.
Standardmäßig schreibt eine Lieferung in die folgende Protokollgruppe und den folgenden Protokollstream:
-
Standard-Protokollgruppe —
/aws/kinesis/channelName/channelId -
Protokollstream —
DestinationDelivery
CloudWatch Logs über CLI aktivieren
Aktivieren Sie CloudWatch Protokolle, wenn Sie eine Lieferung erstellen oder aktualisieren, indem Sie 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 } }'
Wenn Sie CloudWatch Protokolle aktivieren, ohne eine Protokollgruppe anzugeben, verwendet die Übermittlung die Standardprotokollgruppe/aws/kinesis/. Wenn Sie eine benutzerdefinierte Option angebenchannelName/channelIdLogGroupName, stellen Sie sicher, dass die CloudWatch Logs-Berechtigungen der Dienstausführungsrolle auf dieselbe Protokollgruppe beschränkt sind. Die erforderlichen Berechtigungen finden Sie unter IAM-Berechtigungen für die Datenbereitstellung.
Sie können auch CloudWatch Protokolle für eine bestehende Lieferung mit dem update-channel Befehl aktivieren oder aktualisieren, indem Sie denselben --logging-configuration Wert übergeben.
Erforderliche Berechtigungen
Um CloudWatch Logs zu aktivieren, muss die Dienstausführungsrolle der Lieferung über die folgenden Berechtigungen verfügen:
-
logs:CreateLogGroup -
logs:CreateLogStream -
logs:PutLogEvents
Schränken Sie diese Berechtigungen auf den spezifischen Protokollgruppen-ARN ein. Das Optionale CloudWatch Log-Berechtigungen vollständige Richtlinienbeispiel finden Sie unter.
AWS CloudTrail Protokollierung
Alle API-Aufrufe für die Zustellung werden von aufgezeichnet AWS CloudTrail. Im Folgenden finden Sie ein AWS CloudTrail Beispielereignis für einen CreateChannel Anruf:
{ "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>" }