

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.

# Kinesis Data Streams überwachen
<a name="monitoring"></a>

Sie können Datenströme in Amazon Kinesis Data Streams mit den folgenden Features überwachen:
+ [CloudWatch Metriken](monitoring-with-cloudwatch.md) — Kinesis Data Streams sendet CloudWatch benutzerdefinierte Amazon-Metriken mit detaillierter Überwachung für jeden Stream.
+ [Kinesis Agent](agent-health.md) — Der Kinesis Agent veröffentlicht benutzerdefinierte CloudWatch Metriken, anhand derer beurteilt werden kann, ob der Agent erwartungsgemäß funktioniert.
+ [API-Protokollierung](logging-using-cloudtrail.md) – Kinesis Data Streams verwendet AWS CloudTrail zur Protokollierung von API-Aufrufen und speichert die Daten in einem Amazon-S3-Bucket.
+ [Kinesis Client Library](monitoring-with-kcl.md) – Die Kinesis Client Library (KCL) bietet Metriken pro Shard, Arbeiter und KCL-Anwendung.
+ [Kinesis Producer Library](monitoring-with-kpl.md) — Die Amazon Kinesis Producer Library (KPL) bietet Metriken pro Shard, Worker und KPL-Anwendung.

Weitere Informationen zu allgemeinen Überwachungsproblemen, Fragen und zur Fehlerbehebung finden Sie im Folgenden:
+  [Welche Metriken sollte ich verwenden, um Probleme mit Kinesis Data Streams zu überwachen und zu beheben?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-troubleshoot/)
+ [Warum steigt der IteratorAgeMilliseconds Wert von Kinesis Data Streams ständig?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-iteratorage-metric/)

# Überwachen Sie den Amazon Kinesis Data Streams Streams-Service mit Amazon CloudWatch
<a name="monitoring-with-cloudwatch"></a>

Amazon Kinesis Data Streams und Amazon CloudWatch sind integriert, sodass Sie CloudWatch Metriken für Ihre Kinesis-Datenstreams sammeln, anzeigen und analysieren können. Um beispielsweise die Shard-Nutzung zu verfolgen, können Sie die Kennzahlen `IncomingBytes` und `OutgoingBytes` überwachen und mit der Anzahl der Shards im Stream vergleichen.

Stream-Metriken und Metriken auf Shard-Ebene, die Sie konfigurieren, werden automatisch erfasst und in jede Minute übertragen. CloudWatch Die Metriken werden für zwei Wochen archiviert. Nach Ablauf dieses Zeitraums werden die Daten verworfen.

Die folgende Tabelle beschreibt die Überwachung von Kinesis-Datenströmen auf grundlegender Stream- und erweiterter Shard-Ebene.


