

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Es posible supervisar los flujos de datos en Amazon Kinesis Data Streams usando las siguientes características:
+ [CloudWatch métricas](monitoring-with-cloudwatch.md): Kinesis Data Streams envía a CloudWatch Amazon métricas personalizadas con una supervisión detallada de cada transmisión.
+ Agente de [Kinesis: el agente](agent-health.md) de Kinesis publica CloudWatch métricas personalizadas para ayudar a evaluar si el agente funciona según lo esperado.
+ [Registro de la API](logging-using-cloudtrail.md): Kinesis Data Streams utiliza AWS CloudTrail para registrar las llamadas a la API y almacenar los datos en un bucket de Amazon S3.
+ [Kinesis Client Library](monitoring-with-kcl.md): Kinesis Client Library (KCL) proporciona métricas por partición, proceso de trabajo y aplicación de KCL.
+ [Kinesis Producer Library](monitoring-with-kpl.md): Amazon Kinesis Producer Library (KPL) proporciona métricas por partición, proceso de trabajo y aplicación de KPL.

Para obtener más información sobre problemas de supervisión, preguntas y solución de problemas comunes, consulte lo siguiente:
+  [Which metrics should I use to monitor and troubleshoot Kinesis Data Streams issues?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-troubleshoot/)
+ [¿Por qué sigue IteratorAgeMilliseconds aumentando el valor de Kinesis Data Streams?](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-streams-iteratorage-metric/)

# Supervise el servicio Amazon Kinesis Data Streams con Amazon CloudWatch
<a name="monitoring-with-cloudwatch"></a>

Amazon Kinesis Data Streams y CloudWatch Amazon están integrados para que pueda recopilar, ver y CloudWatch analizar las métricas de sus transmisiones de datos de Kinesis. Por ejemplo, para realizar un seguimiento del uso de los fragmentos, puede monitorizar las métricas `IncomingBytes` y `OutgoingBytes` y compararlas con el número de fragmentos de la secuencia.

Las métricas de streaming y las métricas a nivel de fragmento que configure se recopilan automáticamente y se actualizan cada minuto. CloudWatch Las métricas se archivan durante dos semanas; después de ese periodo, los datos se descartan.

En la siguiente tabla, se describen la supervisión básica de los flujos y la supervisión mejorada de las particiones de los flujos de datos de Kinesis.


