Überwachung der Kinesis-Clientbibliothek mit Amazon CloudWatch - Amazon-Kinesis-Data-Streams

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 Kinesis-Clientbibliothek mit Amazon CloudWatch

Die Kinesis Client Library (KCL) für Amazon Kinesis Data Streams veröffentlicht in Ihrem Namen benutzerdefinierte CloudWatch Amazon-Metriken, wobei der Name Ihrer KCL-Anwendung als Namespace verwendet wird. Sie können diese Metriken anzeigen, indem Sie zur Konsole navigieren und Benutzerdefinierte Metriken auswählen. CloudWatch Weitere Informationen zu benutzerdefinierten Metriken finden Sie unter Veröffentlichen benutzerdefinierter Metriken im CloudWatch Amazon-Benutzerhandbuch.

Für die CloudWatch von der KCL hochgeladenen Metriken wird eine geringe Gebühr erhoben. Insbesondere fallen Gebühren für Amazon CloudWatch Custom Metrics und Amazon CloudWatch API Requests an. Weitere Informationen finden Sie unter CloudWatch Amazon-Preise.

Metriken und Namespaces

Der zum Hochladen von Kennzahlen verwendete Namespace ist der Anwendungsname, den Sie beim Starten von KCL angeben.

Metrikstufen und Dimensionen

Es gibt zwei Optionen, um zu kontrollieren, in welche Metriken hochgeladen werden CloudWatch:

Metrikstufen

Jeder Metrik ist eine individuelle Stufe zugewiesen. Wenn Sie eine Berichtsebene für Kennzahlen festlegen, werden Metriken, deren individuelle Ebene unter der Berichtsebene liegt, nicht an diese gesendet CloudWatch. Die Stufen sind: NONE, SUMMARY und DETAILED. Die Standardeinstellung istDETAILED; das heißt, alle Metriken werden an gesendet CloudWatch. Die Berichtsstufe NONE bedeutet, dass keine Kennzahlen gesendet werden. Informationen dazu, welchen Metriken welche Stufen zugewiesen werden, finden Sie unter Liste der Metriken.

aktivierte Dimensionen

Jeder KCL-Metrik sind Dimensionen zugeordnet, an die auch gesendet CloudWatch werden. Wenn KCL in KCL 2.x für die Verarbeitung eines einzelnen Datenstroms konfiguriert ist, sind alle Metrikdimensionen (Operation, ShardId und WorkerIdentifier) standardmäßig aktiviert. Außerdem kann in KCL 2.x die Dimension Operation nicht deaktiviert werden, wenn KCL für die Verarbeitung eines einzelnen Datenstroms konfiguriert ist. Wenn KCL in KCL 2.x für die Verarbeitung mehrerer Datenströme konfiguriert ist, sind alle Metrikdimensionen (Operation, ShardId, StreamId und WorkerIdentifier) standardmäßig aktiviert. Wenn KCL für die Verarbeitung mehrerer Datenströme konfiguriert ist, können die Dimensionen Operation und StreamId in KCL 2.x nicht deaktiviert werden. Die Dimension StreamId ist nur für die Metriken pro Shard verfügbar.

In KCL 1.x sind nur die Dimensionen Operation und ShardId standardmäßig aktiviert, die Dimension WorkerIdentifier ist deaktiviert. In KCL 1.x kann die Operation-Dimension nicht deaktiviert werden.

Weitere Informationen zu CloudWatch metrischen Dimensionen finden Sie im Abschnitt Dimensionen des Themas Amazon CloudWatch Concepts im CloudWatch Amazon-Benutzerhandbuch.

Wenn die WorkerIdentifier Dimension aktiviert ist und bei jedem Neustart eines bestimmten KCL-Workers ein anderer Wert für die Worker-ID-Eigenschaft verwendet wird, werden neue Messwerte mit neuen WorkerIdentifier Dimensionswerten an gesendet. CloudWatch Wenn der WorkerIdentifier-Dimensionswert für verschiedene KCL-Worker-Neustarts identisch sein muss, müssen Sie explizit denselben Worker-ID-Wert bei der Initialisierung für jeden Worker angeben. Beachten Sie, dass der Worker-ID-Wert für jeden aktiven KCL-Worker unter allen KCL-Workern eindeutig sein muss.

Metrik-Konfiguration

Metrikebenen und aktivierte Dimensionen können mithilfe der KinesisClientLibConfiguration Instanz konfiguriert werden, die beim Starten der KCL-Anwendung an Worker übergeben wird. In MultiLangDaemon diesem Fall können die metricsEnabledDimensions Eigenschaften metricsLevel und in der Datei .properties angegeben werden, die zum Starten der MultiLangDaemon KCL-Anwendung verwendet wird.

