Supervisión del servicio Amazon Kinesis Data Streams con Amazon CloudWatch - Amazon Kinesis Data Streams

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.

Supervisión del servicio Amazon Kinesis Data Streams con Amazon CloudWatch

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 que configure para sus transmisiones se recopilan automáticamente y se actualizan CloudWatch cada minuto. 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 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 transmisión que utilice la EnableEnhancedMonitoringoperación.

Para obtener información sobre los precios, consulta la página de CloudWatch productos de Amazon.

Métricas y dimensiones de Amazon Kinesis Data Streams

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 a nivel de fragmento son para tareas de supervisión específicas, normalmente relacionadas con la solución de problemas, y se activan mediante la operación. EnableEnhancedMonitoring

Para obtener una explicación de las estadísticas recopiladas a partir de CloudWatch las métricas, consulta CloudWatch Estadísticas en la Guía del CloudWatch usuario de Amazon.

Métricas básicas de nivel de secuencia

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 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 está disponible. 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 diferencia entre la hora actual y el momento en que se escribió el último registro del SubscribeToShard evento en la transmisión.

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, ConsumerName

Estadísticas: Minimum, Maximum, Average, Sum, Samples

Unidades: 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 fragmento

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 bajo el título Amazon CloudWatch Custom Metrics. Los precios son por fragmento por métrica y por mes.

Métrica 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

Dimensión

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

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.

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

Acceso a Amazon CloudWatch Metrics para Kinesis Data Streams

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/.

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

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

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

  5. Haga clic en la fila correspondiente para ver las estadísticas de la MetricNamey StreamNameespecificada.

    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

  6. (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 el AWS CLI

Utilice las métricas y get-metric-statisticslos comandos de la lista.

Para acceder a las métricas mediante la CloudWatch CLI

Utilice los mon-get-statscomandos mon-list-metricsy.

Para acceder a las métricas mediante la CloudWatch API

Usa las GetMetricStatisticsoperaciones ListMetricsy.