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 mithilfe 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. Den Metriknamen wird der Zieltyp vorangestellt: DeliveryToS3 für allgemeine Amazon S3-Lieferungen und DeliveryToIceberg für Streaming-Tabellen. Verwenden Sie diese Metriken, um den Zustand und die Leistung Ihrer Lieferung zu überwachen.
| Metrikname | Einheit | Description |
|---|---|---|
DeliveryToS3.DataFreshness |
Sekunden | Das Alter des ältesten Datensatzes, der noch nicht an das Ziel übermittelt wurde. Steigende Werte deuten darauf hin, dass die Lieferung ins Hintertreffen gerät. |
DeliveryToS3.BytesIn |
Bytes | Das Datenvolumen, das aus dem Stream in den Lieferpfad eingelesen wird. |
DeliveryToS3.BytesProcessed |
Bytes | Das Datenvolumen, das von der Lieferung verarbeitet wird. |
DeliveryToS3.BytesOut |
Bytes | Die Menge der an das Ziel geschriebenen Daten. |
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 übermittelt 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 Zustellungsvorgänge. |
DeliveryToS3.DLQDeliverySuccess |
Anzahl | Die Anzahl der Datensätze, die erfolgreich in die Warteschlange für unzustellbare Nachrichten geschrieben wurden. |
| Metrikname | Einheit | Description |
|---|---|---|
DeliveryToIceberg.DataFreshness |
Sekunden | Das Alter des ältesten Datensatzes, der noch nicht an die Tabelle übermittelt wurde. Steigende Werte deuten darauf hin, dass die Lieferung ins Hintertreffen gerät. |
DeliveryToIceberg.BytesIn |
Bytes | Das Datenvolumen, das aus dem Stream in den Lieferpfad eingelesen wird. |
DeliveryToIceberg.BytesProcessed |
Bytes | Das Datenvolumen, das von der Lieferung verarbeitet wird. |
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 an die Tabelle übermittelt wurden. |
DeliveryToIceberg.FailedRowCount |
Anzahl | Die Anzahl der Zeilen, bei denen die Übermittlung 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 Nachrichten geschrieben wurden. |
Dimensionen
Versandmetriken 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, um in einem CloudWatch Alarm auf eine bestimmte Übertragung abzuzielen. Für das Durchsuchen oder Abfragen mit GetMetricData und ListMetrics können Sie nach einer Teilmenge von Dimensionen filtern, z. B. ChannelName nach einzelnen Dimensionen.
Empfohlene Alarme
| Alarm | Metrik | Bedingung | Description |
|---|---|---|---|
| Hohe Ausfallrate | DeliveryToS3.FailedRecordCount |
> 0 für 5 Minuten | Aufzeichnungen können nicht zugestellt werden. Untersuchen Sie Schemaabweichungen oder Zielprobleme. |
| Verschlechterung der Aktualität der Daten | DeliveryToS3.DataFreshness |
> Schwelle | Die Datenlieferung hinkt hinterher. Untersuchen Sie Probleme bei der Bereitstellung, z. B. fehlende Berechtigungen für die Rolle „Serviceausführung“ oder Drosselung am Zielort. |
| Es wurden keine Daten übermittelt | DeliveryToS3.SuccessfulRecordCount |
= 0 für 15 Minuten | Es wurden keine Datensätze geliefert. Stellen Sie sicher, dass der Stream Daten enthält und die Übertragung aktiv ist. |
| Fehler bei der DLQ-Zustellung | DeliveryToS3.DLQDeliverySuccess |
= 0 wenn FailedRecordCount > 0 | Fehlerhafte Datensätze können nicht in die Warteschlange mit unlesbaren Buchstaben geschrieben werden. Überprüfen Sie die DLQ-Bucket-Berechtigungen. |
Anmerkung
Die vorangegangenen Alarme verwenden die DeliveryToS3 Metriken für eine Amazon S3-Lieferung. Verwenden Sie für eine Streaming-Tabellenübermittlung die entsprechenden DeliveryToIceberg Metriken (DeliveryToIceberg.FailedRowCountDeliveryToIceberg.DataFreshnessDeliveryToIceberg.SuccessfulRowCount,, undDeliveryToIceberg.DLQDeliverySuccess).
CloudWatch Protokolle
Jede Lieferung kann detaillierte Protokolle in Logs veröffentlichen, um das CloudWatch Debugging zu ermöglichen und die Betriebsabläufe sichtbar zu machen.
-
Standard-Protokollgruppe —
/aws/kinesis/channelName/channelId -
Log-Stream —
DestinationDelivery
CloudWatch Protokolle über CLI aktivieren
Aktivieren Sie CloudWatch Logs, wenn Sie eine Lieferung erstellen oder aktualisieren. Verwenden Sie dazu 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 } }'
Wenn Sie CloudWatch Logs aktivieren, ohne eine Loggruppe anzugeben, verwendet die Lieferung die Standard-Loggruppe/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 Datenlieferung.
Sie können CloudWatch Logs auch für eine bestehende Übertragung mit dem update-channel Befehl aktivieren oder aktualisieren, indem Sie denselben --logging-configuration Wert übergeben.
Erforderliche Berechtigungen
Um CloudWatch Logs zu aktivieren, muss die Serviceausführungsrolle der Lieferung über die folgenden Berechtigungen verfügen:
-
logs:CreateLogGroup -
logs:CreateLogStream -
logs:PutLogEvents
Beschränken Sie diese Berechtigungen auf den ARN-Wert der spezifischen Protokollgruppe. Das Optionale Berechtigungen für CloudWatch Protokolle vollständige Richtlinienbeispiel finden Sie unter.
AWS CloudTrail Protokollierung
Alle API-Aufrufe für die Zustellung werden von aufgezeichnet AWS CloudTrail. Das Folgende ist 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>" }