Metrikstufen kann einer von drei Werten zugewiesen werden: NONE, SUMMARY oder DETAILED. Bei den Werten für aktivierte Dimensionen muss es sich um durch Kommas getrennte Zeichenketten mit der Liste der Dimensionen handeln, die für die Metriken zulässig sind. CloudWatch Die von der KCL-Anwendung verwendeten Dimensionen sind Operation, ShardId und WorkerIdentifier.

Liste der Metriken

Die folgenden Tabellen listen die KCL-Metriken, gruppiert nach Umfang und Operation, auf.

Metriken nach KCL-Anwendung

Diese Metriken werden für alle KCL-Worker innerhalb des Anwendungsbereichs aggregiert, wie im CloudWatch Amazon-Namespace definiert.

InitializeTask

Die Operation InitializeTask ist verantwortlich für die Initialisierung des Datensatzprozessors für die KCL-Anwendung. Zur Logik dieser Operation gehört der Abruf eines Shard-Iterators von Kinesis Data Streams und die Initialisierung des Datensatzprozessors.

Metrik Beschreibung
KinesisDataFetcher.getIterator.Success

Anzahl der erfolgreichen GetShardIterator-Operationen pro KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Anzahl

KinesisDataFetcher.getIterator.Time

Zeitbedarf für die GetShardIterator-Operation für die jeweilige KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Millisekunden

RecordProcessor.initialisieren.TIME

Zeitbedarf für die Initialisierungsmethode des Datensatzprozessors.

Metrikstufe: Summary

Einheiten: Millisekunden

Herzlichen Glückwunsch

Anzahl der erfolgreichen Initialisierungen des Datensatzprozessors.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf des KCL-Workers für die Initialisierung des Datensatzprozessors.

Metrikstufe: Summary

Einheiten: Millisekunden

ShutdownTask

Die - ShutdownTask Operation initiiert die Abschaltsequenz für die Shard-Verarbeitung. Dies kann auftreten, da ein Shard geteilt oder zusammengeführt ist, oder wenn das Shard-Lease vom Worker verloren ging. In beiden Fällen wird die Datensatzprozessorfunktion shutdown() aufgerufen. Neue Shards werden auch erkannt, wenn ein Shard geteilt oder zusammengeführt wurde, was zur Erstellung von einem oder zwei neuen Shards führt.

Metrik Beschreibung
CreateLease.Erfolg

Häufigkeit, mit der neue untergeordnete Shards nach dem Schließen des übergeordneten Shards erfolgreich der DynamoDB-Tabelle der KCL-Anwendung hinzugefügt wurden.

Metrikstufe: Detailed

Einheiten: Anzahl

CreateLease.Zeit

Zeitbedarf für das Hinzufügen von Informationen zu neuen untergeordneten Shards in der DynamoDB-Tabelle der KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Millisekunden

UpdateLease.Erfolg

Anzahl der erfolgreichen endgültigen Checkpoints während des Schließens des Datensatzprozessors.

Metrikstufe: Detailed

Einheiten: Anzahl

UpdateLease.Zeit

Zeitbedarf für die Checkpoint-Operation während des Schließens des Datensatzprozessors.

Metrikstufe: Detailed

Einheiten: Millisekunden

RecordProcessor.Herunterfahren.Zeit

Zeitbedarf für die Schließungsmethode des Datensatzprozessors.

Metrikstufe: Summary

Einheiten: Millisekunden

Herzlichen Glückwunsch

Anzahl der erfolgreichen Schließungsvorgänge.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf des KCL-Workers für den Schließungsvorgang.

Metrikstufe: Summary

Einheiten: Millisekunden

ShardSyncTask

Die Operation ShardSyncTask erkennt Änderungen an Shard-Informationen für den Kinesis-Datenstrom, damit die KCL-Anwendung neue Shards verarbeiten kann.

Metrik Beschreibung
CreateLease. Erfolg

Anzahl der erfolgreichen Versuche zum Hinzufügen neuer Shard-Informationen in der DynamoDB-Tabelle der KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Anzahl

CreateLease.Zeit

Zeitbedarf für das Hinzufügen von Informationen zu neuen Shards in der DynamoDB-Tabelle der KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Millisekunden

Herzlichen Glückwunsch

Anzahl der erfolgreichen Shard Synchronisierungsoperationen.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf für die Shard-Synchronisierungsoperation.

Metrikstufe: Summary

Einheiten: Millisekunden

BlockOnParentTask

Wenn der Shard geteilt oder mit anderen Shards zusammengeführt wird, werden neue untergeordnete Shards erstellt. Die Operation BlockOnParentTask stellt sicher, dass die Datensatzverarbeitung für die neuen Shards erst beginnt, wenn die übergeordneten Shards von dem KCL vollständig verarbeitet wurden.

Metrik Beschreibung
Herzlichen Glückwunsch