| Typ | Description | 
| --- | --- | 
|  Grundlegend (Stream-Ebene)  |  Daten auf Stream-Ebene werden automatisch und kostenlos jede Minute gesendet.  | 
|  Erweitert (Shard-Ebene)  |  Daten auf Shard-Ebene werden für zusätzliche Kosten jede Minute gesendet. Für diese Datenebene müssen Sie eine spezielle Aktivierung für den Stream mit der Operation [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html) vornehmen.  Informationen zu den Preisen finden Sie auf der [ CloudWatch Amazon-Produktseite](https://aws.amazon.com/cloudwatch).  | 

## Dimensionen und Metriken von Amazon Kinesis Data Streams
<a name="kinesis-metrics"></a>

Kinesis Data Streams sendet Metriken CloudWatch auf zwei Ebenen: auf Stream-Ebene und optional auf Shard-Ebene. Metriken auf Stream-Ebene eignen sich für die häufigsten Anwendungsfälle zur Überwachung unter normalen Bedingungen. Metriken auf Shard-Ebene sind für bestimmte Überwachungsaufgaben gedacht, gewöhnlich im Zusammenhang mit der Fehlerbehebung; sie werden normalerweise mit der Operation [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html) aktiviert. 

Eine Erläuterung der CloudWatch anhand von Metriken gesammelten Statistiken finden Sie unter [CloudWatch Statistiken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic) im * CloudWatch Amazon-Benutzerhandbuch*.

**Topics**
+ [Grundlegende Metriken auf Stream-Ebene](#kinesis-metrics-stream)
+ [Verbesserte Metriken auf Shard-Ebene](#kinesis-metrics-shard)
+ [Dimensionen für Amazon Kinesis Data Streams Streams-Metriken](#kinesis-metricdimensions)
+ [Empfohlene Amazon Kinesis Data Streams Streams-Metriken](#kinesis-metric-use)

### Grundlegende Metriken auf Stream-Ebene
<a name="kinesis-metrics-stream"></a>

Der `AWS/Kinesis`-Namespace enthält die folgenden Metriken auf Stream-Ebene.

Kinesis Data Streams sendet diese Metriken auf Stream-Ebene an CloudWatch jede Minute. Diese Metriken sind jederzeit verfügbar:


| Metrik | Description | 
| --- | --- | 
| GetRecords.Bytes |  Anzahl der Byte, die im angegebenen Zeitraum vom Kinesis-Stream abgerufen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Byte in einem einzelnen `GetRecords`-Vorgang für den Stream im angegebenen Zeitraum an. Metrikname auf Shard-Ebene: `OutgoingBytes` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| GetRecords.IteratorAge |  Diese Metrik wird nicht mehr verwendet. Verwenden Sie `GetRecords.IteratorAgeMilliseconds`.  | 
| GetRecords.IteratorAgeMilliseconds |  Alter des letzten Datensatzes in allen `GetRecords`-Aufrufen an einen Kinesis-Stream, gemessen im angegebenen Zeitraum. Das Alter ist die Differenz zwischen der aktuellen Zeit und der Zeit, zu der der letzte Datensatz des `GetRecords`-Aufrufs in den Stream geschrieben wurde. Die Statistiken Minimum und Maximum können zum Nachverfolgen des Fortschritts von Kinesis-Verbraucheranwendungen verwendet werden. Wenn der Wert null beträgt, sind die gelesenen Datensätze vollständig mit dem Stream aktualisiert. Metrikname auf Shard-Ebene: `IteratorAgeMilliseconds` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Stichproben Einheiten: Millisekunden  | 
| GetRecords.Latency |  Die Dauer pro `GetRecords`-Vorgang, gemessen im angegebenen Zeitraum. Abmessungen: StreamName Statistiken: Minimum, Maximum, Durchschnitt Einheiten: Millisekunden  | 
| GetRecords.Records |  Anzahl der Datensätze, die im angegebenen Zeitraum vom Shard abgerufen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Datensätze in einem einzelnen `GetRecords`-Vorgang für den Stream im angegebenen Zeitraum an. Metrikname auf Shard-Ebene: `OutgoingRecords` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| GetRecords.Success |  Anzahl der erfolgreichen `GetRecords`-Vorgänge pro Stream im angegebenen Zeitraum. Abmessungen: StreamName Gültige Statistiken: Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| IncomingBytes |  Anzahl der Byte, die im angegebenen Zeitraum erfolgreich an den Kinesis-Stream übertragen wurden. Diese Metrik enthält die Byte von `PutRecord`- und `PutRecords`-Vorgängen. Die Statistiken Minimum, Maximum und Durchschnitt geben die Byte in einem einzelnen PUT-Vorgang für den Stream im angegebenen Zeitraum an. Metrikname auf Shard-Ebene: `IncomingBytes` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| IncomingRecords |  Anzahl der Datensätze, die im angegebenen Zeitraum erfolgreich an den Kinesis-Stream übertragen wurden. Diese Metrik enthält die Anzahlen der Datensätze von `PutRecord`- und `PutRecords`-Vorgängen. Die Statistiken Minimum, Maximum und Durchschnitt geben die Datensätze in einem einzelnen PUT-Vorgang für den Stream im angegebenen Zeitraum an. Metrikname auf Shard-Ebene: `IncomingRecords` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecord.Bytes |  Anzahl der Bytes, die im angegebenen Zeitraum mithilfe des Vorgangs `PutRecord` an den Kinesis-Stream übertragen wurden. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| PutRecord.Latency |  Die Dauer pro `PutRecord`-Vorgang, gemessen im angegebenen Zeitraum. Abmessungen: StreamName Statistiken: Minimum, Maximum, Durchschnitt Einheiten: Millisekunden  | 
| PutRecord.Success |  Anzahl der erfolgreichen `PutRecord`-Vorgänge pro Kinesis-Stream im angegebenen Zeitraum. Der Durchschnitt gibt den Prozentsatz der erfolgreichen Schreibvorgänge in einem Stream an. Abmessungen: StreamName Gültige Statistiken: Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.Bytes |  Anzahl der Bytes, die im angegebenen Zeitraum mithilfe des Vorgangs `PutRecords` an den Kinesis-Stream übertragen wurden. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| PutRecords.Latency |  Die Dauer pro `PutRecords`-Vorgang, gemessen im angegebenen Zeitraum. Abmessungen: StreamName Statistiken: Minimum, Maximum, Durchschnitt Einheiten: Millisekunden  | 
| PutRecords.Records |  Diese Metrik ist veraltet. Verwenden Sie `PutRecords.SuccessfulRecords`. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.Success |  Anzahl der `PutRecords`-Vorgänge pro Kinesis-Stream mit mindestens einem erfolgreichen Datensatz, gemessenen im angegebenen Zeitraum. Abmessungen: StreamName Gültige Statistiken: Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.TotalRecords |  Die gesamte Anzahl der Datensätze in einem `PutRecords`-Vorgang pro Kinesis-Datenstrom, gemessenen im angegebenen Zeitraum. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.SuccessfulRecords |  Anzahl der erfolgreichen Datensätze in einem `PutRecords`-Vorgang pro Kinesis-Datenstrom, gemessenen im angegebenen Zeitraum. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.FailedRecords |  Anzahl der Datensätze, die aufgrund von internen Fehlern in einem `PutRecords`-Vorgang pro Kinesis-Datenstrom zurückgewiesen wurden, gemessen über den angegebenen Zeitraum. Gelegentliche interne Fehler sind zu erwarten und sollten erneut versucht werden. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| PutRecords.ThrottledRecords |  Anzahl der Datensätze, die aufgrund von Drosselung in einem `PutRecords`-Vorgang pro Kinesis-Datenstrom zurückgewiesen wurden, gemessen über den angegebenen Zeitraum. Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| ReadProvisionedThroughputExceeded |  Anzahl von `GetRecords`-Aufrufen, die im angegebenen Zeitraum für den Stream gedrosselt wurden. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt. Wenn die Statistik Minimum den Wert 1 hat, wurden im angegebenen Zeitraum sämtliche Datensätze für den Stream gedrosselt.  Wenn die Statistik Maximum den Wert 0 (null) hat, wurden im angegebenen Zeitraum keine Datensätze für den Stream gedrosselt. Metrikname auf Shard-Ebene: `ReadProvisionedThroughputExceeded` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| SubscribeToShard.RateExceeded | Diese Metrik wird ausgelöst, wenn ein neuer Abonnementversuch fehlschlägt, da bereits ein aktives Abonnement von demselben Verbraucher existiert, oder wenn Sie die Anzahl der Aufrufe pro Sekunde überschreiten, die für diese Operation zulässig ist.Abmessungen: StreamName, ConsumerName | 
| SubscribeToShard.Success |  Diese Metrik zeichnet auf, ob das SubscribeToShard Abonnement erfolgreich eingerichtet wurde. Das Abonnement besteht nur für maximal 5 Minuten. Daher wird diese Metrik mindestens einmal alle 5 Minuten ausgegeben. Abmessungen: StreamName, ConsumerName  | 
| SubscribeToShardEvent.Bytes |  Anzahl der Bytes, die im angegebenen Zeitraum vom Shard empfangen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Bytes an, die in einem einzelnen Ereignis für den angegebenen Zeitraum veröffentlicht wurden. Metrikname auf Shard-Ebene: `OutgoingBytes` Abmessungen: StreamName, ConsumerName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| SubscribeToShardEvent.MillisBehindLatest |  Die Anzahl der Millisekunden, die die gelesenen Datensätze von der Spitze des Streams entfernt sind, gibt an, wie weit der Verbraucher hinter der aktuellen Uhrzeit zurückliegt. Abmessungen:, StreamName ConsumerName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Stichproben Einheiten: Millisekunden  | 
| SubscribeToShardEvent.Records |  Anzahl der Datensätze, die im angegebenen Zeitraum vom Shard empfangen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Datensätze in einem einzelnen Ereignis für den angegebenen Zeitraum an. Metrikname auf Shard-Ebene: `OutgoingRecords` Abmessungen: StreamName, ConsumerName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| SubscribeToShardEvent.Success | Diese Metrik wird jedes Mal ausgegeben, wenn ein Ereignis erfolgreich veröffentlicht wird. Es wird nur ausgegeben, wenn ein aktives Abonnement besteht.Abmessungen: StreamName, ConsumerNameGültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, StichprobenEinheiten: Anzahl | 
| WriteProvisionedThroughputExceeded |  Anzahl der Datensätze, die im angegebenen Zeitraum infolge der Drosselung für den Stream abgelehnt wurden. Diese Metrik enthält die Drosselung infolge von `PutRecord`- und `PutRecords`-Vorgängen. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt. Wenn die Statistik Minimum einen Wert ungleich null hat, wurden im angegebenen Zeitraum Datensätze für den Stream gedrosselt.  Wenn die Statistik Maximum den Wert 0 (null) hat, wurden im angegebenen Zeitraum keine Datensätze für den Stream gedrosselt. Metrikname auf Shard-Ebene: `WriteProvisionedThroughputExceeded` Abmessungen: StreamName Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 

### Verbesserte Metriken auf Shard-Ebene
<a name="kinesis-metrics-shard"></a>

Der `AWS/Kinesis`-Namespace enthält die folgenden Metriken auf Shard-Ebene.

Kinesis sendet die folgenden Shard-Level-Metriken an CloudWatch jede Minute. Jede Metrikdimension erstellt eine CloudWatch Metrik und führt ungefähr 43.200 `PutMetricData` API-Aufrufe pro Monat durch. Diese Metriken sind nicht standardmäßig aktiviert. Von Kinesis übermittelte erweiterte Metriken sind kostenpflichtig. Weitere Informationen finden Sie unter [Amazon CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing/) unter der Überschrift *Amazon CloudWatch Custom Metrics*. Die Kosten fallen pro Shard pro Metrik pro Monat an.


| Metrik | Description | 
| --- | --- | 
| IncomingBytes |  Anzahl der Byte, die im angegebenen Zeitraum erfolgreich an den Shard übertragen wurden. Diese Metrik enthält die Byte von `PutRecord`- und `PutRecords`-Vorgängen. Die Statistiken Minimum, Maximum und Durchschnitt geben die Byte in einem einzelnen PUT-Vorgang für den Shard im angegebenen Zeitraum an. Metrikname auf Stream-Ebene: `IncomingBytes` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| IncomingRecords |  Anzahl der Datensätze, die im angegebenen Zeitraum erfolgreich an den Shard übertragen wurden. Diese Metrik enthält die Anzahlen der Datensätze von `PutRecord`- und `PutRecords`-Vorgängen. Die Statistiken Minimum, Maximum und Durchschnitt geben die Datensätze in einem einzelnen PUT-Vorgang für den Shard im angegebenen Zeitraum an. Metrikname auf Stream-Ebene: `IncomingRecords` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| IteratorAgeMilliseconds |  Alter des letzten Datensatzes in allen `GetRecords`-Aufrufen an einen Shard, gemessen im angegebenen Zeitraum. Das Alter ist die Differenz zwischen der aktuellen Zeit und der Zeit, zu der der letzte Datensatz des `GetRecords`-Aufrufs in den Stream geschrieben wurde. Die Statistiken Minimum und Maximum können zum Nachverfolgen des Fortschritts von Kinesis-Verbraucheranwendungen verwendet werden. Wenn der Wert 0 (null) beträgt, sind die gelesenen Datensätze vollständig mit dem Stream aktualisiert. Metrikname auf Stream-Ebene: `GetRecords.IteratorAgeMilliseconds` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Stichproben Einheiten: Millisekunden  | 
| OutgoingBytes |  Anzahl der Byte, die im angegebenen Zeitraum vom Shard abgerufen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Bytes an, die für den Shard im angegebenen Zeitraum in einem einzelnen `GetRecords`-Vorgang zurückgegeben oder bei einem einzelnen `SubscribeToShard`-Ereignis veröffentlicht wurden. Metrikname auf Stream-Ebene: `GetRecords.Bytes` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Byte  | 
| OutgoingRecords |  Anzahl der Datensätze, die im angegebenen Zeitraum vom Shard abgerufen wurden. Die Statistiken Minimum, Maximum und Durchschnitt geben die Datensätze an, die für den Shard im angegebenen Zeitraum in einem einzelnen `GetRecords`-Vorgang zurückgegeben oder bei einem einzelnen `SubscribeToShard`-Ereignis veröffentlicht wurden. Metrikname auf Stream-Ebene: `GetRecords.Records` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| ReadProvisionedThroughputExceeded |  Anzahl von `GetRecords`-Aufrufen, die im angegebenen Zeitraum für den Shard gedrosselt wurden. Diese Anzahl von Ausnahmen deckt alle Dimensionen mit folgenden Einschränkungen ab: 5 Lesevorgänge pro Shard pro Sekunde oder 2 MB pro Sekunde pro Shard. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt. Wenn die Statistik Minimum den Wert 1 hat, wurden im angegebenen Zeitraum sämtliche Datensätze für den Shard gedrosselt.  Wenn die Statistik Maximum den Wert 0 (null) hat, wurden im angegebenen Zeitraum keine Datensätze für den Shard gedrosselt. Metrikname auf Stream-Ebene: `ReadProvisionedThroughputExceeded` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 
| WriteProvisionedThroughputExceeded |  Anzahl der Datensätze, die im angegebenen Zeitraum infolge der Drosselung für den Shard abgelehnt wurden. Diese Metrik enthält die Drosselung infolge von `PutRecord`- und `PutRecords`-Vorgängen und deckt alle Dimensionen mit folgenden Einschränkungen ab: 1 000 Lesevorgänge pro Shard pro Sekunde oder 1 MB pro Sekunde pro Shard. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt. Wenn die Statistik Minimum einen Wert ungleich null hat, wurden im angegebenen Zeitraum Datensätze für den Shard gedrosselt.  Wenn die Statistik Maximum den Wert 0 (null) hat, wurden im angegebenen Zeitraum keine Datensätze für den Shard gedrosselt. Metrikname auf Stream-Ebene: `WriteProvisionedThroughputExceeded` Abmessungen: StreamName, ShardId Gültige Statistiken: Minimum, Maximum, Durchschnitt, Summe, Stichproben Einheiten: Anzahl  | 

### Dimensionen für Amazon Kinesis Data Streams Streams-Metriken
<a name="kinesis-metricdimensions"></a>


|  Dimension  |  Description  | 
| --- | --- | 
|  StreamName  |  Der Name des Kinesis-Streams. Alle verfügbaren Statistiken werden von `StreamName` gefiltert.   | 

### Empfohlene Amazon Kinesis Data Streams Streams-Metriken
<a name="kinesis-metric-use"></a>

Verschiedene Metriken für Amazon Kinesis Data Streams könnten für Kunden von Kinesis Data Streams von besonderem Interesse sein. Die folgende Liste enthält empfohlene Metriken und ihre Verwendung.


| Metrik | Nutzungshinweise | 
| --- | --- | 
|  `GetRecords.IteratorAgeMilliseconds`  |  Verfolgt die Leseposition über alle Shards und Kunden in dem Stream. Wenn das Alter eines Iterators 50 % des Aufbewahrungszeitraums (standardmäßig 24 Stunden, anpassbar auf bis zu 7 Tage) überschreitet, besteht die Gefahr des Datenverlusts durch Ablauf des Datensatzes. Wir empfehlen Ihnen, CloudWatch Alarme für die Maximum-Statistik zu verwenden, um Sie zu warnen, bevor dieser Verlust ein Risiko darstellt. Ein Beispielszenario mit dieser Metrik finden Sie unter [Die Verarbeitung von Verbraucherdaten hinkt hinterher](troubleshooting-consumers.md#record-processing-falls-behind).  | 
|  `ReadProvisionedThroughputExceeded`  |  Wenn Ihre konsumentenseitige Datensatzverarbeitung zurückfällt, ist es oft schwierig zu erkennen, wo der Engpass ist. Verwenden Sie diese Metrik, um zu bestimmen, ob Ihre Lesevorgänge aufgrund einer Überschreitung Ihrer Durchsatzgrenzwerte gedrosselt werden. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt.  | 
| WriteProvisionedThroughputExceeded | Diese dient dem gleichen Zweck wie die Metrik ReadProvisionedThroughputExceeded, jedoch für die Producer- (Put) Seite des Streams. Die am häufigsten verwendete Statistik für diese Metrik ist Durchschnitt. | 
| PutRecord.Success, PutRecords.Success | Wir empfehlen die Verwendung von CloudWatch Alarmen in der Statistik „Durchschnitt“, um anzuzeigen, wenn Datensätze nicht in den Stream aufgenommen werden. Wählen Sie einen oder beide Put-Typen, je nachdem, was Ihr Producer verwendet. Wenn Sie die Amazon Kinesis Producer Library (KPL) verwenden, verwenden Sie. PutRecords.Success | 
| GetRecords.Success | Wir empfehlen die Verwendung von CloudWatch Alarmen in der Durchschnittsstatistik, um anzuzeigen, wenn Datensätze aus dem Stream fehlerhaft sind. | 

## Greifen Sie auf CloudWatch Amazon-Metriken für Kinesis Data Streams zu
<a name="cloudwatch-metrics"></a>

Sie können Metriken für Kinesis Data Streams über die CloudWatch Konsole, die Befehlszeile oder die CloudWatch API überwachen. Die folgenden Verfahren zeigen, wie Sie mithilfe dieser verschiedenen Verfahren auf die Metriken zugreifen können. 

**So greifen Sie über die Konsole auf Metriken zu CloudWatch**

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie in der Navigationsleiste eine Region aus.

1. Wählen Sie im Navigationsbereich **Metriken** aus.

1. Wählen Sie im Bereich **CloudWatch Metriken nach Kategorie** die Option **Kinesis Metrics** aus.

1. Klicken Sie auf die entsprechende Zeile, um die Statistiken für das angegebene **MetricName**und **StreamName**anzuzeigen. 

   **Hinweis:** Die meisten Namen der Konsolenstatistiken stimmen mit den entsprechenden CloudWatch Metriknamen überein, die zuvor aufgeführt wurden, mit Ausnahme von **Lesedurchsatz** und **Schreibdurchsatz**. Diese Statistiken werden in Intervallen von 5 Minuten berechnet: Der **Schreibdurchsatz** überwacht die `IncomingBytes` CloudWatch Metrik und der **Lesedurchsatz** überwacht `GetRecords.Bytes` die Metrik.

1. (Optional) Wählen Sie im Diagrammbereich eine Statistik und einen Zeitraum aus, und erstellen Sie dann mit diesen Einstellungen einen CloudWatch Alarm.

**Um auf Metriken zuzugreifen, verwenden Sie AWS CLI**  
Verwenden Sie die [Listen-Metriken und [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)Befehle](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html).

**So greifen Sie mit der CloudWatch CLI auf Metriken zu**  
Verwenden Sie die Befehle [mon-list-metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-list-metrics.html) und [mon-get-stats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-get-stats.html).

**Um über die CloudWatch API auf Metriken zuzugreifen**  
Verwenden Sie die Operationen [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) und [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html).

# Überwachen Sie den Zustand des Kinesis Data Streams Streams-Agenten mit Amazon CloudWatch
<a name="agent-health"></a>

Der Agent veröffentlicht benutzerdefinierte CloudWatch Metriken mit dem Namespace. **AWS KinesisAgent** Diese Metriken ermöglichen die Einschätzung, ob der Agent Daten wie angegeben an Kinesis Data Streams sendet, ob er in gutem Zustand ist und angemessene CPU- und Arbeitsspeicherressourcen auf dem Datenproduzenten konsumiert. Metriken wie die Anzahl der gesendeten Datensätze und Byte sind nützlich, um die Geschwindigkeit zu verstehen, mit der der Agent Daten an den Stream sendet. Wenn diese Metriken um einige Prozent unter die erwarteten Schwellenwerte oder auf Null sinken, kann dies auf Probleme mit der Konfiguration, Netzwerkfehler oder Probleme mit dem Zustand des Agenten hinweisen. Metriken wie On-Host CPU- und Speicherbelegung sowie die Anzahl der Agentenfehler zeigen die Nutzung der Ressourcen des Datenproduzenten an und informieren über potenzielle Konfigurations- oder Hostfehler. Schließlich protokolliert der Agent auf Serviceausnahmen, um die Untersuchung von Agentenproblemen zu unterstützen. Diese Metriken werden in der Region gemeldet, die in der Agentenkonfiguration angegeben ist`cloudwatch.endpoint`. CloudWatch Metriken, die von mehreren Kinesis-Agenten veröffentlicht wurden, werden aggregiert oder kombiniert. Weitere Informationen zur Agentenkonfiguration finden Sie unter [Geben Sie die Einstellungen für die Agentenkonfiguration an](writing-with-agents.md#agent-config-settings)

## Überwachen Sie mit CloudWatch
<a name="agent-metrics"></a>

Der Kinesis Data Streams Streams-Agent sendet die folgenden Metriken an CloudWatch.


| Metrik | Description | 
| --- | --- | 
| BytesSent |  Die Anzahl von Byte, die über den angegebenen Zeitraum an Kinesis Data Streams gesendet wurden. Einheiten: Byte  | 
| RecordSendAttempts |  Die Anzahl der versuchten Datensätze (zum ersten Mal oder wiederholt) in einem Aufruf an `PutRecords` in dem angegebenen Zeitraum. Einheiten: Anzahl  | 
| RecordSendErrors |  Die Anzahl der Datensätze mit Fehlerstatus in einem Aufruf an `PutRecords`, einschließlich wiederholter Versuche, in dem angegebenen Zeitraum. Einheiten: Anzahl  | 
| ServiceErrors |  Die Anzahl der Aufrufe an `PutRecords`, die zu einem Servicefehler führten (außer Ablehnungsfehlern) in dem angegebenen Zeitraum.  Einheiten: Anzahl  | 

# API-Aufrufe von Amazon Kinesis Data Streams protokollieren mit AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon Kinesis Data Streams ist in einen Service integriert AWS CloudTrail, der eine Aufzeichnung der Aktionen bereitstellt, die von einem Benutzer, einer Rolle oder einem AWS Service in Kinesis Data Streams ausgeführt wurden. CloudTrail erfasst alle API-Aufrufe für Kinesis Data Streams als Ereignisse. Zu den erfassten Aufrufen gehören Aufrufe von der Kinesis-Data-Streams-Konsole und Code-Aufrufe der API-Operationen von Kinesis Data Streams. Wenn Sie einen Trail erstellen, können Sie die kontinuierliche Bereitstellung von CloudTrail Ereignissen an einen Amazon S3 S3-Bucket aktivieren, einschließlich Ereignissen für Kinesis Data Streams. Wenn Sie keinen Trail konfigurieren, können Sie die neuesten Ereignisse trotzdem in der CloudTrail Konsole im **Ereignisverlauf** anzeigen. Anhand der von gesammelten Informationen können Sie die Anfrage CloudTrail, die an Kinesis Data Streams gestellt wurde, die IP-Adresse, von der aus die Anfrage gestellt wurde, wer die Anfrage gestellt hat, wann sie gestellt wurde, und weitere Details ermitteln. 

Weitere Informationen darüber CloudTrail, einschließlich der Konfiguration und Aktivierung, finden Sie im [AWS CloudTrail Benutzerhandbuch](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Kinesis Data Streams Streams-Informationen in CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail ist für Ihr AWS Konto aktiviert, wenn Sie das Konto erstellen. Wenn unterstützte Ereignisaktivitäten in Kinesis Data Streams auftreten, wird diese Aktivität zusammen mit anderen AWS Serviceereignissen im CloudTrail **Ereignisverlauf in einem Ereignis** aufgezeichnet. Sie können aktuelle Ereignisse in Ihrem AWS Konto anzeigen, suchen und herunterladen. Weitere Informationen finden Sie unter [Anzeigen von Ereignissen mit dem CloudTrail -API-Ereignisverlauf](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Für eine fortlaufende Aufzeichnung von Ereignissen in Ihrem AWS Konto, einschließlich Ereignissen für Kinesis Data Streams, erstellen Sie einen Trail. Ein *Trail* ermöglicht CloudTrail die Übermittlung von Protokolldateien an einen Amazon S3 S3-Bucket. Wenn Sie einen Trail in der Konsole erstellen, gilt der Trail standardmäßig für alle AWS Regionen. Der Trail protokolliert Ereignisse aus allen Regionen der AWS Partition und übermittelt die Protokolldateien an den von Ihnen angegebenen Amazon S3 S3-Bucket. Darüber hinaus können Sie andere AWS Dienste konfigurieren, um die in den CloudTrail Protokollen gesammelten Ereignisdaten weiter zu analysieren und darauf zu reagieren. Weitere Informationen finden Sie hier: 
+ [Übersicht zum Erstellen eines Trails](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Unterstützte Dienste und Integrationen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Konfiguration von Amazon SNS SNS-Benachrichtigungen für CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Empfangen von CloudTrail Protokolldateien aus mehreren Regionen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) und [Empfangen von CloudTrail Protokolldateien von mehreren Konten](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Kinesis Data Streams unterstützt die Protokollierung der folgenden Aktionen als Ereignisse in CloudTrail Protokolldateien:
+ [AddTagsToStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_AddTagsToStream.html)
+ [CreateStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_CreateStream.html)
+ [DecreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DecreaseStreamRetentionPeriod.html)
+ [DeleteStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html)
+ [DeregisterStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeregisterStreamConsumer.html)
+ [DescribeStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStream.html)
+ [DescribeStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamConsumer.html)
+ [DisableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DisableEnhancedMonitoring.html)
+ [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html)
+ [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html)
+ [GetShardIterator](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html)
+ [IncreaseStreamRetentionPeriod](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_IncreaseStreamRetentionPeriod.html)
+ [ListStreamConsumers](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreamConsumers.html)
+ [ListStreams](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListStreams.html)
+ [ListTagsForStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_ListTagsForStream.html)
+ [MergeShards](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_MergeShards.html)
+ [PutRecord](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html)
+ [PutRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecords.html)
+ [RegisterStreamConsumer](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RegisterStreamConsumer.html)
+ [RemoveTagsFromStream](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RemoveTagsFromStream.html)
+ [SplitShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SplitShard.html)
+ [StartStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StartStreamEncryption.html)
+ [StopStreamEncryption](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_StopStreamEncryption.html)
+ [SubscribeToShard](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_SubscribeToShard.html)
+ [UpdateShardCount](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateShardCount.html)
+ [UpdateStreamMode](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_UpdateStreamMode.html)

Jeder Ereignis- oder Protokolleintrag enthält Informationen zu dem Benutzer, der die Anforderung generiert hat. Die Identitätsinformationen unterstützen Sie bei der Ermittlung der folgenden Punkte: 
+ Ob die Anfrage mit Root- oder AWS Identity and Access Management (IAM-) Benutzeranmeldedaten gestellt wurde.
+ Gibt an, ob die Anforderung mit temporären Sicherheitsanmeldeinformationen für eine Rolle oder einen Verbundbenutzer gesendet wurde.
+ Ob die Anfrage von einem anderen AWS Dienst gestellt wurde.

Weitere Informationen finden Sie unter [CloudTrail userIdentity-Element](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Beispiel: Einträge in der Kinesis Data Streams Streams-Protokolldatei
<a name="understanding-service-name-entries"></a>

Ein Trail ist eine Konfiguration, die die Übertragung von Ereignissen als Protokolldateien an einen von Ihnen angegebenen Amazon S3 S3-Bucket ermöglicht. CloudTrail Protokolldateien enthalten einen oder mehrere Protokolleinträge. Ein Ereignis ist eine einzelne Anforderung aus einer beliebigen Quelle und enthält Informationen zur angeforderten Aktion, zu Datum und Uhrzeit der Aktion, zu den Anforderungsparametern usw. CloudTrail -Protokolldateien stellen kein geordnetes Stack-Trace der öffentlichen API-Aufrufe dar. Daher werden sie nicht in einer bestimmten Reihenfolge angezeigt.

Das folgende Beispiel zeigt einen CloudTrail Protokolleintrag, der die `MergeShards` Aktionen`CreateStream`,`DescribeStream`,`ListStreams`, `DeleteStream``SplitShard`, und demonstriert.

```
{
    "Records": [
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:16:31Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "CreateStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "shardCount": 1,
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "db6c59f8-c757-11e3-bc3b-57923b443c1c",
            "eventID": "b7acfcd0-6ca9-4ee1-a3d7-c4e8d420d99b"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:17:06Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "DescribeStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "f0944d86-c757-11e3-b4ae-25654b1d3136",
            "eventID": "0b2f1396-88af-4561-b16f-398f8eaea596"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:02Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "ListStreams",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "limit": 10
            },
            "responseElements": null,
            "requestID": "a68541ca-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "22a5fb8f-4e61-4bee-a8ad-3b72046b4c4d"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:17:07Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "DeleteStream",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream"
            },
            "responseElements": null,
            "requestID": "f10cd97c-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "607e7217-311a-4a08-a904-ec02944596dd"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:15:03Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "SplitShard",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "shardToSplit": "shardId-000000000000",
                "streamName": "GoodStream",
                "newStartingHashKey": "11111111"
            },
            "responseElements": null,
            "requestID": "a6e6e9cd-c757-11e3-901b-cbcfe5b3677a",
            "eventID": "dcd2126f-c8d2-4186-b32a-192dd48d7e33"
        },
        {
            "eventVersion": "1.01",
            "userIdentity": {
                "type": "IAMUser",
                "principalId": "EX_PRINCIPAL_ID",
                "arn": "arn:aws:iam::012345678910:user/Alice",
                "accountId": "012345678910",
                "accessKeyId": "EXAMPLE_KEY_ID",
                "userName": "Alice"
            },
            "eventTime": "2014-04-19T00:16:56Z",
            "eventSource": "kinesis.amazonaws.com",
            "eventName": "MergeShards",
            "awsRegion": "us-east-1",
            "sourceIPAddress": "127.0.0.1",
            "userAgent": "aws-sdk-java/unknown-version Linux/x.xx",
            "requestParameters": {
                "streamName": "GoodStream",
                "adjacentShardToMerge": "shardId-000000000002",
                "shardToMerge": "shardId-000000000001"
            },
            "responseElements": null,
            "requestID": "e9f9c8eb-c757-11e3-bf1d-6948db3cd570",
            "eventID": "77cf0d06-ce90-42da-9576-71986fec411f"
        }
    ]
}
```

# Überwachen Sie die Kinesis-Clientbibliothek mit Amazon CloudWatch
<a name="monitoring-with-kcl"></a>

Die [Kinesis Client Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html) (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. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) Weitere Informationen zu benutzerdefinierten Metriken finden Sie unter [Veröffentlichen benutzerdefinierter Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) 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](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [Metriken und Namespace](#metrics-namespace)
+ [Metrische Ebenen und Dimensionen](#metric-levels)
+ [Konfiguration der Metrik](#metrics-config)
+ [Liste der Metriken](#kcl-metrics-list)

## Metriken und Namespace
<a name="metrics-namespace"></a>

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

## Metrische Ebenen und Dimensionen
<a name="metric-levels"></a>

Es gibt zwei Möglichkeiten, um zu steuern, welche Metriken zu CloudWatch hochgeladen werden:

Metrikstufen  
Jeder Metrik ist eine individuelle Stufe zugewiesen. Wenn Sie eine Berichtsebene für Kennzahlen festlegen, werden Kennzahlen, deren individuelle Ebene unter der Berichtsebene liegt, nicht an diese gesendet CloudWatch. Die Stufen sind: `NONE`, `SUMMARY` und `DETAILED`. Die Standardeinstellung ist`DETAILED`; 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](#kcl-metrics-list).

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 in KCL 2.x für die Verarbeitung mehrerer Datenströme konfiguriert ist, können außerdem die Dimensionen `Operation` und die Dimensionen nicht deaktiviert werden. `StreamId` `StreamId`Die Dimension 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension) 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.

## Konfiguration der Metrik
<a name="metrics-config"></a>

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
<a name="kcl-metrics-list"></a>

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

**Topics**
+ [Per-KCL-application Metriken](#kcl-metrics-per-app)
+ [Kennzahlen pro Mitarbeiter](#kcl-metrics-per-worker)
+ [Metriken pro Shard](#kcl-metrics-per-shard)

### Per-KCL-application Metriken
<a name="kcl-metrics-per-app"></a>

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

**Topics**
+ [LeaseAssignmentManager](#lease-assignment-manager)
+ [InitializeTask](#init-task)
+ [ShutdownTask](#shutdown-task)
+ [ShardSyncTask](#shard-sync-task)
+ [BlockOnParentTask](#block-parent-task)
+ [PeriodicShardSyncManager](#periodic-task)
+ [MultistreamTracker](#multi-task)

#### LeaseAssignmentManager
<a name="lease-assignment-manager"></a>

Der `LeaseAssignmentManager` Betrieb ist dafür verantwortlich, den Mitarbeitern Leasingverträge zuzuweisen und die Mietverträge zwischen den Mitarbeitern neu auszurichten, um eine gleichmäßige Auslastung der Mitarbeiterressourcen zu erreichen. Die Logik für diesen Vorgang umfasst das Lesen der Leasing-bezogenen Metadaten aus der Leasing-Tabelle und der Kennzahlen aus der Tabelle mit den Arbeitskräfte-Metriken sowie das Durchführen von Leasing-Zuweisungen.


| Metrik | Description | 
| --- | --- | 
|  LeaseAndWorkerMetricsLoad.Zeit  |  Zeitaufwand für das Laden aller Leasingverträge und Worker-Metrik-Einträge im Lease Assignment Manager (LAM), dem neuen Algorithmus für Leasingzuweisung und Lastenausgleich, der in KCL 3.x eingeführt wurde. Metrikstufe: Detailed Einheiten: Millisekunden  | 
| TotalLeases |  Gesamtzahl der Leases für die aktuelle KCL-Anwendung. Metrikstufe: Summary Einheiten: Anzahl  | 
| NumWorkers |  Gesamtzahl der Mitarbeiter in der aktuellen KCL-Anwendung. Metrikstufe: Summary Einheiten: Anzahl  | 
|  AssignExpiredOrUnassignedLeases. Zeit  |  Zeit für die In-Memory-Zuweisung abgelaufener Leases. Metrikstufe: Detailed Einheiten: Millisekunden  | 
| LeaseSpillover |  Anzahl der Leases, die nicht zugewiesen wurden, weil das Limit für die maximale Anzahl von Leases oder den maximalen Durchsatz pro Mitarbeiter erreicht wurde. Metrikstufe: Summary Einheiten: Anzahl  | 
|  BalanceWorkerVariance. Zeit  |  Zeit für den speicherinternen Ausgleich von Mietverträgen zwischen Mitarbeitern. Metrikstufe: Detailed Einheiten: Millisekunden  | 
|  NumOfLeasesReassignment  |  Gesamtzahl der Neuzuweisungen von Leasingverträgen, die in der aktuellen Iteration der Neuzuweisung vorgenommen wurden. Metrikstufe: Summary Einheiten: Anzahl  | 
|  FailedAssignmentCount  |  Anzahl der Fehler bei AssignLease Aufrufen der DynamoDB-Leasetabelle.  Metrikstufe: Detailed Einheiten: Anzahl  | 
|  ParallelyAssignLeases. Zeit  |  Zeit, neue Zuweisungen in die DynamoDB-Leasetabelle zu übernehmen. Metrikstufe: Detailed Einheiten: Millisekunden  | 
|  ParallelyAssignLeases. Erfolg  |  Anzahl der erfolgreich abgewickelten Neuaufträge Metrikstufe: Detailed Einheiten: Anzahl  | 
|  TotalStaleWorkerMetricsEntry  |  Gesamtzahl der Einträge mit Arbeitskennzahlen, die bereinigt werden müssen. Metrikstufe: Detailed Einheiten: Anzahl  | 
| StaleWorkerMetricsCleanup. Zeit |  Zeit für das Löschen von Worker-Metrik-Einträgen aus der DynamoDB-Worker-Metriktabelle. Metrikstufe: Detailed Einheiten: Millisekunden  | 
| Zeit |  Zeit, die der Vorgang in Anspruch genommen hat. `LeaseAssignmentManager` Metrikstufe: Summary Einheiten: Millisekunden  | 
| Herzlichen Glückwunsch |  Häufigkeit des erfolgreichen Abschlusses der `LeaseAssignmentManager`-Operation. Metrikstufe: Summary Einheiten: Anzahl  | 
| ForceLeaderRelease |  Zeigt an, dass der Leasingzuweisungsmanager dreimal hintereinander ausgefallen ist und der leitende Mitarbeiter die Führung freigibt. Metrikstufe: Summary Einheiten: Anzahl  | 
|  NumWorkersWithInvalidEntry  |  Anzahl der Einträge für Arbeitskräftekennzahlen, die als ungültig angesehen werden.  Metrikstufe: Summary Einheiten: Anzahl  | 
|  NumWorkersWithFailingWorkerMetric  |  Anzahl der Einträge für Arbeitskräftekennzahlen, bei denen -1 (was bedeutet, dass ein Wert für die Arbeitskräftekennzahl nicht verfügbar ist) als einer der Werte für Arbeitskräftekennzahlen angegeben ist. Metrikstufe: Summary Einheiten: Anzahl  | 
|  LeaseDeserializationFailureCount  |  Leasingeintrag aus der Leasingtabelle, der nicht deserialisiert werden konnte. Metrikstufe: Summary Einheiten: Anzahl  | 

#### InitializeTask
<a name="init-task"></a>

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 | Description | 
| --- | --- | 
| 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
<a name="shutdown-task"></a>

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 | Description | 
| --- | --- | 
| 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
<a name="shard-sync-task"></a>

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


| Metrik | Description | 
| --- | --- | 
| 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
<a name="block-parent-task"></a>

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 | Description | 
| --- | --- | 
| 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
<a name="periodic-task"></a>

`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 | Description | 
| --- | --- | 
| NumStreamsToSync |  Die Anzahl der Datenströme (pro AWS Konto), die von der Verbraucheranwendung verarbeitet werden, die Teil-Leases enthält und die zur Synchronisation übergeben werden müssen.  Metrikstufe: Summary Einheiten: Anzahl  | 
| NumStreamsWithPartialLeases |  Die Anzahl der Datenströme (pro AWS Konto), die die Verbraucheranwendung verarbeitet, die Teilleasingverträge enthält.  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 die Verbraucheranwendung verarbeitet, um festzustellen, welche Datenströme eine Shard-Synchronisierung erfordern.  Metrikstufe: Summary Einheiten: Millisekunden  | 

#### MultistreamTracker
<a name="multi-task"></a>

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


| Metrik | Description | 
| --- | --- | 
| 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  | 

### Kennzahlen pro Mitarbeiter
<a name="kcl-metrics-per-worker"></a>

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

**Topics**
+ [WorkerMetricStatsReporter](#worker-metrics-stats)
+ [LeaseDiscovery](#lease-discovery)
+ [RenewAllLeases](#renew-leases)
+ [TakeLeases](#take-leases)

#### WorkerMetricStatsReporter
<a name="worker-metrics-stats"></a>

Der `WorkerMetricStatReporter` Vorgang ist dafür verantwortlich, in regelmäßigen Abständen Kennzahlen des aktuellen Mitarbeiters in der Tabelle mit den Arbeitskräftekennzahlen zu veröffentlichen. Diese Kennzahlen werden vom `LeaseAssignmentManager` Vorgang zur Ausführung von Leasingaufträgen verwendet.


| Metrik | Description | 
| --- | --- | 
|  InMemoryMetricStatsReporterFailure  |  Anzahl der Fehler bei der Erfassung des In-Memory-Worker-Metrikwerts, die auf einen Ausfall einiger Worker-Metriken zurückzuführen sind. Metrikstufe: Summary Einheiten: Anzahl  | 
|  WorkerMetricStatsReporter. Zeit  |  Zeit, die die `WorkerMetricsStats` Operation benötigt hat. Metrikstufe: Summary Einheiten: Millisekunden  | 
|  WorkerMetricStatsReporter. Erfolg  |  Häufigkeit des erfolgreichen Abschlusses der `WorkerMetricsStats`-Operation. Metrikstufe: Summary Einheiten: Anzahl  | 

#### LeaseDiscovery
<a name="lease-discovery"></a>

Der `LeaseDiscovery` Vorgang ist dafür verantwortlich, die neuen Leasingverträge zu ermitteln, die dem aktuellen Mitarbeiter durch den `LeaseAssignmentManager` Vorgang zugewiesen wurden. Die Logik für diesen Vorgang besteht darin, Leasingverträge zu identifizieren, die dem aktuellen Mitarbeiter zugewiesen sind, indem der globale sekundäre Index der Leasingtabelle gelesen wird.


| Metrik | Description | 
| --- | --- | 
|  ListLeaseKeysForWorker. Zeit  |  Zeit, den globalen sekundären Index für die Leasing-Tabelle aufzurufen und die Leasingschlüssel abzurufen, die dem aktuellen Worker zugewiesen wurden. Metrikstufe: Detailed Einheiten: Millisekunden  | 
|  FetchNewLeases. Zeit  |  Zeit, alle neuen Leasingverträge aus der Leasing-Tabelle abzurufen.  Metrikstufe: Detailed Einheiten: Millisekunden  | 
|  NewLeasesDiscovered  |  Gesamtzahl der neuen Leasingverträge, die Arbeitnehmern zugewiesen wurden. Metrikstufe: Detailed Einheiten: Anzahl  | 
|  Zeit  |  Zeit, die der `LeaseDiscovery` Vorgang in Anspruch genommen hat. Metrikstufe: Summary Einheiten: Millisekunden  | 
|  Herzlichen Glückwunsch  |  Häufigkeit des erfolgreichen Abschlusses der `LeaseDiscovery`-Operation. Metrikstufe: Summary Einheiten: Anzahl  | 
|  OwnerMismatch  |  Anzahl der Eigentümer stimmt nicht mit der GSI-Antwort und dem konsistenten Lesen der Leasingtabelle überein. Metrikstufe: Detailed Einheiten: Anzahl  | 

#### RenewAllLeases
<a name="renew-leases"></a>

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


| Metrik | Description | 
| --- | --- | 
| 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, mit der der Vorgang zur Verlängerung des Mietvertrags für den Arbeitnehmer erfolgreich war. Metrikstufe: Summary Einheiten: Anzahl  | 
| Zeit |  Zeitbedarf für die Erneuerung aller Leases für den Worker. Metrikstufe: Summary Einheiten: Millisekunden  | 

#### TakeLeases
<a name="take-leases"></a>

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 | Description | 
| --- | --- | 
| 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
<a name="kcl-metrics-per-shard"></a>

Diese Metriken werden über einen einzigen Datensatzprozessor aggregiert.

#### ProcessTask
<a name="process-task"></a>

Die `ProcessTask`-Operation ruft [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) mit der aktuellen Iterator-Position auf, um Datensätze aus dem Stream abzurufen, und ruft die Datensatzprozessorfunktion `processRecords` auf.


| Metrik | Description | 
| --- | --- | 
| 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 ein genaueres Bild davon, wie weit ein Shard von der Spitze entfernt ist, als der Vergleich der Zeitstempel im letzten Antwortdatensatz. Dieser Wert bezieht sich auf den letzten Stapel von Datensätzen, nicht auf den Durchschnitt aller Zeitstempel in jedem Datensatz.Metrikstufe: SummaryEinheiten: 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  | 

# Überwachen Sie die Kinesis Producer Library mit Amazon CloudWatch
<a name="monitoring-with-kpl"></a>

Die [Amazon Kinesis Producer Library](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-kpl.html) (KPL) für Amazon Kinesis Data Streams veröffentlicht in Ihrem Namen benutzerdefinierte CloudWatch Amazon-Metriken. **Sie können sich diese Metriken ansehen, indem Sie zur [CloudWatch Konsole](https://console.aws.amazon.com/cloudwatch/) navigieren und Benutzerdefinierte Metriken auswählen.** Weitere Informationen zu benutzerdefinierten Metriken finden Sie unter [Veröffentlichen benutzerdefinierter Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) im * CloudWatch Amazon-Benutzerhandbuch*.

Für die CloudWatch von der KPL 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](https://aws.amazon.com/cloudwatch/pricing/). Die Erfassung lokaler Metriken ist nicht mit CloudWatch-Gebühren verbunden.

**Topics**
+ [Metriken, Dimensionen und Namespaces](#kpl-metrics)
+ [Metrikebene und Granularität](#kpl-metrics-granularity)
+ [Lokaler Zugriff und CloudWatch Amazon-Upload](#kpl-metrics-local-upload)
+ [Liste der Metriken](#kpl-metrics-list)

## Metriken, Dimensionen und Namespaces
<a name="kpl-metrics"></a>

Sie können einen Anwendungsnamen festlegen, wenn Sie das KPL starten, das dann beim Hochladen von Metriken als Teil des Namespaces verwendet wird. Dies ist optional. Das KPL bietet einen Standardwert, wenn kein Anwendungsname eingerichtet wurde.

Sie können das KPL auch so konfigurieren, dass beliebige zusätzliche Dimensionen zu den Metriken hinzugefügt werden. Dies ist nützlich, wenn Sie detailliertere Daten in Ihren Metriken haben möchten. CloudWatch Sie können beispielsweise den Host-Namen als Dimension hinzufügen, damit Sie ungleichmäßige Lastverteilungen in der Flotte erkennen. Alle KPL-Konfigurationseinstellungen sind unveränderlich, diese zusätzlichen Dimensionen können nach der Initialisierung der KPL-Instance also nicht mehr geändert werden.

## Metrikebene und Granularität
<a name="kpl-metrics-granularity"></a>

Es gibt zwei Möglichkeiten, um zu steuern, wie viele Metriken zu CloudWatch hochgeladen werden:

*Metrikstufe*  
Dies ist ein grobes Maß für die Wichtigkeit der Metrik. Jede Metrik wird eine Stufe zugewiesen. Wenn Sie eine Ebene festlegen, werden Metriken, deren Stufen darunter liegen, nicht an CloudWatch diese gesendet. Die Stufen sind `NONE`, `SUMMARY` und `DETAILED`. Die Standardeinstellung ist `DETAILED`; das heißt, alle Metriken. `NONE` bedeutet keine Metriken, dieser Stufe werden daher keine Metriken zugewiesen.

*Granularität*  
Dies steuert, ob deine Metrik mit weiteren Granularitätsstufen ausgegeben werden soll. Die Stufen sind `GLOBAL`, `STREAM` und `SHARD`. Die Standardeinstellung ist `SHARD`mit den detailliertesten Metriken.  
Bei Auswahl von `SHARD` werden Metriken mit dem Stream-Namen und der Shard-ID als Dimensionen ausgegeben. Dazu wird die gleiche Metrik auch nur mit der Stream-Name-Dimension und ohne die Stream-Name-Dimension ausgegeben. Das bedeutet, dass für eine bestimmte Metrik zwei Streams mit jeweils zwei Shards sieben CloudWatch Metriken erzeugen: eine für jeden Shard, eine für jeden Stream und eine insgesamt. Alle beschreiben dieselben Statistiken, aber auf unterschiedlichen Granularitätsebenen. Eine Illustration finden Sie im folgenden Diagramm.  
Die unterschiedlichen Granularitätsebenen bilden eine Hierarchie, und alle Metriken in dem System bilden einen Baum, dessen Wurzel die Metriknamen bilden:  

```
MetricName (GLOBAL):           Metric X                    Metric Y
                                  |                           |
                           -----------------             ------------
                           |               |             |          |
StreamName (STREAM):    Stream A        Stream B      Stream A   Stream B
                           |               |
                        --------        ---------
                        |      |        |       |
ShardID (SHARD):     Shard 0 Shard 1  Shard 0 Shard 1
```
Nicht alle Metriken sind auf Shard-Ebene verfügbar; einige sind ihrer Natur nach global oder auf die Stream-Ebene beschränkt. Sie werden nicht auf Shard-Ebene produziert, auch wenn Sie Kennzahlen auf Shard-Ebene aktiviert haben (`Metric Y` im Diagramm oben).  
Wenn Sie eine zusätzliche Dimension angeben, müssen Sie Werte für angeben. `tuple:<DimensionName, DimensionValue, Granularity>` Die Granularität legt fest, wo die benutzerdefinierte Dimension in die Hierarchie eingefügt wird: `GLOBAL` bedeutet, dass die zusätzliche Dimension hinter dem Kennzahlnamen eingefügt wird, `STREAM` bedeutet, dass sie hinter dem Stream-Namen und `SHARD`, dass sie hinter der Shard-ID eingefügt wird. Wenn mehrere Dimensionen pro Granularitätsstufe angegeben sind, werden sie in der angegebenen Reihenfolge eingefügt.

## Lokaler Zugriff und CloudWatch Amazon-Upload
<a name="kpl-metrics-local-upload"></a>

Metriken für die aktuelle KPL-Instance sind lokal in Echtzeit verfügbar; Sie können dazu jederzeit das KPL abfragen. Die KPL berechnet lokal die Summe, den Durchschnitt, das Minimum, das Maximum und die Anzahl jeder Metrik, wie in. CloudWatch

Sie erhalten statistische Werte, die seit dem Start des Programms bis zum aktuellen Zeitpunkt kumuliert wurden, oder Sie können ein laufendes Zeitfenster über die letzten *N* Sekunden verwenden, wobei *N* eine ganze Zahl zwischen 1 und 60 ist.

Alle Metriken können hochgeladen werden. CloudWatch Dies ist besonders nützlich für die Aggregierung von Daten über mehrere Hosts sowie Überwachungs- und Alarmvorgänge. Diese Funktionalität ist nicht lokal verfügbar.

Wie zuvor beschrieben, können Sie wählen, welche Metriken mit der *Metrik-Ebene* und *Granularität* hochgeladen werden sollen. Metriken, die nicht hochgeladen wurde, sind lokal verfügbar.

Das Hochladen einzelner Datenpunkte ist nicht sinnvoll, da dies zu Millionen von Uploads pro Sekunde führen könnte, wenn der Datenverkehr hoch ist. Aus diesem Grund aggregiert die KPL Metriken lokal in 1-Minuten-Buckets und lädt ein Statistikobjekt CloudWatch einmal pro Minute pro aktivierter Metrik hoch.



## Liste der Metriken
<a name="kpl-metrics-list"></a>


| Metrik | Description | 
| --- | --- | 
| UserRecordsReceived |  Anzahl der logischen Benutzerdatensätze, die vom KPL-Core für Put-Operationen erhalten wurden. Auf Shard-Ebene nicht verfügbar. Metrikstufe: Detailed  Einheit: Anzahl   | 
| UserRecordsPending |  Regelmäßige Stichprobe, wie viele Benutzer Datensätze derzeit ausstehen. Ein Datensatz gilt als ausstehend, wenn er entweder gerade gepuffert ist und darauf wartet, gesendet zu werden, oder wenn er gerade an den Backend-Service gesendet wird. Auf Shard-Ebene nicht verfügbar.  Das KPL bietet eine dedizierte Methode zum Abrufen dieser Metrik auf globaler Ebene, damit Kunden ihre Put-Rate verwalten können. Metrikstufe: Detailed  Einheit: Anzahl   | 
| UserRecordsPut |  Anzahl der logischen Benutzerdatensätze mit erfolgreichen Put-Operationen. Das KPL gibt eine Null für fehlgeschlagene Datensätze aus. Dadurch kann der Durchschnittswert die Erfolgsrate, die Anzahl die Gesamtzahl der Versuche und die Differenz zwischen beiden die Anzahl der Fehlschläge angeben. Metrikstufe: Summary Einheit: Anzahl  | 
| UserRecordsDataPut |  Bytes in den logischen Benutzer-Datensätzen mit erfolgreichen Put-Operationen. Metrikstufe: Detailed  Einheit: Byte   | 
| KinesisRecordsPut |  Anzahl der Datensätze der Kinesis Data Streams mit erfolgreichen Put-Operationen (jeder Datensatz der Kinesis Data Streams kann mehrere Benutzerdatensätze enthalten).  Das KPL gibt eine Null für fehlgeschlagene Datensätze aus. Dadurch kann der Durchschnittswert die Erfolgsrate, die Anzahl die Gesamtzahl der Versuche und die Differenz zwischen beiden die Anzahl der Fehlschläge angeben. Metrikstufe: Summary  Einheit: Anzahl   | 
| KinesisRecordsDataPut |  Bytes in den Datensätzen der Kinesis Data Streams.  Metrikstufe: Detailed  Einheit: Byte   | 
| ErrorsByCode |  Anzahl der einzelnen Arten von Fehlercodes. Dies führt eine weitere Dimension von `ErrorCode` zusätzlich zu den normalen Dimensionen ein, wie z. B. `StreamName` und `ShardId`. Nicht jeder Fehler kann zu einem Shard verfolgt werden. Die Fehler, die nicht verfolgt werden können, werden nur auf Stream- oder globaler Ebene ausgegeben. Diese Metrik erfasst Informationen zu Dingen wie Drosselung, Änderungen der Shard-Zuordnung, internen Fehlern, nicht verfügbaren Services, Zeitüberschreitungen u. dgl.  API-Fehler der Kinesis Data Streams werden einmal pro Datensatz der Kinesis Data Streams gezählt. Mehrere Benutzerdatensätze innerhalb eines Datensatzes von Kinesis Data Streams erzeugen keine Mehrfachzählungen. Metrikstufe: Summary  Einheit: Anzahl   | 
| AllErrors |  Dies wird von den gleichen Fehlern ausgelöst wie **Fehler nach Code**, jedoch ohne Unterscheidung zwischen den Typen. Dies ist nützlich zur allgemeinen Überwachung der Fehlerrate, ohne dass eine manuelle Summe der Anzahlen der verschiedenen Arten von Fehlern erforderlich ist. Metrikstufe: Summary  Einheit: Anzahl   | 
| RetriesPerRecord |  Anzahl der pro Benutzerdatensatz durchgeführten erneuten Versuche. Für Datensätze, die bei einem Versuch erfolgreich waren, wird Null ausgegeben. Die Daten werden in dem Moment ausgegeben, in dem ein Benutzerdatensatz abgeschlossen wird (wenn er entweder erfolgreich war, oder wenn kein Wiederholungsversuch mehr möglich ist). Wenn der Datensatz einen großen Wert hat, kann time-to-live es bei dieser Metrik zu einer erheblichen Verzögerung kommen. Metrikstufe: Detailed  Einheit: Anzahl   | 
| BufferingTime |  Der Zeitraum zwischen dem Eingang eines Benutzerdatensatzes beim KPL und seinem Abgang zum Backend. Diese Informationen werden an den Benutzer pro Datensatz zurückgegeben, sind jedoch auch als aggregierte Statistik verfügbar. Metrikstufe: Summary  Einheit: Millisekunden   | 
| Request Time |  Die Zeit zum Ausführen von `PutRecordsRequests`. Metrikstufe: Detailed  Einheit: Millisekunden   | 
| User Records per Kinesis Record |  Die Anzahl der logischen Benutzerdatensätze, die in einem einzigen Datensatz der Kinesis Data Streams zusammengefasst sind. Metrikstufe: Detailed  Einheit: Anzahl   | 
| Amazon Kinesis Records per PutRecordsRequest |  Die Anzahl der Datensätze von Kinesis Data Streams, die zu einem einzigen `PutRecordsRequest` aggregiert wurden. Auf Shard-Ebene nicht verfügbar. Metrikstufe: Detailed  Einheit: Anzahl   | 
| User Records per PutRecordsRequest |  Die Gesamtanzahl der Benutzerdatensätze in einer `PutRecordsRequest`. Diese Zahl entspricht ungefähr dem Produkt der beiden vorherigen Metriken. Auf Shard-Ebene nicht verfügbar. Metrikstufe: Detailed  Einheit: Anzahl   | 