Supervisar el servicio Amazon Kinesis Data Streams con Amazon CloudWatch
Amazon Kinesis Data Streams y Amazon CloudWatch están integrados, por lo que puede recopilar, ver y analizar métricas de CloudWatch de los flujos 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 en el nivel de particiones y las métricas de flujo que configura se recopilan y envían automáticamente a 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 el flujo mediante la operación EnableEnhancedMonitoring. Para obtener más información acerca de los precios, consulte la página Precios de Amazon CloudWatch |
Métricas y dimensiones de Amazon Kinesis Data Streams
Kinesis Data Streams envía métricas a CloudWatch en dos niveles: en el de flujo y, opcionalmente, en el nivel de partición. Las métricas a nivel de secuencia son para casos de uso de monitorización más comunes en condiciones normales. Las métricas de partición se han creado para tareas de supervisión específicas, normalmente relacionadas con la resolución de problemas, y se habilitan mediante la operación EnableEnhancedMonitoring.
Para obtener una explicación de las estadísticas recopiladas a partir de las métricas de CloudWatch, consulte Estadísticas de CloudWatch en la Guía del usuario de Amazon CloudWatch.
Temas
Métricas básicas de nivel de flujo
El espacio de nombres AWS/Kinesis incluye las siguientes métricas de nivel de secuencia.
Kinesis Data Streams envía estas métricas de los flujos a CloudWatch 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 Nombre de métrica de nivel de fragmento: Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes |
GetRecords.IteratorAge |
Esta métrica ya no se usa. Uso de |
GetRecords.IteratorAgeMilliseconds |
La antigüedad del último registro en todas las llamadas Nombre de métrica de nivel de fragmento: Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Samples Unidades: milisegundos |
GetRecords.Latency |
El tiempo que tarda cada operación 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 Nombre de métrica de nivel de fragmento: Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
GetRecords.Success |
El número de registros 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 Nombre de métrica de nivel de fragmento: 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 Nombre de métrica de nivel de fragmento: 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 Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes |
PutRecord.Latency |
El tiempo que tarda cada operación Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average Unidades: milisegundos |
PutRecord.Success |
El número de operaciones 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 Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: bytes |
PutRecords.Latency |
El tiempo que tarda cada operación Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average Unidades: milisegundos |
PutRecords.Records |
Esta métrica ya no está disponible. Uso de Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
PutRecords.Success |
El número de operaciones Dimensiones: StreamName Estadísticas: Average, Sum, Samples Unidades: recuento |
PutRecords.TotalRecords |
El número total de registros enviados en una operación Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
PutRecords.SuccessfulRecords |
El número de registros correctos en una operación 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 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 Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
ReadProvisionedThroughputExceeded |
El número de llamadas 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: 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 suscripción SubscribeToShard se ha establecido 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: 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: 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 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: Dimensiones: StreamName Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
Métricas ampliadas de nivel de partición
El espacio de nombres AWS/Kinesis incluye las siguientes métricas de nivel de fragmento.
Kinesis envía las métricas de particiones siguientes a CloudWatch cada minuto. Cada dimensión de la métrica crea una métrica de CloudWatch y realiza aproximadamente 43 200 llamadas mensuales a la API PutMetricData. 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, consulte Precios de Amazon CloudWatch
| 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 Nombre de métrica de nivel de secuencia: 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 Nombre de métrica de nivel de secuencia: Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
IteratorAgeMilliseconds |
La antigüedad del último registro en todas las llamadas Nombre de métrica de nivel de secuencia: 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 Nombre de métrica de nivel de secuencia: 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 Nombre de métrica de nivel de secuencia: Dimensiones: StreamName, ShardId Estadísticas: Minimum, Maximum, Average, Sum, Samples Unidades: recuento |
ReadProvisionedThroughputExceeded |
El número de llamadas 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: 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 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: 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 |
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 |
|---|---|
|
|
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. Recomendamos que utilice alarmas de CloudWatch para la estadística Máximo para recibir avisos antes de que esta pérdida suponga un riesgo. 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. |
|
|
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 el uso de alarmas de CloudWatch para la estadística Average para indicar la ausencia de registros entrantes en el flujo. 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 el uso de alarmas de CloudWatch para la estadística Average para indicar la ausencia de registros salientes en el flujo. |
Acceso a las métricas de Amazon CloudWatch para Kinesis Data Streams
Las métricas de Kinesis Data Streams se pueden supervisar con la consola de CloudWatch, la línea de comandos o la API de CloudWatch. 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.
Acceso a las métricas a través de la consola de CloudWatch
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
Seleccione una región en la barra de navegación.
-
En el panel de navegación, seleccione Métricas.
-
En el panel CloudWatch Metrics by Category (Métricas de CloudWatch por categoría), elija Kinesis Metrics (Métricas de Kinesis).
-
Haga clic en la fila correspondiente para ver las estadísticas para el MetricName (Nombre de la métrica) y el StreamName (Nombre de la secuencia) especificados.
Nota: la mayoría de los nombres de estadísticas en la consola coinciden con los nombres de las métricas correspondientes de CloudWatch que aparecen en la lista anterior, con la excepción de Rendimiento de lectura y Rendimiento de escritura. Estas estadísticas se calculan en intervalos de 5 minutos: Rendimiento de escritura supervisa la métrica
IncomingBytesde CloudWatch, mientras que Rendimiento de lectura supervisaGetRecords.Bytes. -
(Opcional) En el panel de gráficos, seleccione una estadística y un periodo de tiempo y, a continuación, cree una alarma de CloudWatch utilizando estos ajustes.
Obtención del acceso a las métricas mediante la AWS CLI
Utilice los comandos list-metrics y get-metric-statistics.
Obtención del acceso a las métricas mediante la CLI de CloudWatch
Utilice los comandos mon-list-metrics y mon-get-stats.
Obtención del acceso a las métricas mediante la API de CloudWatch
Utilice las operaciones ListMetrics y GetMetricStatistics.