Uso de CloudWatch alarmas con Amazon Managed Service para Apache Flink - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

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.

Uso de CloudWatch alarmas con Amazon Managed Service para Apache Flink

Con las alarmas CloudWatch métricas de Amazon, observas una CloudWatch métrica durante un período de tiempo que especifiques. La alarma realiza una o varias acciones según el valor de la métrica o expresión con respecto a un umbral durante varios períodos de tiempo. Un ejemplo de acción es el envío de una enviar una notificación a un tema de Amazon Simple Notification Service (Amazon SNS).

Para obtener más información sobre CloudWatch las alarmas, consulte Uso de Amazon CloudWatch Alarms.

Esta sección contiene las alarmas recomendadas para supervisar el servicio gestionado para las aplicaciones de Apache Flink.

La tabla describe las alarmas recomendadas y tiene las siguientes columnas:

  • Expresión métrica: la métrica o expresión métrica que se va a comprobar si se compara con el umbral.

  • Estadística: la estadística que se utiliza para comprobar la métrica, por ejemplo, el promedio.

  • Umbral: el uso de esta alarma requiere que determine un umbral que defina el límite del rendimiento esperado de la aplicación. Debe determinar este umbral supervisando la aplicación en condiciones normales.

  • Descripción: causas que podrían activar esta alarma y posibles soluciones para esta afección.