Anzahl der erfolgreichen Prüfungen für den Abschluss der übergeordneten Shards.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf für den Abschluss der übergeordneten Shards.

Metrikstufe: Summary

Einheit: Millisekunden

PeriodicShardSyncManager

PeriodicShardSyncManager hat die Aufgabe, die von der KCL-Konsumentenanwendung verarbeiteten Datenströme zu prüfen, Datenströme mit Teil-Leases zu identifizieren und sie zur Synchronisierung weiterzuleiten.

Die folgenden Metriken sind verfügbar, wenn KCL für die Verarbeitung eines einzelnen Datenstroms konfiguriert NumStreamsWithPartialLeases ist (dann wird der Wert von NumStreamsToSync und auf 1 gesetzt) und wenn KCL für die Verarbeitung mehrerer Datenströme konfiguriert ist.

Metrik Beschreibung
NumStreamsToSync

Die Anzahl der Datenströme (pro AWS Konto), die von der Verbraucheranwendung verarbeitet werden und teilweise Leases enthalten und zur Synchronisation weitergeleitet werden müssen.

Metrikstufe: Summary

Einheiten: Anzahl

NumStreamsWithPartialLeases

Die Anzahl der Datenströme (pro AWS Konto), die die Verbraucheranwendung verarbeitet und die Teilleasingverträge enthalten.

Metrikstufe: Summary

Einheiten: Anzahl

Herzlichen Glückwunsch

Die Anzahl der Male, in denen PeriodicShardSyncManager erfolgreich Teil-Leases in den Datenströmen identifizieren konnte, die die Verbraucheranwendung verarbeitet.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Die Zeit (in Millisekunden), die PeriodicShardSyncManager benötigt wird, um die Datenströme zu untersuchen, die von der Verbraucheranwendung verarbeitet werden, um festzustellen, welche Datenströme eine Shard-Synchronisierung erfordern.

Metrikstufe: Summary

Einheiten: Millisekunden

MultistreamTracker

Die MultistreamTracker-Schnittstelle ermöglicht es Ihnen, KCL-Konsumentenanwendungen zu erstellen, die mehrere Datenströme gleichzeitig verarbeiten können.

Metrik Beschreibung
DeletedStreams. Anzahl

Die Anzahl der in diesem Zeitraum gelöschten Datenströme.

Metrikstufe: Summary

Einheiten: Anzahl

ActiveStreams. Zählen

Die Anzahl der aktiven Datenströme, die verarbeitet werden.

Metrikstufe: Summary

Einheiten: Anzahl

StreamsPendingDeletion. Zählen

Die Anzahl der Datenströme, die aufgrund von FormerStreamsLeasesDeletionStrategy zur Löschung anstehen.

Metrikstufe: Summary

Einheiten: Anzahl

Metriken pro Worker

Diese Metriken werden über alle Datensatzprozessoren, die Daten von einem Kinesis-Datenstrom verbrauchen, etwa einer Amazon-EC2-Instance, aggregiert.

RenewAllLeases

Die Operation RenewAllLeases erneuert periodisch alle Shard-Leases, die zu einer bestimmten Worker-Instance gehören.

Metrik Beschreibung
RenewLease.Erfolg

Anzahl der erfolgreichen Lease-Erneuerungen durch den Worker.

Metrikstufe: Detailed

Einheiten: Anzahl

RenewLease.Zeit

Zeitbedarf für die Operation der Lease-Erneuerung.

Metrikstufe: Detailed

Einheiten: Millisekunden

CurrentLeases

Anzahl der Shard-Leases, die einem Worker nach der Erneuerung aller Leases gehören.

Metrikstufe: Summary

Einheiten: Anzahl

LostLeases

Anzahl der Shard-Leases, die nach einem Versuch zur Erneuerung aller Leases eines Workers verloren gingen.

Metrikstufe: Summary

Einheiten: Anzahl

Herzlichen Glückwunsch

Häufigkeit erfolgreicher Lease-Erneuerungsoperationen für den Worker.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf für die Erneuerung aller Leases für den Worker.

Metrikstufe: Summary

Einheiten: Millisekunden

TakeLeases

Die Operation TakeLeases sorgt für den Ausgleich aller Datensatzverarbeitungsvorgänge zwischen allen KCL-Workern. Wenn der aktuelle KCL-Worker weniger Shard-Leases als erforderlich hat, werden Shard-Leases von einem anderen, überlasteten, Worker genommen.

Metrik Beschreibung
ListLeases.Erfolg

Häufigkeit, mit der alle Shard-Leases erfolgreich aus der DynamoDB-Tabelle der KCL-Anwendung abgerufen wurden.

Metrikstufe: Detailed

Einheiten: Anzahl

ListLeases.Zeit

