Ce document présente les principales métriques d'alerte, les configurations recommandées et des exemples opérationnels pour Realtime Compute for Apache Flink. Il vous permet de superviser efficacement les performances du système et de diagnostiquer les incidents.
Prérequis
Reportez-vous à la rubrique Configurer la surveillance et les alertes et choisissez la méthode de configuration adaptée au service de surveillance de votre espace de travail.
Dans ARMS, la surveillance multi-métriques n'est prise en charge que si vous utilisez une instruction PromQL personnalisée pour créer une règle d'alerte. Pour une configuration plus simple, utilisez CloudMonitor.
Règles d'alerte recommandées
|
Scénario |
Nom de la métrique/de l'événement |
Configuration de la règle |
Sévérité |
Actions |
|
Événement d'état d'exécution du job |
= FAILED (Alerte basée sur un événement) |
P0 |
1. Vérifiez si la politique de redémarrage est mal configurée. Nous vous recommandons d'utiliser la configuration par défaut. 2. Déterminez si l'échec est dû à la politique de redémarrage ou à une exception du JobManager/TaskManager. 3. Restaurez le job à partir du dernier savepoint ou d'un checkpoint réussi. |
|
|
Overview / NumOfRestart |
≥ 1 pendant 1 période consécutive |
P0 |
1. Identifiez la cause racine.
2. Restaurez le job à partir du dernier savepoint ou d'un checkpoint réussi. |
|
|
NumOfCheckpoints (agrégat sur 5 minutes) |
≤ 0 pendant 1 période consécutive |
P0 |
1. Consultez la section Checkpoints système pour identifier la cause racine des échecs de checkpoint. 2. Identifiez et résolvez le problème.
3. Mettez à jour la configuration de manière dynamique ou restaurez le job à partir du dernier checkpoint réussi. |
|
|
Overview / CurrentEmitEventTimeLag && NumOfRecordsInFromSourcePerSecond |
Latence maximale ≥ 180 000 ms Enregistrements d'entrée > 0 pendant 3 périodes consécutives |
P1 |
1. Consultez les métriques de surveillance pour identifier la cause de la latence.
|
|
|
Overview / NumOfRecordsInFromSourcePerSecond && SourceIdleTime |
Enregistrements d'entrée ≤ 0 (selon votre logique métier) Temps d'inactivité maximal ≥ 60 000 ms pendant 5 périodes consécutives |
P1 |
1. Examinez le fichier taskmanager.log, les graphiques en flammes et les métriques du service en amont pour confirmer si le problème est lié à une absence de données en amont, une limitation de débit ou une exception, ou à une pile de threads bloquée.
|
|
|
Overview / NumOfRecordsOutToSinkPerSecond |
≤ 0 pendant 5 périodes consécutives |
P1 |
1. Vérifiez si les données atteignent l'opérateur sink.
2. Vérifiez si le sink peut écrire dans le système externe.
3. Pour une solution de secours temporaire, mettez en œuvre une double écriture vers un système de stockage de sauvegarde. |
|
|
CPU / TMCPUUsage |
≥ 85 % pendant 10 périodes consécutives |
P2 |
1. Utilisez un graphique en flammes ou l'interface utilisateur Flink pour identifier l'opérateur point chaud.
2. Augmentez le parallélisme de l'opérateur constituant le goulot d'étranglement ou allouez plus de cœurs CPU au TaskManager. |
|
|
TMHeapMemoryUsed |
≥ 90 % pendant 10 périodes consécutives |
P2 |
1. Analysez les journaux GC pour identifier le problème.
2. Augmentez la taille du tas ou le parallélisme pour réduire le volume de données par slot. |
Disponibilité du job
Alertes d'échec de job
Console (ARMS)
Connectez-vous à la console de Realtime Compute for Apache Flink et cliquez sur Console dans la colonne Actions de l'espace de travail cible.
Dans le volet de navigation de gauche, sélectionnez . Cliquez sur le nom du job cible.
Cliquez sur l'onglet Alarm.
Cliquez sur Add Alert Rule. Dans le panneau Create Rule, configurez l'alerte. Pour le champ Rule, saisissez un nom et une description, sélectionnez Job Failed comme Metric, et définissez les intervalles Effective Period et Mute For. Pour la Notification Method, sélectionnez vos méthodes préférées et un contact group. Pour gérer les contacts, cliquez sur le lien Manage Contact.
CloudMonitor
Connectez-vous à la console Cloud Monitor.
Dans le volet de navigation de gauche, sélectionnez .
Dans l'onglet Subscription Policies, cliquez sur Create Subscription Policy.
Sur la page Create Subscription Policy, configurez les paramètres. Pour plus d'informations, consultez la rubrique Gérer les abonnements aux événements (recommandé).
À l'étape Subscribe to Events, définissez Type sur System Event. Dans la section Scope, sélectionnez Realtime Compute for Apache Flink pour Product, et Job Failed pour Event Name. Vous pouvez laisser Level et application group définis sur All.
Stabilité du job
Redémarrages fréquents du JobManager
Métrique :
NumOfRestartRègle : Alerte si le job redémarre en moins d'une minute.
-
Configuration recommandée :
-
NumOfRestartValeur ≥ 1
Période : 1 minute
Notification : Téléphone + SMS + E-mail + Webhook (Critique)
-
Taux de réussite des checkpoints
Métrique :
NumOfCheckpointsRègle : Alerte si aucun checkpoint réussi n'a lieu dans les 5 minutes.
-
Configuration recommandée :
NumOfCheckpointsValeur ≤ 0
Période : 5 minutes
Notification : Téléphone + SMS + E-mail + Webhook (Critique)
Actualité des données
SLA de latence
-
Métriques :
CurrentEmitEventTimeLagNumOfRecordsInFromSourcePerSecond
Règle : Alerte si des données sont ingérées et que la latence métier dépasse 5 minutes. Vous pouvez ajuster le seuil et le niveau d'alerte selon vos besoins métier.
-
Configuration recommandée :
-
CurrentEmitEventTimeLagValeur maximale ≥ 300 000
-
NumOfRecordsInFromSourcePerSecondValeur > 0
Période : 5 minutes
-
Interruptions du flux de données en amont
-
Métriques :
NumOfRecordsInFromSourcePerSecondSourceIdleTime
Règle : Alerte si l'entrée de données s'arrête et que la source reste inactive pendant plus d'une minute. Vous pouvez ajuster le seuil et le niveau d'alerte selon vos besoins métier.
-
Configuration recommandée :
-
NumOfRecordsInFromSourcePerSecondValeur ≤ 0
-
SourceIdleTimeValeur maximale > 60 000
Période : 5 minutes
-
Absence de sortie de données
Métrique :
NumOfRecordsOutToSinkPerSecondRègle : Alerte si aucune donnée n'est envoyée pendant plus de 5 minutes. Vous pouvez ajuster le seuil et le niveau d'alerte selon vos besoins métier.
-
Configuration recommandée :
-
NumOfRecordsOutToSinkPerSecondValeur ≤ 0
Période : 5 minutes
-
Goulots d'étranglement des performances des ressources
Goulot d'étranglement des performances CPU
Métrique :
TMCPUUsageRègle : Alerte si l'utilisation du CPU dépasse 85 % pendant plus de 10 minutes.
-
Configuration recommandée :
-
TMCPUUsageValeur maximale ≥ 85
Période : 10 minutes
-
Goulot d'étranglement des performances mémoire
Métrique :
TMHeapMemoryUsedRègle : Alerte si l'utilisation de la mémoire tas dépasse 90 % pendant plus de 10 minutes.
-
Configuration recommandée :
-
TMHeapMemoryUsedValeur maximale ≥ Seuil (90 %)
Vous pouvez trouver ce seuil sur la page . Par exemple, si la mémoire totale est de 413 Mo, vous pouvez définir le seuil à 372 Mo (90 % de 413 Mo).
Période : 10 minutes
-