Expresiones de métricas Estadística Threshold Descripción
downtime> 0 Media 0 Un tiempo de inactividad superior a cero indica que la aplicación ha fallado. Si el valor es mayor que 0, la aplicación no está procesando ningún dato. Recomendado para todas las aplicaciones. La Downtime métrica mide la duración de una interrupción. Un tiempo de inactividad superior a cero indica que la aplicación ha fallado. Para solucionar problemas, consulteLa aplicación se está reiniciando.
RATE (numberOfFailedCheckpoints)> 0 Media 0 Esta métrica cuenta el número de puntos de control fallidos desde que se inició la aplicación. En función de la aplicación, puede ser tolerable que los puntos de control fallen ocasionalmente. Sin embargo, si los puntos de control fallan con regularidad, es probable que la aplicación no esté en buen estado y necesite más atención. Recomendamos monitorear la TASA (numberOfFailedpuntos de control) para generar alarmas en función del gradiente y no de los valores absolutos. Recomendado para todas las aplicaciones. Utilice esta métrica para supervisar el estado de las aplicaciones y el progreso de los puntos de control. La aplicación guarda los datos de estado en los puntos de control cuando está en buen estado. Los puntos de control pueden fallar debido a que se agotan los tiempos de espera si la aplicación no avanza en el procesamiento de los datos de entrada. Para solucionar problemas, consulte. Agotamiento del tiempo para llegar al punto de control
Operator.numRecordsOutPerSecond< umbral Media El número mínimo de registros emitidos por la aplicación en condiciones normales. Recomendado para todas las aplicaciones. Estar por debajo de este umbral puede indicar que la aplicación no está realizando el progreso esperado en los datos de entrada. Para solucionar problemas, consulteEl rendimiento es demasiado lento.
records_lag_max|millisbehindLatest> umbral Máximo La latencia máxima esperada en condiciones normales. Si la aplicación consume productos de Kinesis o Kafka, estas métricas indican si la aplicación se está retrasando y necesita escalarse para poder soportar la carga actual. Se trata de una buena métrica genérica y fácil de rastrear para todo tipo de aplicaciones. Sin embargo, solo se puede usar para el escalado reactivo, es decir, cuando la aplicación ya se ha retrasado. Se recomienda para todas las aplicaciones. Utilice la records_lag_max métrica para una fuente de Kafka o millisbehindLatest para una fuente de transmisión de Kinesis. Superar este umbral puede indicar que la aplicación no está realizando el progreso esperado en los datos de entrada. Para solucionar problemas, consulteEl rendimiento es demasiado lento.
lastCheckpointDuration> umbral Máximo La duración máxima esperada del punto de control en condiciones normales. Supervisa la cantidad de datos que se almacenan en el estado y el tiempo que se tarda en pasar por un punto de control. Si los puntos de control aumentan o tardan mucho, la aplicación dedica tiempo continuamente a los puntos de control y tiene menos ciclos de procesamiento real. En algunos puntos, los puntos de control pueden crecer demasiado o tardar tanto que fallan. Además de monitorear los valores absolutos, los clientes también deberían considerar monitorear la tasa de cambio con RATE(lastCheckpointSize) y RATE(lastCheckpointDuration). Si esta cifra aumenta lastCheckpointDuration continuamente, superar este umbral puede indicar que la aplicación no está realizando los progresos esperados con respecto a los datos de entrada o que hay problemas con el estado de la aplicación, como la contrapresión. Para solucionar problemas, consulteCrecimiento estatal ilimitado.
lastCheckpointSize> umbral Máximo El tamaño máximo esperado del punto de control en condiciones normales. Supervisa la cantidad de datos que se almacenan en el estado y el tiempo que se tarda en pasar por un punto de control. Si los puntos de control aumentan o tardan mucho, la aplicación dedica tiempo continuamente a los puntos de control y tiene menos ciclos de procesamiento real. En algunos puntos, los puntos de control pueden crecer demasiado o tardar tanto que fallan. Además de monitorear los valores absolutos, los clientes también deberían considerar monitorear la tasa de cambio con RATE(lastCheckpointSize) y RATE(lastCheckpointDuration). Si aumenta lastCheckpointSize continuamente, superar este umbral puede indicar que la aplicación está acumulando datos de estado. Si los datos de estado son demasiado grandes, la aplicación puede quedarse sin memoria al recuperarse de un punto de control o la recuperación de un punto de control puede tardar demasiado. Para solucionar problemas, consulte. Crecimiento estatal ilimitado
heapMemoryUtilization> umbral Máximo Esto proporciona una buena indicación de la utilización general de los recursos de la aplicación y se puede utilizar para un escalado proactivo, a menos que la aplicación esté vinculada a la E/S. El heapMemoryUtilization tamaño máximo esperado en condiciones normales, con un valor recomendado del 90 por ciento. Puede utilizar esta métrica para supervisar el uso máximo de memoria de los administradores de tareas en toda la aplicación. Si la aplicación alcanza este umbral, debe aprovisionar más recursos. Para ello, active el escalado automático o aumente el paralelismo de la aplicación. Para obtener más información sobre cómo aumentar los recursos, consulte. Escalado
cpuUtilization> umbral Máximo Esto proporciona una buena indicación de la utilización general de los recursos de la aplicación y se puede utilizar para un escalado proactivo, a menos que la aplicación esté vinculada a la E/S. El cpuUtilization tamaño máximo esperado en condiciones normales, con un valor recomendado del 80 por ciento. Puede utilizar esta métrica para supervisar el uso máximo de la CPU por parte de los administradores de tareas en toda la aplicación. Si la aplicación alcanza este umbral, debe aprovisionar más recursos. Para ello, habilita el escalado automático o aumenta el paralelismo de la aplicación. Para obtener más información sobre cómo aumentar los recursos, consulte. Escalado
threadsCount> umbral Máximo El threadsCount tamaño máximo esperado en condiciones normales. Puedes usar esta métrica para detectar fugas de subprocesos en los administradores de tareas de la aplicación. Si esta métrica alcanza este umbral, comprueba en el código de tu aplicación los subprocesos que se están creando sin cerrarlos.
(oldGarbageCollectionTime * 100)/60_000 over 1 min period')> umbral Máximo La oldGarbageCollectionTime duración máxima prevista. Recomendamos establecer un umbral tal que el tiempo típico de recolección de basura sea el 60 por ciento del umbral especificado, pero el umbral correcto para su aplicación puede variar. Si esta métrica aumenta continuamente, esto puede indicar que hay una pérdida de memoria en los administradores de tareas de la aplicación.
RATE(oldGarbageCollectionCount) > umbral Máximo El máximo esperado oldGarbageCollectionCount en condiciones normales. El umbral correcto para su solicitud variará. Si esta métrica aumenta continuamente, esto puede indicar que hay una pérdida de memoria en los administradores de tareas de la aplicación.
Operator.currentOutputWatermark - Operator.currentInputWatermark > umbral Mínimo El incremento mínimo esperado de la marca de agua en condiciones normales. El umbral correcto para su solicitud variará. Si esta métrica aumenta continuamente, esto puede indicar que la aplicación está procesando eventos cada vez más antiguos o que una subtarea inicial no ha enviado una marca de agua en un tiempo cada vez mayor.