Este documento proporciona métricas clave de alertas, configuraciones recomendadas y ejemplos operativos para Realtime Compute for Apache Flink, con el fin de facilitar el monitoreo del rendimiento del sistema y el diagnóstico de problemas.
Requisitos previos
Consulte Configure monitoring and alerting y seleccione el método de configuración adecuado para el servicio de monitoreo de su espacio de trabajo.
En ARMS, el monitoreo de múltiples métricas solo es compatible cuando use a custom PromQL statement to create an alert rule. Para una configuración más sencilla, puede configurar alertas con CloudMonitor.
Reglas de alerta recomendadas
|
Escenario |
Nombre de la métrica o evento |
Configuración de la regla |
Gravedad |
Acciones |
|
Evento de estado de ejecución del job |
= FAILED (Alerta basada en eventos) |
P0 |
1. Compruebe si la directiva de reinicio está mal configurada. Se recomienda usar la configuración predeterminada. 2. Determine si el error se debe a la directiva de reinicio o a una excepción en JobManager/TaskManager. 3. Restaure el job desde el último savepoint o checkpoint exitoso. |
|
|
Overview / NumOfRestart |
≥ 1 durante 1 periodo consecutivo |
P0 |
1. Identifique la causa raíz.
2. Restaure el job desde el último savepoint o checkpoint exitoso. |
|
|
NumOfCheckpoints (agregado de 5 minutos) |
≤ 0 durante 1 periodo consecutivo |
P0 |
1. Consulte System checkpoints para solucionar la causa raíz de los fallos de checkpoint. 2. Identifique y resuelva el problema.
3. Actualice dinámicamente la configuración o restaure el job desde el último checkpoint exitoso. |
|
|
Overview / CurrentEmitEventTimeLag && NumOfRecordsInFromSourcePerSecond |
Latencia máxima ≥ 180,000 ms Registros de entrada > 0 durante 3 periodos consecutivos |
P1 |
1. Consulte Monitor metrics para identificar la causa de la latencia.
Paso 2: Realice ajustes según la causa específica.
|
|
|
Overview / NumOfRecordsInFromSourcePerSecond && SourceIdleTime |
Registros de entrada ≤ 0 (según su lógica de negocio) Tiempo máximo de inactividad ≥ 60,000 ms durante 5 periodos consecutivos |
P1 |
1. Revise taskmanager.log, los gráficos de flamas y las métricas del servicio ascendente para confirmar si el problema es falta de datos ascendentes, limitación de tasa o una excepción, o bien una pila de hilos bloqueada. Paso 2: Realice ajustes según la causa específica.
|
|
|
Overview / NumOfRecordsOutToSinkPerSecond |
≤ 0 durante 5 periodos consecutivos |
P1 |
1. Verifique si los datos están llegando al operador sink.
2. Verifique si el sink puede escribir en el sistema externo.
3. Como solución temporal, implemente una escritura dual en un sistema de almacenamiento de copia de seguridad. |
|
|
CPU / TMCPUUsage |
≥ 85% durante 10 periodos consecutivos |
P2 |
1. Use un gráfico de flamas o la interfaz de usuario de Flink para identificar el operador con mayor consumo.
2. Aumente el paralelismo del operador que genera el cuello de botella o asigne más núcleos de CPU al TaskManager. |
|
|
TMHeapMemoryUsed |
≥ 90% durante 10 periodos consecutivos |
P2 |
1. Analice los registros de GC para identificar el problema.
2. Aumente el tamaño del heap o el paralelismo para reducir el volumen de datos por slot. |
Disponibilidad del job
Alertas de fallo de job
Console (ARMS)
Inicie sesión en la consola de Realtime Compute for Apache Flink y haga clic en Console en la columna Actions de su espacio de trabajo objetivo.
En el panel de navegación izquierdo, seleccione . Haga clic en el nombre del job objetivo.
Haga clic en la pestaña Alarm.
Haga clic en Add Alert Rule. En el panel Create Rule, configure la alerta. En Rule, introduzca un nombre y una descripción, seleccione Job Failed como Metric, y establezca los intervalos de Effective Period y Mute For. En Notification Method, seleccione sus métodos preferidos y un contact group. Para gestionar contactos, haga clic en el enlace Manage Contact.
CloudMonitor
Inicie sesión en la consola de Cloud Monitor.
En el panel de navegación izquierdo, seleccione .
En la pestaña Subscription Policies, haga clic en Create Subscription Policy.
En la página Create Subscription Policy, configure los parámetros. Para obtener más información, consulte Manage event subscriptions (Recommended).
En el paso Subscribe to Events, establezca Type en System Event. En la sección Scope, seleccione Realtime Compute for Apache Flink para Product, y seleccione Job Failed para Event Name. Puede dejar Level y application group configurados en All.
Estabilidad del job
Reinicios frecuentes de JobManager
Métrica:
NumOfRestartRegla: Generar alerta si el job se reinicia en menos de un minuto.
-
Configuración recomendada:
-
NumOfRestartValor ≥ 1
Periodo: 1 minuto
Notificación: Teléfono + SMS + Correo electrónico + Webhook (Crítico)
-
Tasa de éxito de checkpoints
Métrica:
NumOfCheckpointsRegla: Generar alerta si no se completa ningún checkpoint exitoso en 5 minutos.
-
Configuración recomendada:
NumOfCheckpointsValor ≤ 0
Periodo: 5 minutos
Notificación: Teléfono + SMS + Correo electrónico + Webhook (Crítico)
Puntualidad de los datos
SLA de latencia
-
Métricas:
CurrentEmitEventTimeLagNumOfRecordsInFromSourcePerSecond
Regla: Generar alerta si se están ingiriendo datos y la latencia de negocio supera los 5 minutos. Puede ajustar el umbral y el nivel de alerta según sus requisitos de negocio.
-
Configuración recomendada:
-
CurrentEmitEventTimeLagValor máximo ≥ 300,000
-
NumOfRecordsInFromSourcePerSecondValor > 0
Periodo: 5 minutos
-
Interrupciones en el flujo de datos ascendentes
-
Métricas:
NumOfRecordsInFromSourcePerSecondSourceIdleTime
Regla: Generar alerta si se detiene la entrada de datos y la fuente permanece inactiva por más de 1 minuto. Puede ajustar el umbral y el nivel de alerta según sus requisitos de negocio.
-
Configuración recomendada:
-
NumOfRecordsInFromSourcePerSecondValor ≤ 0
-
SourceIdleTimeValor máximo > 60,000
Periodo: 5 minutos
-
Sin salida de datos
Métrica:
NumOfRecordsOutToSinkPerSecondRegla: Generar alerta si no se envían datos durante más de 5 minutos. Puede ajustar el umbral y el nivel de alerta según sus requisitos de negocio.
-
Configuración recomendada:
-
NumOfRecordsOutToSinkPerSecondValor ≤ 0
Periodo: 5 minutos
-
Cuellos de botella de rendimiento de recursos
Cuello de botella de rendimiento de CPU
Métrica:
TMCPUUsageRegla: Generar alerta si la utilización de CPU supera el 85% durante más de 10 minutos.
-
Configuración recomendada:
-
TMCPUUsageValor máximo ≥ 85
Periodo: 10 minutos
-
Cuello de botella de rendimiento de memoria
Métrica:
TMHeapMemoryUsedRegla: Generar alerta si el uso de memoria heap supera el 90% durante más de 10 minutos.
-
Configuración recomendada:
-
TMHeapMemoryUsedValor máximo ≥ Umbral (90%)
Puede encontrar este umbral en la página . Por ejemplo, si la memoria total es de 413 MB, puede establecer el umbral en 372 MB (90% de 413 MB).
Periodo: 10 minutos
-