| Tipo | Description (Descripción) | 
| --- | --- | 
|  Básica (en el nivel de la secuencia)  |  Los datos en el nivel de la secuencia se envían automáticamente cada minuto sin costo alguno.  | 
|  Mejorada (en el nivel de fragmento)  |  Los datos en el nivel de fragmento se envían cada minuto por un costo adicional. Para obtener este nivel de datos, debe habilitarlo específicamente para la secuencia mediante la operación [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html).  Para obtener información sobre los precios, consulta la [página de CloudWatch productos de Amazon](https://aws.amazon.com/cloudwatch).  | 

## Métricas y dimensiones de Amazon Kinesis Data Streams
<a name="kinesis-metrics"></a>

Kinesis Data Streams envía las métricas CloudWatch a dos niveles: el nivel de transmisión y, opcionalmente, el nivel de fragmento. Las métricas a nivel de secuencia son para casos de uso de monitorización más comunes en condiciones normales. Las métricas en el nivel de fragmento han sido creadas para tareas de monitorización específicas, normalmente relacionadas con la resolución de problemas, y se habilitan mediante la operación [EnableEnhancedMonitoring](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_EnableEnhancedMonitoring.html). 

Para obtener una explicación de las estadísticas recopiladas a partir de CloudWatch las métricas, consulta [CloudWatch Estadísticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Statistic) en la *Guía del CloudWatch usuario de Amazon*.

**Topics**
+ [Métricas básicas de nivel de flujo](#kinesis-metrics-stream)
+ [Métricas ampliadas de nivel de partición](#kinesis-metrics-shard)
+ [Dimensiones de las métricas de Amazon Kinesis Data Streams](#kinesis-metricdimensions)
+ [Métricas recomendadas de Amazon Kinesis Data Streams](#kinesis-metric-use)

### Métricas básicas de nivel de flujo
<a name="kinesis-metrics-stream"></a>

El espacio de nombres `AWS/Kinesis` incluye las siguientes métricas de nivel de secuencia.

Kinesis Data Streams envía estas métricas CloudWatch a nivel de transmisión a cada minuto. Estas métricas están disponibles siempre.


| Métrica | Description (Descripción) | 
| --- | --- | 
| GetRecords.Bytes |  El número de bytes recuperados del flujo de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los bytes de una sola operación `GetRecords` de la secuencia en el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `OutgoingBytes` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| GetRecords.IteratorAge |  Esta métrica ya no se usa. Utilice `GetRecords.IteratorAgeMilliseconds`.  | 
| GetRecords.IteratorAgeMilliseconds |  La antigüedad del último registro en todas las llamadas `GetRecords` realizadas en un flujo de Kinesis, calculada de acuerdo al periodo de tiempo especificado. La antigüedad es la diferencia entre la hora actual y el momento en que el último registro de la llamada `GetRecords` se escribió en la secuencia. Las estadísticas Mínimo y Máximo se pueden usar para realizar un seguimiento del progreso de las aplicaciones consumidoras de Kinesis. Un valor de cero indica que los registros que se leen están totalmente al día con respecto a la secuencia. Nombre de métrica de nivel de fragmento: `IteratorAgeMilliseconds` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Samples Unidades: milisegundos  | 
| GetRecords.Latency |  El tiempo que tarda cada operación `GetRecords`, medido durante el periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average Unidades: milisegundos  | 
| GetRecords.Records |  El número de registros recuperados del fragmento medidos durante el periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los registros de una sola operación `GetRecords` de la secuencia en el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `OutgoingRecords` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| GetRecords.Success |  El número de registros `GetRecords` correctos de cada secuencia medidos durante el periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Average, Sum, Samples Unidades: recuento  | 
| IncomingBytes |  El número de bytes insertados correctamente en el flujo de Kinesis de acuerdo al periodo de tiempo especificado. Esta métrica incluye los bytes de las operaciones `PutRecord` y `PutRecords`. Las estadísticas Minimum, Maximum y Average representan los bytes de una sola operación put del flujo en el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `IncomingBytes` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| IncomingRecords |  El número de registros insertados correctamente en el flujo de Kinesis de acuerdo al periodo de tiempo especificado. Esta métrica incluye el número de registros de las operaciones `PutRecord` y `PutRecords`. Las estadísticas Minimum, Maximum y Average representan los registros de una sola operación put del flujo en el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `IncomingRecords` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| PutRecord.Bytes |  El número de bytes insertados en el flujo de Kinesis mediante la operación `PutRecord` de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| PutRecord.Latency |  El tiempo que tarda cada operación `PutRecord`, medido durante el periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average Unidades: milisegundos  | 
| PutRecord.Success |  El número de operaciones `PutRecord` correctas de cada flujo de Kinesis, calculado de acuerdo al periodo de tiempo especificado. La media refleja el porcentaje de operaciones de escritura correctas en una secuencia. Dimensiones: StreamName Estadísticas: Average, Sum, Samples Unidades: recuento  | 
| PutRecords.Bytes |  El número de bytes insertados en el flujo de Kinesis mediante la operación `PutRecords` de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| PutRecords.Latency |  El tiempo que tarda cada operación `PutRecords`, medido durante el periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average Unidades: milisegundos  | 
| PutRecords.Records |  Esta métrica ya no está disponible. Utilice `PutRecords.SuccessfulRecords`. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| PutRecords.Success |  El número de operaciones `PutRecords` en las que al menos un registro se realizó correctamente de cada flujo de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Average, Sum, Samples Unidades: recuento  | 
| PutRecords.TotalRecords |  El número total de registros enviados en una operación `PutRecords` de cada flujo de datos de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| PutRecords.SuccessfulRecords |  El número de registros correctos en una operación `PutRecords` de cada flujo de datos de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| PutRecords.FailedRecords |  El número de registros rechazados debido a errores internos en una operación `PutRecords` de cada flujo de datos de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Es de esperar que se produzcan errores internos ocasionales, por lo que se debe volver a intentar. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| PutRecords.ThrottledRecords |  El número de registros rechazados debido a la limitación en una operación `PutRecords` de cada flujo de datos de Kinesis, calculado de acuerdo al periodo de tiempo especificado. Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| ReadProvisionedThroughputExceeded |  El número de llamadas `GetRecords` limitadas para la secuencia medidas durante el periodo de tiempo especificado. La estadística usada con más frecuencia para esta métrica es Average. Cuando la estadística Minimum tiene un valor de 1, se limitan todos los registros del flujo durante el periodo de tiempo especificado.  Cuando la estadística Maximum tiene un valor de 0 (cero), no se limita ningún registro del flujo durante el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `ReadProvisionedThroughputExceeded` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| SubscribeToShard.RateExceeded | Esta métrica se emite cuando un nuevo intento de suscripción produce un error porque ya existe una suscripción activa para el mismo consumidor o si se supera el número de llamadas por segundo permitidas para esta operación.Dimensiones: StreamName, ConsumerName | 
| SubscribeToShard.Success |  Esta métrica registra si la SubscribeToShard suscripción se estableció correctamente. La suscripción solo dura un máximo de 5 minutos. Por lo tanto, esta métrica se emite al menos una vez cada 5 minutos. Dimensiones: StreamName, ConsumerName  | 
| SubscribeToShardEvent.Bytes |  El número de bytes recibidos del fragmento, medidos durante el periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los bytes publicados en un solo evento durante el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `OutgoingBytes` Dimensiones: StreamName, ConsumerName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| SubscribeToShardEvent.MillisBehindLatest |  La cantidad de milisegundos que la lectura registra son de la cabecera del flujo, lo que indica el retraso del consumidor con respecto a la hora actual. Dimensiones: StreamName, ConsumerName Estadísticas: Minimum, Maximum, Average, Samples Unidades: milisegundos  | 
| SubscribeToShardEvent.Records |  El número de registros recibidos del fragmento, medidos durante el periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los registros de un solo evento durante el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `OutgoingRecords` Dimensiones: StreamName, ConsumerName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| SubscribeToShardEvent.Success | Esta métrica se emite cada vez que un evento se publica correctamente. Solo emite cuando hay una suscripción activa.Dimensiones: StreamName, ConsumerNameEstadísticas: Minimum, Maximum, Average, Sum, SamplesUnidades: recuento | 
| WriteProvisionedThroughputExceeded |  El número de registros rechazados debido a una limitación del flujo durante el periodo de tiempo especificado. Esta métrica incluye la limitación de las operaciones `PutRecord` y `PutRecords`. La estadística usada con más frecuencia para esta métrica es Average. Cuando la estadística Minimum tiene un valor distinto de 0, se limitan los registros del flujo durante el periodo de tiempo especificado.  Cuando la estadística Maximum tiene un valor de 0 (cero), no se limita ningún registro del flujo durante el periodo de tiempo especificado. Nombre de métrica de nivel de fragmento: `WriteProvisionedThroughputExceeded` Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 

### Métricas ampliadas de nivel de partición
<a name="kinesis-metrics-shard"></a>

El espacio de nombres `AWS/Kinesis` incluye las siguientes métricas de nivel de fragmento.

Kinesis envía las siguientes métricas a nivel de fragmento a cada minuto. CloudWatch Cada dimensión métrica crea 1 CloudWatch métrica y realiza aproximadamente 43 200 `PutMetricData` llamadas a la API al mes. Estas métricas no están habilitadas de forma predeterminada. Se aplica un cargo para las métricas mejoradas emitidas desde Kinesis. Para obtener más información, consulta los [ CloudWatch precios de Amazon](https://aws.amazon.com/cloudwatch/pricing/) bajo el título *Amazon CloudWatch Custom Metrics*. Los precios son por fragmento por métrica y por mes.


| Métrica | Description (Descripción) | 
| --- | --- | 
| IncomingBytes |  El número de bytes insertados correctamente en el fragmento durante el periodo de tiempo especificado. Esta métrica incluye los bytes de las operaciones `PutRecord` y `PutRecords`. Las estadísticas Minimum, Maximum y Average representan los bytes de una sola operación put del fragmento en el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `IncomingBytes` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| IncomingRecords |  El número de registros insertados correctamente en el fragmento durante el periodo de tiempo especificado. Esta métrica incluye el número de registros de las operaciones `PutRecord` y `PutRecords`. Las estadísticas Minimum, Maximum y Average representan los registros de una sola operación put del fragmento en el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `IncomingRecords` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| IteratorAgeMilliseconds |  La antigüedad del último registro en todas las llamadas `GetRecords` realizadas en un fragmento, medida en el periodo de tiempo especificado. La antigüedad es la diferencia entre la hora actual y el momento en que el último registro de la llamada `GetRecords` se escribió en la secuencia. Las estadísticas Mínimo y Máximo se pueden usar para realizar un seguimiento del progreso de las aplicaciones consumidoras de Kinesis. Un valor de 0 (cero) indica que los registros que se leen están totalmente al día con respecto a la secuencia. Nombre de métrica de nivel de secuencia: `GetRecords.IteratorAgeMilliseconds` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Samples Unidades: milisegundos  | 
| OutgoingBytes |  El número de bytes recuperados del fragmento medidos durante el periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los bytes devueltos por una sola operación `GetRecords` o publicados en un solo evento `SubscribeToShard` para el fragmento en el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `GetRecords.Bytes` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes  | 
| OutgoingRecords |  El número de registros recuperados del fragmento medidos durante el periodo de tiempo especificado. Las estadísticas Minimum, Maximum y Average representan los registros devueltos por una sola operación `GetRecords` o publicados en un solo evento `SubscribeToShard` para el fragmento en el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `GetRecords.Records` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| ReadProvisionedThroughputExceeded |  El número de llamadas `GetRecords` limitadas para el fragmento medidas durante el periodo de tiempo especificado. Este recuento de excepciones abarca todas las dimensiones de los siguientes límites: 5 lecturas por fragmento y segundo o 2 MB por segundo y fragmento. La estadística usada con más frecuencia para esta métrica es Average. Cuando la estadística Minimum tiene un valor de 1, se limitan todos los registros del fragmento durante el periodo de tiempo especificado.  Cuando la estadística Maximum tiene un valor de 0 (cero), no se limita ningún registro del fragmento durante el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `ReadProvisionedThroughputExceeded` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 
| WriteProvisionedThroughputExceeded |  El número de registros rechazados debido a una limitación del fragmento durante el periodo de tiempo especificado. Esta métrica incluye las limitaciones de las operaciones `PutRecord` y `PutRecords` y abarca todas las dimensiones de los siguientes límites: 1 000 registros por segundo y fragmento o 1 MB por segundo y fragmento. La estadística usada con más frecuencia para esta métrica es Average. Cuando la estadística Minimum tiene un valor distinto de 0, se limitan los registros del fragmento durante el periodo de tiempo especificado.  Cuando la estadística Maximum tiene un valor de 0 (cero), no se limita ningún registro del fragmento durante el periodo de tiempo especificado. Nombre de métrica de nivel de secuencia: `WriteProvisionedThroughputExceeded` Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento  | 

### Dimensiones de las métricas de Amazon Kinesis Data Streams
<a name="kinesis-metricdimensions"></a>


|  Dimensión  |  Description (Descripción)  | 
| --- | --- | 
|  StreamName  |  El nombre de la secuencia de Kinesis. Todas las estadísticas disponibles se filtran por `StreamName`.   | 

### Métricas recomendadas de Amazon Kinesis Data Streams
<a name="kinesis-metric-use"></a>

Varias métricas de Amazon Kinesis Data Streams podrían resultar de especial interés para los clientes de Kinesis Data Streams. La siguiente lista aparecen algunas métricas recomendadas y sus usos.


| Métrica | Notas de uso | 
| --- | --- | 
|  `GetRecords.IteratorAgeMilliseconds`  |  Controla la posición de lectura de todos los fragmentos y los consumidores de la secuencia. Si la edad de un iterador supera el 50% del periodo de retención (con un valor predeterminado de 24 horas, pero configurable hasta 7 días), existe el riesgo de pérdida de datos debido al vencimiento del registro. Le recomendamos que utilice CloudWatch las alarmas de la estadística Máximo para avisarle antes de que se produzca un riesgo de pérdida. Para ver un escenario de ejemplo en el que se use esta métrica, consulte [El procesamiento de registros del consumidor se queda atrás](troubleshooting-consumers.md#record-processing-falls-behind).  | 
|  `ReadProvisionedThroughputExceeded`  |  Si el procesamiento de registros en el lado del consumidor no alcanza el rendimiento necesario, a veces es difícil saber dónde está el cuello de botella. Utilice esta métrica para determinar si sus lecturas se están viendo limitadas debido a que se superan los límites de rendimiento de lectura. La estadística usada con más frecuencia para esta métrica es Average.  | 
| WriteProvisionedThroughputExceeded | Tiene el mismo objetivo que la métrica ReadProvisionedThroughputExceeded, pero en el extremo de productor (put) de la secuencia. La estadística usada con más frecuencia para esta métrica es Average. | 
| PutRecord.Success, PutRecords.Success | Recomendamos utilizar CloudWatch alarmas en la estadística Promedio para indicar cuándo se producen errores en los registros de la transmisión. Seleccione uno o ambos tipos de métrica "put" en función de lo que el productor utilice. En caso de que use Amazon Kinesis Producer Library (KPL), utilice PutRecords.Success. | 
| GetRecords.Success | Recomendamos utilizar CloudWatch alarmas en la estadística Promedio para indicar si hay errores en los registros de la transmisión. | 

## Acceda a CloudWatch las métricas de Amazon para Kinesis Data Streams
<a name="cloudwatch-metrics"></a>

Puede supervisar las métricas de Kinesis Data Streams mediante CloudWatch la consola, la línea de comandos o CloudWatch la API. Los siguientes procedimientos le muestran cómo obtener acceso a las métricas a través de los distintos métodos descritos a continuación. 

**Para acceder a las métricas mediante la consola CloudWatch**

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Seleccione una región en la barra de navegación.

1. En el panel de navegación, seleccione **Métricas**.

1. En el panel **CloudWatch Métricas por categoría**, elija **Kinesis** Metrics.

1. Haga clic en la fila correspondiente para ver las estadísticas de la **MetricName**y **StreamName**especificada. 

   **Nota:** La mayoría de los nombres de las estadísticas de las consolas coinciden con los nombres de las CloudWatch métricas correspondientes enumerados anteriormente, excepto el rendimiento de **lectura y el rendimiento** de **escritura**. **Estas estadísticas se calculan en intervalos de 5 minutos: el **rendimiento de escritura supervisa la métrica y el rendimiento** de lectura supervisa la `IncomingBytes` CloudWatch métrica.** `GetRecords.Bytes`

1. (Opcional) En el panel de gráficos, seleccione una estadística y un período de tiempo y, a continuación, cree una CloudWatch alarma con estos ajustes.

**Para acceder a las métricas mediante AWS CLI**  
Utilice las [métricas y [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html)los comandos de la lista](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/list-metrics.html).

**Para acceder a las métricas mediante la CloudWatch CLI**  
Utilice los comandos [mon-list-metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-list-metrics.html) y [mon-get-stats](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-get-stats.html).

**Para acceder a las métricas mediante la CloudWatch API**  
Utilice las operaciones [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_ListMetrics.html) y [GetMetricStatistics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html).

# Supervise el estado de los agentes de Kinesis Data Streams con Amazon CloudWatch
<a name="agent-health"></a>

El agente publica CloudWatch métricas personalizadas con un espacio de nombres de. **AWS KinesisAgent** Estas métricas le permiten evaluar si el agente está enviando datos a Kinesis Data Streams como se ha especificado, y si se encuentra en buen estado y consume la cantidad adecuada de recursos de CPU y de memoria en el productor de datos. Las métricas como el número de registros y bytes enviados resultan útiles para comprender la velocidad a la que el agente está enviando datos a la secuencia. Cuando estas métricas caen por debajo de los umbrales previstos en determinado porcentaje o pasan a ser cero, esto podría indicar que existen problemas de configuración, errores de red o problemas con el estado del agente. Las métricas como, por ejemplo, el consumo de CPU y memoria de host y los contadores de errores del agente indican el uso de los recursos por parte del productor y proporcionan información útil sobre posibles errores de host o de configuración. Por último, el agente también registra excepciones de servicio para ayudar a investigar los problemas del agente. Estas métricas se muestran en la región especificada en la configuración del agente. `cloudwatch.endpoint` CloudWatch las métricas publicadas desde varios agentes de Kinesis se agregan o combinan. Para obtener más información acerca de la configuración del agente, consulte [Especificar las opciones de configuración del agente](writing-with-agents.md#agent-config-settings).

## Supervise con CloudWatch
<a name="agent-metrics"></a>

El agente de Kinesis Data Streams envía las siguientes métricas CloudWatch a.


| Métrica | Description (Descripción) | 
| --- | --- | 
| BytesSent |  El número de bytes enviados a Kinesis Data Streams durante el periodo de tiempo especificado. Unidades: bytes  | 
| RecordSendAttempts |  El número de registros que se ha intentado grabar (como primer intento o como repetición) en una llamada a `PutRecords` durante el periodo de tiempo especificado. Unidades: recuento  | 
| RecordSendErrors |  El número de registros que han devuelto un estado de error en una llamada a `PutRecords`, incluidos los intentos repetidos, durante el periodo de tiempo especificado. Unidades: recuento  | 
| ServiceErrors |  El número de llamadas a `PutRecords` que ocasionaron un error de servicio (distinto de un error de limitación controlada) durante el periodo especificado.  Unidades: recuento  | 

# Registre las llamadas a la API de Amazon Kinesis Data Streams con AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon Kinesis Data Streams está integrado AWS CloudTrail con un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o AWS un servicio en Kinesis Data Streams. CloudTrail captura todas las llamadas a la API de Kinesis Data Streams como eventos. Las llamadas capturadas incluyen las llamadas desde la consola de Kinesis Data Streams y las llamadas desde el código a las operaciones de la API de Kinesis Data Streams. Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos de Kinesis Data Streams. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el **historial** de eventos. Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a Kinesis Data Streams, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales. 

Para obtener más información CloudTrail, incluido cómo configurarlo y habilitarlo, consulte la [Guía del AWS CloudTrail usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Información sobre Kinesis Data Streams en CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail está activado en su AWS cuenta al crear la cuenta. Cuando se produce una actividad de eventos admitida en Kinesis Data Streams, esa actividad se registra en CloudTrail un evento junto con AWS otros eventos de servicio **en** el historial de eventos. Puede ver, buscar y descargar los eventos recientes en su AWS cuenta. Para obtener más información, consulte [Visualización de eventos con el historial de eventos de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para obtener un registro continuo de los eventos de su AWS cuenta, incluidos los eventos de Kinesis Data Streams, cree una ruta. Un *rastro* permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando crea una ruta en la consola, la ruta se aplica a todas AWS las regiones. La ruta registra los eventos de todas las regiones de la AWS partición y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros AWS servicios para analizar más a fondo los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para más información, consulte los siguientes temas: 
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Integraciones y servicios compatibles](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Kinesis Data Streams admite el registro de las siguientes acciones como eventos CloudTrail en archivos de registro:
+ [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)

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente: 
+ Si la solicitud se realizó con credenciales de usuario root o AWS Identity and Access Management (IAM).
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro AWS servicio.

Para obtener más información, consulte el [Elemento userIdentity de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Ejemplo: entradas del archivo de registro de Kinesis Data Streams
<a name="understanding-service-name-entries"></a>

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una única solicitud de cualquier origen e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etcétera. Los archivos de registro de CloudTrail no son un rastro de la pila ordenada de las llamadas a la API públicas, por lo que no aparecen en ningún orden específico.

El siguiente ejemplo muestra una entrada de CloudTrail registro que muestra las `MergeShards` acciones `CreateStream` `DescribeStream` `ListStreams``DeleteStream`,`SplitShard`,, y.

```
{
    "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"
        }
    ]
}
```

# Supervise la biblioteca de clientes de Kinesis con Amazon CloudWatch
<a name="monitoring-with-kcl"></a>

La [biblioteca de clientes de Kinesis](https://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html) (KCL) para Amazon Kinesis Data Streams publica métricas de CloudWatch Amazon personalizadas en su nombre, utilizando el nombre de su aplicación de KCL como espacio de nombres. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) Para obtener más información sobre las métricas personalizadas, consulta [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) en la *Guía del CloudWatch usuario de Amazon*.

Hay un cargo nominal por las métricas subidas CloudWatch por la KCL; en concreto, se aplican cargos por *Amazon CloudWatch Custom Metrics* y *Amazon CloudWatch API Requests*. Para obtener más información, consulta los [ CloudWatch precios de Amazon](https://aws.amazon.com/cloudwatch/pricing/).

**Topics**
+ [Métricas y espacio de nombres](#metrics-namespace)
+ [Niveles y dimensiones de las métricas](#metric-levels)
+ [Configuración de métricas](#metrics-config)
+ [Lista de métricas](#kcl-metrics-list)

## Métricas y espacio de nombres
<a name="metrics-namespace"></a>

El espacio de nombres que se utiliza para cargar las métricas es el nombre de aplicación que se ha especificado al lanzar KCL.

## Niveles y dimensiones de las métricas
<a name="metric-levels"></a>

Existen dos opciones para controlar qué métricas se cargan en CloudWatch:

Niveles de métricas  
A cada métrica se le asigna un nivel individual. Cuando estableces un nivel de informe de métricas, las métricas con un nivel individual inferior al nivel de informe no se envían a CloudWatch. Los niveles son: `NONE`, `SUMMARY` y `DETAILED`. La configuración predeterminada es`DETAILED`, es decir, se envían todas las métricas a CloudWatch. El nivel de informe `NONE` se utiliza cuando no se desea enviar ninguna métrica. Para obtener información sobre qué niveles se asignan a las métricas, consulte [Lista de métricas](#kcl-metrics-list).

Dimensiones habilitadas  
Cada métrica de KCL tiene dimensiones asociadas que también se envían a CloudWatch. En KCL 2.x, si KCL se configura para procesar un solo flujo de datos, todas las dimensiones de las métricas (`Operation`, `ShardId` y `WorkerIdentifier`) están habilitadas de forma predeterminada. Además, en KCL 2.x, si KCL se configura para procesar un único flujo de datos, la dimensión `Operation` no se puede deshabilitar. En KCL 2.x, si KCL se configura para procesar varios flujos de datos, todas las dimensiones de las métricas (`Operation`, `ShardId`, `StreamId` y `WorkerIdentifier`) están habilitadas de forma predeterminada. Además, en KCL 2.x, si KCL se configura para procesar varios flujos de datos, las dimensiones `Operation` y `StreamId` no se pueden deshabilitar. La dimensión `StreamId` solo está disponible para métricas por partición.  
 En KCL 1.x, solo las dimensiones `Operation` y `ShardId` están habilitadas de forma predeterminada. La dimensión `WorkerIdentifier` está deshabilitada. En KCL 1.x, la dimensión `Operation` no se puede deshabilitar.  
Para obtener más información sobre las dimensiones CloudWatch métricas, consulta la sección [Dimensiones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html#Dimension) del tema Amazon CloudWatch Concepts de la *Guía del CloudWatch usuario de Amazon*.  
Cuando la `WorkerIdentifier` dimensión está habilitada, si se utiliza un valor diferente para la propiedad del identificador de trabajador cada vez que un trabajador de KCL concreto se reinicia, se envían nuevos conjuntos de métricas con nuevos valores de `WorkerIdentifier` dimensión. CloudWatch Si necesita que el valor de la dimensión `WorkerIdentifier` sea el mismo cada vez que un proceso de trabajo de KCL determinado se reinicie, debe especificar explícitamente el mismo valor del ID del proceso de trabajo durante la inicialización para cada proceso de trabajo. Tenga en cuenta que el valor del ID de proceso de trabajo para cada proceso de trabajo de KCL activo deberá ser único entre todos los procesos de trabajo de KCL.

## Configuración de métricas
<a name="metrics-config"></a>

Los niveles métricos y las dimensiones habilitadas se pueden configurar mediante la KinesisClientLibConfiguration instancia, que se pasa a Worker al iniciar la aplicación KCL. En MultiLangDaemon ese caso, las `metricsEnabledDimensions` propiedades `metricsLevel` y se pueden especificar en el archivo.properties utilizado para iniciar la aplicación MultiLangDaemon KCL.

Los niveles de las métricas pueden tener asignado uno de estos tres valores: NONE, SUMMARY o DETAILED. Los valores de dimensiones habilitados deben ser cadenas separadas por comas con la lista de dimensiones permitidas para las métricas. CloudWatch Las dimensiones utilizadas por la aplicación de KCL son `Operation`, `ShardId` y `WorkerIdentifier`.

## Lista de métricas
<a name="kcl-metrics-list"></a>

En las siguientes tablas se enumeran las métricas de KCL agrupadas por ámbito y operación.

**Topics**
+ [Per-KCL-application métricas](#kcl-metrics-per-app)
+ [Métricas por proceso de trabajo](#kcl-metrics-per-worker)
+ [Métricas por partición](#kcl-metrics-per-shard)

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

Estas métricas se agregan a todos los trabajadores de KCL dentro del ámbito de la aplicación, tal y como se define en el espacio de CloudWatch nombres de Amazon.

**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>

La operación `LeaseAssignmentManager` es responsable de asignar los arrendamientos a los procesos de trabajo y reequilibrar los arrendamientos entre los procesos de trabajo para lograr una utilización uniforme de los recursos de los procesos de trabajo. La lógica de esta operación comprende leer los metadatos relacionados con el arrendamiento de la tabla de arrendamiento y las métricas de la tabla de métricas de los procesos de trabajo, y realizar las asignaciones de arrendamiento.


| Métrica | Description (Descripción) | 
| --- | --- | 
|  LeaseAndWorkerMetricsLoad.Hora  |  Tiempo necesario para cargar todos los arrendamientos y las métricas de los procesos de trabajo en el administrador de asignación de arrendamientos (LAM), el nuevo algoritmo de asignación de arrendamientos y equilibrio de carga incorporado en KCL 3.x. Nivel de métrica: Detailed Unidades: milisegundos  | 
| TotalLeases |  Cantidad total de arrendamientos para la aplicación actual de KCL. Nivel de métrica: Summary Unidades: recuento  | 
| NumWorkers |  Cantidad total de procesos de trabajo en la aplicación KCL actual. Nivel de métrica: Summary Unidades: recuento  | 
|  AssignExpiredOrUnassignedLeases.Hora  |  Tiempo necesario para la asignación en memoria de los arrendamientos caducados. Nivel de métrica: Detailed Unidades: milisegundos  | 
| LeaseSpillover |  Cantidad de arrendamientos que no se asignaron debido a que se alcanzó la cantidad máxima de arrendamientos o el rendimiento máximo por proceso de trabajo. Nivel de métrica: Summary Unidades: recuento  | 
|  BalanceWorkerVariance.Hora  |  Tiempo necesario para el equilibrio en memoria de los arrendamientos entre los procesos de trabajo. Nivel de métrica: Detailed Unidades: milisegundos  | 
|  NumOfLeasesReassignment  |  Cantidad total de reasignaciones de arrendamiento realizadas en la iteración de reasignación actual. Nivel de métrica: Summary Unidades: recuento  | 
|  FailedAssignmentCount  |  Número de errores en las AssignLease llamadas a la tabla de arrendamiento de DynamoDB.  Nivel de métrica: Detailed Unidades: recuento  | 
|  ParallelyAssignLeases.Hora  |  Tiempo necesario para volcar las nuevas asignaciones en la tabla de arrendamiento de DynamoDB. Nivel de métrica: Detailed Unidades: milisegundos  | 
|  ParallelyAssignLeases.Éxito  |  Cantidad de nuevas asignaciones volcadas correctamente. Nivel de métrica: Detailed Unidades: recuento  | 
|  TotalStaleWorkerMetricsEntry  |  Cantidad total de entradas de métricas de procesos de trabajo que deben limpiarse. Nivel de métrica: Detailed Unidades: recuento  | 
| StaleWorkerMetricsCleanup.Hora |  Tiempo necesario para eliminar entradas de métricas de procesos de trabajo de la tabla de métricas de procesos de trabajo de DynamoDB. Nivel de métrica: Detailed Unidades: milisegundos  | 
| Time |  Periodo empleado por la operación `LeaseAssignmentManager`. Nivel de métrica: Summary Unidades: milisegundos  | 
| Success |  Número de veces que se completa correctamente la operación `LeaseAssignmentManager`. Nivel de métrica: Summary Unidades: recuento  | 
| ForceLeaderRelease |  Indica que el administrador de asignaciones de arrendamiento ha fallado tres veces consecutivas y que el proceso de trabajo líder está cediendo el liderazgo. Nivel de métrica: Summary Unidades: recuento  | 
|  NumWorkersWithInvalidEntry  |  Cantidad de entradas de métricas de procesos de trabajo que se consideran no válidas.  Nivel de métrica: Summary Unidades: recuento  | 
|  NumWorkersWithFailingWorkerMetric  |  Cantidad de entradas de métricas de procesos de trabajo que tienen -1 (que representa que el valor de la métrica de proceso de trabajo no está disponible) como uno de los valores de las métricas de procesos de trabajo. Nivel de métrica: Summary Unidades: recuento  | 
|  LeaseDeserializationFailureCount  |  Entrada de arrendamiento de la tabla de arrendamiento que no se pudo deserializar. Nivel de métrica: Summary Unidades: recuento  | 

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

La operación `InitializeTask` es responsable de inicializar el procesador de registros de la aplicación de KCL. La lógica de esta operación incluye la obtención de un iterador de particiones de Kinesis Data Streams y la inicialización del procesador de registros.


| Métrica | Description (Descripción) | 
| --- | --- | 
| KinesisDataFetcher.GetIterator. Éxito |  Número de operaciones `GetShardIterator` correctas por aplicación de KCL.  Nivel de métrica: Detailed Unidades: recuento  | 
| KinesisDataFetcher.getIterator.Time |  Tiempo que tarda la operación `GetShardIterator` para la aplicación de KCL en cuestión. Nivel de métrica: Detailed Unidades: milisegundos  | 
| RecordProcessor.Inicializar. Time |  Tiempo que tarda el método de inicialización del procesador de registros. Nivel de métrica: Summary Unidades: milisegundos  | 
| Success |  Número de inicializaciones correctas del procesador de registros.  Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo que tarda el proceso de trabajo de KCL en inicializar el procesador de registros. Nivel de métrica: Summary Unidades: milisegundos  | 

#### ShutdownTask
<a name="shutdown-task"></a>

La operación `ShutdownTask` inicia la secuencia de cierre para el procesamiento de fragmentos. Esto puede ocurrir porque un fragmento esté dividido o fusionado, o cuando se pierde la asignación del fragmento desde el proceso de trabajo. En ambos casos se invoca la función `shutdown()` del procesador de registros. También se descubren fragmentos nuevos en caso de que un fragmento se divida o se fusione, lo que da como resultado la creación de uno o varios fragmentos nuevos.


| Métrica | Description (Descripción) | 
| --- | --- | 
| CreateLease.Éxito |  Número de veces que se agregan correctamente nuevas particiones secundarias a la tabla de DynamoDB de la aplicación de KCL después del cierre de la partición principal. Nivel de métrica: Detailed Unidades: recuento  | 
| CreateLease.Hora |  Tiempo que se tarda en agregar la información de la nueva partición secundaria a la tabla DynamoDB de la aplicación de KCL. Nivel de métrica: Detailed Unidades: milisegundos  | 
| UpdateLease.Éxito |  Número de puntos de comprobación finales correctos durante el cierre del procesador de registros. Nivel de métrica: Detailed Unidades: recuento  | 
| UpdateLease.Hora |  Tiempo que tarda la operación de puntos de comprobación durante el cierre del procesador de registros. Nivel de métrica: Detailed Unidades: milisegundos  | 
| RecordProcessor.Hora de apagar |  Tiempo que tarda el método de cierre del procesador de registros. Nivel de métrica: Summary Unidades: milisegundos  | 
| Success |  Número de tareas cerradas correctamente. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo que tarda el proceso de trabajo de KCL en la tarea de cierre. Nivel de métrica: Summary Unidades: milisegundos  | 

#### ShardSyncTask
<a name="shard-sync-task"></a>

La operación `ShardSyncTask` detecta los cambios en la información de la partición del flujo de datos de Kinesis, de modo que las nuevas particiones se puedan procesar en la aplicación de KCL.


| Métrica | Description (Descripción) | 
| --- | --- | 
| CreateLease.Éxito |  Número de intentos correctos para agregar nueva información sobre la partición a la tabla de DynamoDB de la aplicación de KCL. Nivel de métrica: Detailed Unidades: recuento  | 
| CreateLease.Hora |  Tiempo que se tarda en agregar la información de la nueva partición a la tabla DynamoDB de la aplicación de KCL. Nivel de métrica: Detailed Unidades: milisegundos  | 
| Success |  Número de operaciones de sincronización del fragmento correctas. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo necesario para la operación de sincronización del fragmento. Nivel de métrica: Summary Unidades: milisegundos  | 

#### BlockOnParentTask
<a name="block-parent-task"></a>

Si el fragmento está dividido o fusionado con otros fragmentos, entonces se crean nuevos fragmentos secundarios. La operación `BlockOnParentTask` garantiza que el procesamiento de registros de las nuevas particiones no se inicie hasta que KCL procese por completo las particiones principales.


| Métrica | Description (Descripción) | 
| --- | --- | 
| Success |  Número de comprobaciones correctas para completar el fragmento principal. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo necesario para completar los fragmentos principales. Nivel de métrica: Summary Unidad: milisegundos  | 

#### PeriodicShardSyncManager
<a name="periodic-task"></a>

`PeriodicShardSyncManager` es responsable de examinar los flujos de datos que procesa la aplicación de consumo de KCL, identificar los flujos de datos con asignaciones parciales y transferirlos para su sincronización.

Las siguientes métricas están disponibles cuando KCL está configurado para procesar un único flujo de datos (entonces el valor de NumStreamsToSync y NumStreamsWithPartialLeases se establece en 1) y también cuando KCL está configurado para procesar varios flujos de datos.


| Métrica | Description (Descripción) | 
| --- | --- | 
| NumStreamsToSync |  El número de flujos de datos (por AWS cuenta) que procesa la aplicación de consumo que contiene concesiones parciales y que deben transferirse para su sincronización.  Nivel de métrica: Summary Unidades: recuento  | 
| NumStreamsWithPartialLeases |  El número de flujos de datos (por AWS cuenta) que la aplicación de consumo está procesando y que contienen arrendamientos parciales.  Nivel de métrica: Summary Unidades: recuento  | 
| Success |  El número de veces que `PeriodicShardSyncManager` pudo identificar correctamente las asignaciones parciales en los flujos de datos que la aplicación de consumo está procesando.  Nivel de métrica: Summary Unidades: recuento  | 
| Time |  El tiempo (en milisegundos) que `PeriodicShardSyncManager` tarda en examinar los flujos de datos que la aplicación de consumo está procesando, a fin de determinar qué flujos de datos requieren una sincronización de particiones.  Nivel de métrica: Summary Unidades: milisegundos  | 

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

La interfaz de `MultistreamTracker` le permite crear aplicaciones de consumo de KCL que pueden procesar varios flujos de datos al mismo tiempo.


| Métrica | Description (Descripción) | 
| --- | --- | 
| DeletedStreams.Recuento |  El número de flujos de datos eliminados en este periodo de tiempo. Nivel de métrica: Summary Unidades: recuento  | 
| ActiveStreams.Cuenta |  El número de flujos de datos activos que se están procesando. Nivel de métrica: Summary Unidades: recuento  | 
| StreamsPendingDeletion.Cuenta |  El número de flujos de datos pendientes de eliminación en función de `FormerStreamsLeasesDeletionStrategy`.  Nivel de métrica: Summary Unidades: recuento  | 

### Métricas por proceso de trabajo
<a name="kcl-metrics-per-worker"></a>

Estas métricas se agrupan para todos los procesadores de registro que consuman datos de un flujo de datos de Kinesis, por ejemplo una instancia de Amazon EC2.

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

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

La operación `WorkerMetricStatReporter` se encarga de publicar periódicamente las métricas del proceso de trabajo actual en la tabla de métricas de procesos de trabajo. La operación `LeaseAssignmentManager` utiliza estas métricas para realizar las asignaciones de arrendamiento.


| Métrica | Description (Descripción) | 
| --- | --- | 
|  InMemoryMetricStatsReporterFailure  |  Cantidad de errores al capturar el valor de la métrica de proceso de trabajo en memoria, debido a un error en algunas métricas de proceso de trabajo. Nivel de métrica: Summary Unidades: recuento  | 
|  WorkerMetricStatsReporter.Hora  |  Periodo empleado por la operación `WorkerMetricsStats`. Nivel de métrica: Summary Unidades: milisegundos  | 
|  WorkerMetricStatsReporter.Éxito  |  Número de veces que se completa correctamente la operación `WorkerMetricsStats`. Nivel de métrica: Summary Unidades: recuento  | 

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

La operación `LeaseDiscovery` es responsable de identificar los nuevos arrendamientos que la operación `LeaseAssignmentManager` ha asignado al proceso de trabajo actual. La lógica de esta operación consiste en identificar los arrendamientos asignados al proceso de trabajo actual mediante la lectura del índice secundario global de la tabla de arrendamiento.


| Métrica | Description (Descripción) | 
| --- | --- | 
|  ListLeaseKeysForWorker.Hora  |  Tiempo necesario para consultar el índice secundario global de la tabla de arrendamiento y obtener las claves de arrendamiento asignadas al proceso de trabajo actual. Nivel de métrica: Detailed Unidades: milisegundos  | 
|  FetchNewLeases.Hora  |  Tiempo necesario para recuperar todos los arrendamientos nuevos de la tabla de arrendamiento.  Nivel de métrica: Detailed Unidades: milisegundos  | 
|  NewLeasesDiscovered  |  Cantidad total de nuevos arrendamientos asignados a los procesos de trabajo. Nivel de métrica: Detailed Unidades: recuento  | 
|  Time  |  Periodo empleado por la operación `LeaseDiscovery`. Nivel de métrica: Summary Unidades: milisegundos  | 
|  Success  |  Número de veces que se completa correctamente la operación `LeaseDiscovery`. Nivel de métrica: Summary Unidades: recuento  | 
|  OwnerMismatch  |  Número de discrepancias de propietario entre la respuesta del GSI y la lectura constante de la tabla de arrendamientos. Nivel de métrica: Detailed Unidades: recuento  | 

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

La operación `RenewAllLeases` renueva periódicamente las asignaciones de un fragmento propiedad de una instancia de proceso de trabajo en particular. 


| Métrica | Description (Descripción) | 
| --- | --- | 
| RenewLease.Éxito |  Número de renovaciones correctas de asignaciones por parte del proceso de trabajo. Nivel de métrica: Detailed Unidades: recuento  | 
| RenewLease.Hora |  Tiempo necesario para la operación de renovación de la asignación. Nivel de métrica: Detailed Unidades: milisegundos  | 
| CurrentLeases |  Número de asignaciones de fragmentos propiedad del proceso de trabajo tras la renovación de todas las asignaciones. Nivel de métrica: Summary Unidades: recuento  | 
| LostLeases |  Número de asignaciones de fragmentos perdidos tras un intento de renovar todas las asignaciones propiedad del proceso de trabajo. Nivel de métrica: Summary Unidades: recuento  | 
| Success |  Cantidad de veces que se realiza correctamente la operación de renovación para el proceso de trabajo. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo necesario para renovar todas las asignaciones del proceso de trabajo. Nivel de métrica: Summary Unidades: milisegundos  | 

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

La operación `TakeLeases` equilibra el procesamiento de registros entre todos los procesos de trabajo de KCL. Si el proceso de trabajo actual de KCL tiene menos asignaciones de particiones de lo necesario, asume asignaciones de particiones de otro proceso de trabajo sobrecargado.


| Métrica | Description (Descripción) | 
| --- | --- | 
| ListLeases.Éxito |  Número de veces que se han recuperado correctamente todas las concesiones de particiones de la tabla de DynamoDB de la aplicación de KCL. Nivel de métrica: Detailed Unidades: recuento  | 
| ListLeases.Hora |  Tiempo que se tarda en recuperar todas las concesiones de particiones de la tabla de DynamoDB de la aplicación de KCL. Nivel de métrica: Detailed Unidades: milisegundos  | 
| TakeLease.Éxito |  Número de veces que el proceso de trabajo ha asumido correctamente asignaciones de particiones de otros procesos de trabajo de KCL. Nivel de métrica: Detailed Unidades: recuento  | 
| TakeLease.Hora |  Tiempo necesario para actualizar la tabla de asignaciones con las asignaciones asumidas por el proceso de trabajo. Nivel de métrica: Detailed Unidades: milisegundos  | 
| NumWorkers |  El número total de procesos de trabajo identificado por un proceso de trabajo específico. Nivel de métrica: Summary Unidades: recuento  | 
| NeededLeases |  Número de asignaciones de fragmentos que necesita el proceso de trabajo actual para una carga de procesamiento de fragmentos equilibrada. Nivel de métrica: Detailed Unidades: recuento  | 
| LeasesToTake |  Número de asignaciones que el proceso de trabajo intentará asumir. Nivel de métrica: Detailed Unidades: recuento  | 
| TakenLeases |  Número de asignaciones asumidas correctamente por el proceso de trabajo. Nivel de métrica: Summary Unidades: recuento   | 
| TotalLeases |  Número total de particiones que procesa la aplicación de KCL. Nivel de métrica: Detailed Unidades: recuento  | 
| ExpiredLeases |  Número total de fragmentos que no están siendo procesados por ningún proceso de trabajo, según lo identifica el proceso de trabajo específico. Nivel de métrica: Summary Unidades: recuento  | 
| Success |  Número de veces que se completa correctamente la operación `TakeLeases`. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo necesario para la operación `TakeLeases` para un proceso de trabajo. Nivel de métrica: Summary Unidades: milisegundos  | 

### Métricas por partición
<a name="kcl-metrics-per-shard"></a>

Las métricas se acumulan en un único procesador de registros.

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

La operación `ProcessTask` llama a [GetRecords](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetRecords.html) con la posición actual del iterador para recuperar los registros de la secuencia e invoca la función `processRecords` del procesador de registros.


| Métrica | Description (Descripción) | 
| --- | --- | 
| KinesisDataFetcher.GetRecords.Éxito |  Número de operaciones `GetRecords` correctas por partición de flujo de datos de Kinesis.  Nivel de métrica: Detailed Unidades: recuento  | 
| KinesisDataFetcher.getRecords.Time |  Tiempo que tarda cada operación `GetRecords` para la partición de flujo de datos de Kinesis. Nivel de métrica: Detailed Unidades: milisegundos  | 
| UpdateLease.Éxito |  Número de puntos de comprobación correctos realizados por el procesador de registros para un fragmento determinado. Nivel de métrica: Detailed Unidades: recuento  | 
| UpdateLease.Hora |  Tiempo necesario para cada operación de punto de comprobación para el fragmento determinado. Nivel de métrica: Detailed Unidades: milisegundos  | 
| DataBytesProcessed |  Tamaño total en bytes de los registros procesados en cada invocación de `ProcessTask`. Nivel de métrica: Summary Unidades: bytes  | 
| RecordsProcessed |  Número de registros procesados en cada invocación de `ProcessTask`. Nivel de métrica: Summary Unidades: recuento  | 
| ExpiredIterator |  Número de mensajes ExpiredIteratorException recibidos al llamar`GetRecords`. Nivel de métrica: Summary Unidades: recuento  | 
| MillisBehindLatest | Tiempo de que el iterador actual permanece por detrás del último registro (el extremo) del fragmento. Este valor es inferior o igual a la diferencia de tiempo entre el último registro en una respuesta y la hora actual. Se trata de una representación más precisa de la distancia entre una partición y la punta que la comparación de las marcas de tiempo del último registro de respuesta. Este valor se aplica al último lote de registros, no a una media de todas las marcas temporales de cada registro.Nivel de métrica: SummaryUnidades: milisegundos | 
| RecordProcessor.Procesa registros. Hora |  Tiempo que tarda el método `processRecords` del procesador de registros. Nivel de métrica: Summary Unidades: milisegundos  | 
| Success |  Número de operaciones de tareas de proceso correctas. Nivel de métrica: Summary Unidades: recuento  | 
| Time |  Tiempo necesario para la operación de tarea de proceso. Nivel de métrica: Summary Unidades: milisegundos  | 

# Supervise la biblioteca de Kinesis Producer con Amazon CloudWatch
<a name="monitoring-with-kpl"></a>

La [biblioteca de productores de Amazon Kinesis](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-kpl.html) (KPL) para Amazon Kinesis Data Streams publica métricas de CloudWatch Amazon personalizadas en su nombre. **Puede ver estas métricas navegando a la [CloudWatch consola](https://console.aws.amazon.com/cloudwatch/) y seleccionando Métricas personalizadas.** Para obtener más información sobre las métricas personalizadas, consulta [Publicar métricas personalizadas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html) en la *Guía del CloudWatch usuario de Amazon*.

Hay un cargo nominal por las métricas subidas CloudWatch por la KPL; en concreto, se aplican cargos por Amazon CloudWatch Custom Metrics y Amazon CloudWatch API Requests. Para obtener más información, consulta los [ CloudWatch precios de Amazon](https://aws.amazon.com/cloudwatch/pricing/). La recopilación de métricas locales no incurrirá en cargos de CloudWatch.

**Topics**
+ [Métricas, dimensiones y espacios de nombres](#kpl-metrics)
+ [Nivel de métricas y grado de detalle](#kpl-metrics-granularity)
+ [Acceso local y CloudWatch carga en Amazon](#kpl-metrics-local-upload)
+ [Lista de métricas](#kpl-metrics-list)

## Métricas, dimensiones y espacios de nombres
<a name="kpl-metrics"></a>

Puede especificar un nombre de aplicación al lanzar KPL, que se utilizará como parte del espacio de nombres al cargar las métricas. Esto es opcional; KPL proporciona un valor predeterminado si no se establece el nombre de una aplicación.

También puede configurar KPL para que agregue dimensiones adicionales arbitrarias para las métricas. Esto resulta útil si quieres incluir datos más detallados en tus métricas. CloudWatch Por ejemplo, puede añadir el nombre de host como dimensión, lo que le permite identificar distribuciones de carga irregulares en la flota. La configuración de KPL es inmutable, por lo que no se pueden modificar estas dimensiones adicionales después de inicializar la instancia de KPL.

## Nivel de métricas y grado de detalle
<a name="kpl-metrics-granularity"></a>

Existen dos opciones para controlar el número de métricas que se cargan en CloudWatch:

*Nivel de métricas*  
Es una calibración aproximada de la importancia de una métrica. A cada métrica se le asigna un nivel. Cuando estableces un nivel, las métricas con niveles inferiores a ese nivel no se envían a él. CloudWatch Los niveles son: `NONE`, `SUMMARY` y `DETAILED`. El valor predeterminado es `DETAILED`; es decir, todas las métricas. `NONE` significa ninguna métrica, de modo no se asigna ninguna a ese nivel.

*Grado de detalle*  
Controla si una misma métrica se emite con grados de detalle adicionales. Los niveles son: `GLOBAL`, `STREAM` y `SHARD`. El valor predeterminado es `SHARD`, que contiene las métricas con el mayor grado de detalle.  
Cuando se elige `SHARD`, las métricas se emiten con el nombre de la secuencia y la ID del fragmento como dimensiones. Además, la misma métrica también se emitida únicamente con la dimensión del nombre de la secuencia y la métrica, sin el nombre de la secuencia. Esto significa que, para una métrica concreta, dos secuencias con dos fragmentos cada una generarán siete CloudWatch métricas: una para cada fragmento, otra para cada transmisión y otra para el conjunto; todas describen las mismas estadísticas pero con distintos niveles de granularidad. Para ver una ilustración, consulte el diagrama siguiente.  
Los distintos niveles de granularidad forman una jerarquía y todas las métricas del sistema forman árboles enraizados en los nombres de las métricas:  

```
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
```
No todas las métricas están disponibles en el nivel de fragmento, algunas pertenecen en el nivel de la secuencia o son de naturaleza global. Estas no se producen en el nivel de fragmento, ni siquiera si ha activado las métricas en el nivel de fragmento (`Metric Y` en el diagrama anterior).  
Al especificar una dimensión adicional, debe proporcionar valores `tuple:<DimensionName, DimensionValue, Granularity>`. El grado de detalle se utiliza para determinar dónde se inserta la dimensión personalizada en la jerarquía: `GLOBAL` implica que la dimensión adicional se inserta después del nombre de la métrica, `STREAM` implica que se inserta después del nombre de la secuencia y `SHARD` implica que se inserta después del ID de fragmento. Si se dan varias dimensiones adicionales por grado de detalle, se insertan en el orden determinado.

## Acceso local y CloudWatch carga en Amazon
<a name="kpl-metrics-local-upload"></a>

Las métricas de la instancia de KPL actual están disponibles localmente en tiempo real. Puede enviar consultas a KPL en cualquier momento para obtenerlas. La KPL calcula localmente la suma, el promedio, el mínimo, el máximo y el recuento de cada métrica, como en. CloudWatch

Puede obtener estadísticas que son acumulativas desde el principio del programa hasta el momento actual, o mediante una ventana continua durante los últimos *N* segundos, donde *N* es un número entero entre 1 y 60.

Todas las métricas están disponibles para cargarlas en ellas. CloudWatch Esto resulta especialmente útil para agregar datos entre varios hosts, monitorizaciones y alarmas. Esta funcionalidad no está disponible a nivel local.

Como se ha descrito previamente, puede seleccionar qué métricas cargar con los ajustes de *nivel* y *grado de detalle* de las métricas. Las métricas que no están cargadas están disponibles localmente.

La carga individual de puntos de datos es insostenible, ya que podría producir millones de cargas por segundo, si el tráfico es alto. Por este motivo, la KPL agrega las métricas de forma local en grupos de 1 minuto y carga un objeto de estadísticas una vez por minuto, por cada métrica habilitada. CloudWatch 



## Lista de métricas
<a name="kpl-metrics-list"></a>


| Métrica | Description (Descripción) | 
| --- | --- | 
| UserRecordsReceived |  Recuento de la cantidad de registros de usuarios lógicas recibidos por el núcleo de KPL para operaciones put. No disponible en el nivel de fragmento. Nivel de métrica: Detailed  Unidad: recuento   | 
| UserRecordsPending |  Muestra periódica del número de registros de usuario pendientes actualmente. Un registro está pendiente si se encuentra actualmente en la memoria intermedia y está en espera de enviarse, o se ha enviado y está en tránsito al servicio de backend. No disponible en el nivel de fragmento.  KPL proporciona un método específico para recuperar esta métrica de forma global para que los clientes administren la velocidad de la operación put. Nivel de métrica: Detailed  Unidad: recuento   | 
| UserRecordsPut |  Recuento del número de registros de usuario lógicos producidos correctamente. KPL da como resultado un cero para los registros incorrectos. Así se permite que la media ofrezca la tasa de corrección y que el recuento exprese los intentos totales y la diferencia entre el recuento y suma para ver la cuenta de errores. Nivel de métrica: Summary Unidad: recuento  | 
| UserRecordsDataPut |  Bytes producidos correctamente en los registros de los usuarios lógicos. Nivel de métrica: Detailed  Unidad: bytes   | 
| KinesisRecordsPut |  Recuento de cuántos registros de Kinesis Data Streams se produjeron correctamente (cada registro de Kinesis Data Streams puede contener varios registros de usuario).  KPL da como resultado un cero para los registros incorrectos. Así se permite que la media ofrezca la tasa de corrección y que el recuento exprese los intentos totales y la diferencia entre el recuento y suma para ver la cuenta de errores. Nivel de métrica: Summary  Unidad: recuento   | 
| KinesisRecordsDataPut |  Bytes en los registros de Kinesis Data Streams.  Nivel de métrica: Detailed  Unidad: bytes   | 
| ErrorsByCode |  Recuento de cada tipo de código de error. Esto introduce una dimensión adicional de `ErrorCode`, además de las dimensiones normales como, por ejemplo, `StreamName` y `ShardId`. No todos los errores pueden localizarse en un fragmento. Los errores que no se puede localizar solo se emiten en niveles globales o de secuencias. Esta métrica recopila información sobre la limitación controlada, los cambios en el mapa de fragmentos, los errores internos, la indisponibilidad del servicio, los tiempos de espera, etcétera.  Los errores de la API de Kinesis Data Streams se cuentan una vez por registro de Kinesis Data Streams. Si hay varios registros de usuario dentro de un registro de Kinesis Data Streams, no se generan varios recuentos. Nivel de métrica: Summary  Unidad: recuento   | 
| AllErrors |  Esto se activa cuando se producen los mismos errores los mismos errores que en **Errors by Code (Errores por código)**, pero sin distinguir entre tipos. Resulta útil como monitorización general de la tasa de errores sin necesidad de sumar manualmente los recuentos de todos los diferentes tipos de errores. Nivel de métrica: Summary  Unidad: recuento   | 
| RetriesPerRecord |  Número de reintentos realizados por registro de usuario. Se produce un cero para los registros que resultan correctos con un solo intento. Los datos se emiten en el momento en que el registro de un usuario termina (si termina correctamente no se puede volver a intentar). Si el registro time-to-live es un valor grande, es posible que esta métrica se retrase considerablemente. Nivel de métrica: Detailed  Unidad: recuento   | 
| BufferingTime |  El tiempo entre la llegada de un registro de usuario a KPL y la salida hacia el backend. Esta información se transmite de vuelta al usuario en cada registro, pero también está disponible como una estadística acumulada. Nivel de métrica: Summary  Unidad: milisegundos   | 
| Request Time |  El tiempo que se tarda en realizar `PutRecordsRequests`. Nivel de métrica: Detailed  Unidad: milisegundos   | 
| User Records per Kinesis Record |  El número de registros de usuarios lógicos agregados en un solo registro de Kinesis Data Streams. Nivel de métrica: Detailed  Unidad: recuento   | 
| Amazon Kinesis Records per PutRecordsRequest |  El número de registros de Kinesis Data Streams agrupados en una sola `PutRecordsRequest`. No disponible en el nivel de fragmento. Nivel de métrica: Detailed  Unidad: recuento   | 
| User Records per PutRecordsRequest |  El número total de registros de usuario almacenados en un `PutRecordsRequest`. Esto es aproximadamente equivalente al producto de las dos métricas anteriores. No disponible en el nivel de fragmento. Nivel de métrica: Detailed  Unidad: recuento   | 