Zeitbedarf für das Abrufen aller Shard-Leases aus der DynamoDB-Tabelle der KCL-Anwendung.

Metrikstufe: Detailed

Einheiten: Millisekunden

TakeLease.Erfolg

Häufigkeit der erfolgreichen Übernahme von Shard-Leases von anderen KCL-Workern.

Metrikstufe: Detailed

Einheiten: Anzahl

TakeLease.Zeit

Zeitbedarf für die Aktualisierung der Lease-.Tabelle mit Leases des Workers.

Metrikstufe: Detailed

Einheiten: Millisekunden

NumWorkers

Gesamtzahl der Worker, wie von einem spezifischen Worker definiert.

Metrikstufe: Summary

Einheiten: Anzahl

NeededLeases

Anzahl der Shard-Leases, die der aktuelle Worker für eine ausgeglichene Shard-Verarbeitungslast benötigt.

Metrikstufe: Detailed

Einheiten: Anzahl

LeasesToTake

Anzahl der Leases, die der Worker zu übernehmen versuchen wird.

Metrikstufe: Detailed

Einheiten: Anzahl

TakenLeases

Anzahl der von dem Worker erfolgreich übernommenen Leases.

Metrikstufe: Summary

Einheiten: Anzahl

TotalLeases

Gesamtzahl der Shards, die die KCL-Anwendung verarbeitet.

Metrikstufe: Detailed

Einheiten: Anzahl

ExpiredLeases

Gesamtzahl der Shards, die nicht von einem Worker verarbeitet werden, wie von einem spezifischen Worker identifiziert.

Metrikstufe: Summary

Einheiten: Anzahl

Herzlichen Glückwunsch

Häufigkeit des erfolgreichen Abschlusses der TakeLeases-Operation.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf für die TakeLeases-Operation für einen Worker.

Metrikstufe: Summary

Einheiten: Millisekunden

Metriken pro Shard

Diese Metriken werden über einen einzigen Datensatzprozessor aggregiert.

ProcessTask

Die ProcessTask Operation ruft GetRecordsmit der aktuellen Iteratorposition auf, um Datensätze aus dem Stream abzurufen, und ruft die Datensatzprozessorfunktion auf. processRecords

Metrik Beschreibung
KinesisDataFetcher.getRecords.Success

Anzahl der erfolgreichen GetRecords-Operationen pro Kinesis-Datenstrom-Shard.

Metrikstufe: Detailed

Einheiten: Anzahl

KinesisDataFetcher.getRecords.Time

Zeitbedarf für die GetRecords-Operation für den Kinesis-Datenstrom-Shard.

Metrikstufe: Detailed

Einheiten: Millisekunden

UpdateLease.Erfolg

Anzahl der erfolgreichen Checkpoints durch den Datensatzprozessor für einen bestimmten Shard.

Metrikstufe: Detailed

Einheiten: Anzahl

UpdateLease.Zeit

Zeitbedarf für jede Checkpoint-Operation eines bestimmten Shards.

Metrikstufe: Detailed

Einheiten: Millisekunden

DataBytesProcessed

Gesamtgröße der verarbeiteten Datensätze in Byte bei jedem ProcessTask-Aufruf.

Metrikstufe: Summary

Einheiten: Byte

RecordsProcessed

Anzahl der bei jedem ProcessTask-Aufruf verarbeiteten Datensätze.

Metrikstufe: Summary

Einheiten: Anzahl

ExpiredIterator

Nummer der beim Anruf ExpiredIteratorException GetRecords empfangenen Personen.

Metrikstufe: Summary

Einheiten: Anzahl

MillisBehindLatest Zeitraum, um den der aktuelle Iterator seit dem letzten Datensatz (Tip) in dem Shard verspätet ist. Dieser Wert ist kleiner oder gleich der Zeitdifferenz zwischen dem letzten Datensatz in einer Antwort und dem aktuellen Zeitpunkt. Dies ist eine genauere Angabe dafür, wie weit ein Shard vom Tip entfernt ist, als durch den Vergleich der Zeitstempel im letzten Antwortdatensatz möglich ist. Dieser Wert gilt für den letzten Datensatzstapel und ist kein Durchschnittswert aller Zeitstempel in den Datensätzen.

Metrikstufe: Summary

Einheiten: Millisekunden

RecordProcessor.processRecords.Time

Zeitbedarf für die processRecords-Methode des Datensatzprozessors.

Metrikstufe: Summary

Einheiten: Millisekunden

Herzlichen Glückwunsch

Anzahl der erfolgreichen Verarbeitungsaufgabenoperationen.

Metrikstufe: Summary

Einheiten: Anzahl

Zeit

Zeitbedarf für die Verarbeitungsaufgabenoperation.

Metrikstufe: Summary

Einheiten: Millisekunden