Realtime Compute for Apache Flink prend en charge les services de surveillance et d'alerte via CloudMonitor (service gratuit) ou Application Real-Time Monitoring Service (ARMS). Configurez des alertes de métriques pour les jobs, des alertes d'événements pour les jobs et des alertes pour les workflows afin d'identifier et de traiter rapidement les exceptions. Cette rubrique décrit comment configurer la surveillance et les alertes à l'aide de différents services.
Limites
La configuration de la surveillance et des alertes lors du déploiement n'est pas possible pour les jobs Flink soumis à un cluster Session.
Les jobs par lots ne prennent pas encore en charge la surveillance et les alertes.
ARMS ne prend pas en charge les alertes de workflow. Vous pouvez toutefois les configurer via CloudMonitor (service gratuit).
Guide de configuration
Selon le type de service de surveillance utilisé par votre espace de travail (Vérifier le type de service de surveillance), choisissez la méthode de configuration appropriée :
-
Service de surveillance gratuit (CloudMonitor)
Configuration des alertes de métriques : configurez des alertes basées sur les variations des valeurs de métriques, telles que le CPU, la latence et le volume de données. Configuration applicable à un ou plusieurs jobs.
Configuration des alertes d'événements (y compris les workflows) : configurez des alertes déclenchées par la survenue d'événements, tels que des échecs de jobs. Prise en charge des événements de jobs et de workflows.
-
Service de surveillance ARMS
Configuration des alertes de métriques : configurez des alertes basées sur les variations des valeurs de métriques (six métriques principales prises en charge). Configuration applicable à un ou plusieurs jobs.
Configuration des alertes d'événements : seuls les événements d'échec de job sont pris en charge. Les autres alertes d'événements ne le sont pas encore. Utilisez la configuration des alertes d'événements CloudMonitor pour les configurer.
Changer de type de service de surveillance
Vous pouvez basculer entre les types de services de surveillance pour répondre à différents besoins métier.
Dans la Management Console, dans la colonne Actions de l'espace de travail cible, cliquez sur More pour passer à l'autre type de service de surveillance.
Lisez attentivement les remarques concernant le changement de type de service. La configuration ne peut se poursuivre qu'après avoir coché la case de confirmation.
Configurer la surveillance et les alertes avec CloudMonitor
Configuration des alertes de métriques
Seuls le compte Alibaba Cloud ayant acquis l'espace de travail, ainsi que les utilisateurs RAM et les rôles RAM associés disposant des permissions sur le namespace, peuvent configurer des alertes dans CloudMonitor.
Connectez-vous à la console Cloud Monitor.
Dans le volet de navigation de gauche, choisissez .
Cliquez sur Create Alert Rule et configurez les paramètres.
-
Paramètre
Description
Product
Realtime Compute for Apache Flink
Resource Scope
Sélectionnez Instance. La règle d'alerte s'applique à l'espace de travail spécifié de Realtime Compute for Apache Flink.
Associated Resources
Cliquez sur Add Instance, sélectionnez l'espace de travail dans la région cible (Comment consulter des informations telles que l'ID de l'espace de travail ?), puis cliquez sur OK.
Rule Description
Cliquez sur Add Rule > Simple Metric ou Composite Metric pour ouvrir le panneau Set Rule Description.
Ce panneau comprend plusieurs niveaux d'alerte : Critical, Warn (notification par SMS, e-mail et webhook) et Info (notification par e-mail et webhook). Pour chaque niveau, définissez une condition de seuil. Par exemple, la valeur moyenne est >= à un seuil spécifié pendant 3 périodes consécutives, où 1 période = 1 minute.
Dans la section Dimension, configurez le namespace (nom du namespace Flink) et le deploymentID (l'deployment ID situé dans l'onglet Configuration du job Flink) afin de spécifier les jobs à surveiller.
Remarque-
Si les listes déroulantes du namespace et du deploymentID sont vides, saisissez les valeurs manuellement.
-
Si vous laissez ces champs vides, tous les jobs de tous les namespaces seront surveillés.
RemarqueEn environnement de production, les alertes basées sur une seule métrique peuvent facilement entraîner des faux positifs ou des faux négatifs. Les alertes sur métriques composites reflètent plus précisément les exceptions métier. Pour plus d'informations, consultez Exemples de configuration recommandés et modèles pour la surveillance et les alertes.
Pour plus d'informations sur les autres paramètres, consultez Créer une règle d'alerte.
-
Configuration des alertes d'événements (y compris les workflows)
Seuls le compte Alibaba Cloud ayant acquis l'espace de travail, ainsi que les utilisateurs RAM et les rôles RAM associés disposant des permissions sur le namespace, peuvent configurer des alertes ou s'abonner aux événements dans CloudMonitor.
Alertes d'événements de job
Abonnez-vous aux alertes d'événements système pour les jobs en configurant des conditions. La configuration par lots des alertes d'événements est prise en charge.
Connectez-vous à la console Cloud Monitor.
Dans le volet de navigation de gauche, choisissez .
Dans l'onglet Subscription Policy, cliquez sur Create Subscription Policy.
-
Sur la page Create Subscription Policy, configurez les paramètres. Pour plus d'informations sur ces paramètres, consultez Gérer les abonnements aux événements (recommandé).
Subscription Type : System Event.
Product : sélectionnez Realtime Compute for Apache Flink.
Event Name : prend en charge les événements Job Run Failed (non pris en charge avec le service de surveillance ARMS), Post-mortem Processing for ECS Downtime et Impact of Proactive O&M on ECS.
-
Event Content : spécifiez des jobs ou configurez des alertes par lots en saisissant les informations Flink suivantes dans le contenu de l'événement.
Workspace ID : configurez des alertes d'événements pour tous les jobs de tous les namespaces sous l'espace de travail cible. Pour consulter l'ID de l'espace de travail, voir Comment consulter des informations telles que l'ID de l'espace de travail ?.
Namespace Name : configurez des alertes d'événements pour tous les jobs du namespace cible.
Deployment Job Name : configurez des alertes d'événements pour des jobs spécifiques. Séparez plusieurs noms de jobs par une virgule (
,). Si des jobs portent le même nom sous votre compte, utilisez plutôt le DeploymentID.DeploymentID : configurez des alertes d'événements pour des jobs spécifiques. Séparez plusieurs ID par une virgule (
,). Vous trouverez cet ID dans l'onglet Configuration de la page du job Flink, sous le libellé deployment ID.
RemarqueSi vous ne définissez pas Application Group, Message ou Event Resource, l'abonnement s'applique à tous les espaces de travail de votre compte.
Alertes d'événements de workflow
Abonnez-vous aux alertes d'événements système pour les workflows Flink en configurant des conditions. La configuration par lots des alertes d'événements est prise en charge. Pour plus d'informations sur les workflows, consultez Gérer les workflows.
-
Obtenez l'ID de ressource du nœud de workflow.
Connectez-vous à la console Cloud Monitor.
Dans le volet de navigation de gauche, choisissez .
Dans l'onglet Event Monitoring, définissez Product sur Realtime Compute for Apache Flink et Event Name sur Workflow Task Status Change, puis cliquez sur Search.
-
Recherchez l'ID de ressource du nœud de workflow ci-dessous.
Sur la page Event Monitoring, sélectionnez Realtime Compute for Apache Flink dans la liste déroulante Product. Dans la liste des événements, recherchez l'enregistrement portant le nom d'événement flink:Workflow:TaskStateChange Workflow Task Status Change. Consultez l'ID de ressource du nœud de workflow dans la colonne Resource.
Le format de la ressource est
acs:flink:cn-hangzhou:<AlibabaCloudAccountId>:resourceId/workspaceId/<workspaceId-namespaceId>#workflowDefinitionName/<workflowDefinitionName>#taskDefinitionName/<taskDefinitionName>. Utilisez également ce format pour construire directement l'ID de ressource de votre nœud de workflow.Paramètre
Description
<AlibabaCloudAccountIdOfWorkspace>L'ID du compte Alibaba Cloud propriétaire de l'espace de travail Flink.
<workspaceId-namespaceId>Une combinaison de
workspaceIdet denamespaceId, reliés par un trait d'union (-).workspaceId: l'ID de l'espace de travail. Pour plus d'informations, consultez Gestion et exploitation des espaces de travail.namespaceId: le nom du namespace.<workflowDefinitionName>Le nom du workflow.
<taskDefinitionName>Le nom du nœud de workflow.
RemarqueUn délai de plusieurs minutes survient généralement avant que les événements de changement d'état du workflow n'apparaissent dans CloudMonitor.
-
Abonnez-vous aux notifications d'événements.
Dans le volet de navigation de gauche, choisissez .
Dans l'onglet Subscription Policy, cliquez sur Create Subscription Policy.
-
Sur la page Create Subscription Policy, définissez les paramètres de la politique d'abonnement. Pour plus d'informations sur ces paramètres, consultez Gérer les abonnements aux événements (recommandé).
Subscription Type : System Event.
Product : sélectionnez Realtime Compute for Apache Flink.
Event Name : sélectionnez Workflow Task Status Change.
Event Content : permet de saisir des paramètres tels que
toState: FAILED(échec du workflow),toState: SUCCESS(succès du workflow) etfromState: SCHEDULED, toState: RUNNING(l'état du workflow est passé de planifié à en cours d'exécution).Event Resource : saisissez l'ID de ressource du workflow obtenu à l'étape 1. Séparez plusieurs ID par une virgule (
,).Event Type, Event Level, Application Group : ne définissez aucun de ces paramètres.
Configurer la surveillance et les alertes avec ARMS
Configuration des alertes de métriques
La surveillance multi-métriques dans ARMS n'est prise en charge que via PromQL personnalisé. Pour une méthode de configuration plus simple, utilisez la configuration des alertes de métriques CloudMonitor.
Configurer un seul job (Management Console)
Créez une nouvelle règle d'alerte pour un job cible, ou bien créez un modèle de règle d'alerte puis utilisez-le pour générer des alertes pour les jobs cibles. Cela permet d'accélérer la configuration de la surveillance et des alertes.
La Development Console n'affiche que les événements d'alerte des 48 dernières heures. Pour consulter des événements d'alerte plus anciens, accédez à Alert Management dans la console ARMS.
-
Accédez à la page de configuration des alertes.
Connectez-vous à la Management Console et cliquez sur Console dans la colonne Actions de l'espace de travail cible.
Sur la page , cliquez sur le nom du job cible.
Cliquez sur l'onglet Alarm.
-
Dans l'onglet Alert Rules, choisissez .
Vous pouvez également choisir . L'ajout et l'utilisation d'un modèle d'alerte permettent de créer des règles d'alerte directement ou avec des modifications mineures, ce qui accélère le processus de configuration.
-
Saisissez les informations de la règle d'alerte.
Catégorie
Paramètre
Description
Rule
Name
Doit commencer par une lettre et ne contenir que des lettres minuscules, des chiffres et des traits de soulignement (_). Longueur limitée à 3-64 caractères.
Description
Note concernant la règle.
Content
Configurez les conditions déclenchant une alerte. Le système compare la valeur de la métrique spécifiée au seuil selon un intervalle défini. Si le résultat satisfait la condition, une alerte se déclenche automatiquement.
-
Metric :
-
Restart Count in 1 Minute : nombre de redémarrages du Job Manager en 1 minute.
-
Checkpoint Count in 5 Minutes : nombre de checkpoints réussis en 5 minutes.
-
Emit Delay : latence métier, correspondant à la différence de temps entre la génération des données et leur sortie de l'opérateur Source. Unité : seconde.
ImportantL'heure de génération des données dépend de l'horodatage enregistré dans le système externe. Si le système externe ne possède pas d'horodatage ou si celui-ci est incorrect, la valeur Emit Delay sera inexacte et ne reflétera pas la véritable latence. Configurez des alertes combinant plusieurs métriques pour déterminer l'événement réel. Pour plus d'informations, consultez Exemples de configuration recommandés et modèles pour la surveillance et les alertes.
-
IN RPS : nombre d'enregistrements d'entrée par seconde. Unité : enregistrements/seconde.
-
OUT RPS : nombre d'enregistrements de sortie par seconde. Unité : enregistrements/seconde.
-
Source Idle Time : durée pendant laquelle la source n'a pas traité de données. Unité : milliseconde.
-
Job Failed : le job a échoué.
-
-
Time Difference : durée de la fenêtre temporelle des données historiques que le système interroge rétrospectivement pour chaque vérification. Unité : minute.
-
Comparator : prend en charge >= et <=.
-
Threshold : valeur à comparer avec la métrique.
-
Si vous sélectionnez l'opérateur >=, le système utilise la valeur MAX de l'axe vertical. Si la valeur maximale dans la différence de temps est >= au seuil, la règle d'alerte se déclenche.
-
Si vous sélectionnez l'opérateur <=, le système utilise la valeur MIN de l'axe vertical. Si la valeur minimale dans la différence de temps est <= au seuil, la règle d'alerte se déclenche.
-
Par exemple, supposons que vous surveilliez la métrique « Checkpoint Count in 5 Minutes ». La différence de temps est fixée à 10 minutes, le seuil à 2 et l'opérateur est « <= ».
Chaque minute, le système examine les données historiques des 10 dernières minutes. S'il détecte un intervalle de 5 minutes où le nombre de checkpoints réussis était inférieur ou égal à 2, il déclenche une alerte.
Trigger Time
Période durant laquelle la surveillance des alertes est active. Spécifiez une activité uniquement en journée (de 9h00 à 18h00). Par défaut, elle est active toute la journée.
Alarm Rate
N'envoyer une alerte qu'une seule fois sur un nombre continu de minutes. Plage prise en charge : de 1 minute à 1440 minutes (24 heures).
Notification Method
Notification Method
Sélectionnez plusieurs méthodes de notification. Méthodes prises en charge :
-
DingTalk
-
E-mail
-
SMS
-
Webhook
-
Téléphone
Assurez-vous que le numéro de téléphone du destinataire a été vérifié. Sinon, cette méthode ne fonctionnera pas. Cliquez sur Notification object management ci-dessous. Si la colonne Phone du contact cible dans l'onglet des contacts indique Unverified, cliquez dessus pour terminer la vérification.
ImportantAssurez-vous d'avoir créé et ajouté des contacts de notification valides. Sinon, la notification d'alerte échouera. Par exemple, si vous choisissez DingTalk comme méthode de notification, sélectionnez DingTalk et ajoutez un contact de notification DingTalk de type chatbot DingTalk.
Notification Object
Notifiez plusieurs contacts simultanément. Sélectionnez ou recherchez des contacts. Avant de sélectionner un contact, cliquez sur Notification object management sur la droite pour en créer un. Pour plus d'informations, consultez Gestion et exploitation des espaces de travail.
Alarm Noise Reduction
Cliquez sur Advanced Settings, puis activez le commutateur Alarm Noise Reduction.
Une fois la réduction du bruit des alarmes activée, aucune alerte n'est envoyée pour les scénarios où le job récupère rapidement, tels que les basculements de courte durée déclenchés par l'ordonnancement du cluster ou le réglage automatique. Les alertes ne sont envoyées que lorsque les conditions de seuil définies sont remplies de manière continue.
No Data Alarms
Cliquez sur Advanced Settings, puis activez le commutateur No Data Alarms et saisissez la durée continue sans données.
Après l'activation de cette fonctionnalité, le système surveille les scénarios où aucune donnée de surveillance n'est rapportée. Si aucune donnée n'est signalée pendant la période sélectionnée, une alerte se déclenche. Généralement, aucune donnée de surveillance n'est rapportée lorsque le JobManager est anormal, que le job s'arrête de manière inattendue ou que la liaison de signalement est défectueuse.
-
-
Cliquez sur OK.
La règle d'alerte enregistrée est activée par défaut et apparaît dans la liste des règles d'alerte. Vous pouvez l'arrêter, la modifier ou la supprimer.
Configurer un ou plusieurs jobs (console ARMS)
Si vous modifiez le nom d'un job dans la console Flink, toute règle d'alerte configurée dans la console ARMS basée sur le nom original du job devient invalide. Resélectionnez le job renommé et configurez l'alerte pour qu'elle prenne effet.
Connectez-vous à la Management Console.
-
Dans la colonne Actions de l'espace de travail cible, choisissez pour accéder à la console ARMS.
Le nom de l'espace de travail, l'ID de l'espace de travail et le nom de l'instance Prometheus correspondante s'affichent en haut de la page.
Le volet de navigation de gauche comprend Dashboard List, Service Discovery, Metric Management, Alert Rules et Settings. L'état de l'agent s'affiche en haut à droite. Dans l'onglet Metrics de la page Service Discovery, filtrez les métriques par nom de job, type de métrique et autres conditions. La liste des métriques affiche le nom de la métrique, le nom du job, le type de métrique et d'autres informations.
-
Cliquez sur Alert Rules sur la gauche pour créer une règle d'alerte.
Check Type : prend en charge les alertes de métriques via des seuils statiques et PromQL personnalisé (à l'exclusion des métriques d'alerte déjà prises en charge par Flink).
Filter Conditions : la configuration d'alertes par lots est prise en charge. Pour Namespace, saisissez le nom du namespace. Sélectionner « all » indique tous les namespaces de l'espace de travail. Pour Create Deployment, saisissez le deployment ID du job cible dans le namespace (disponible dans l'onglet Configuration du job Flink). Sélectionner « all » indique tous les jobs du namespace.
Pour plus d'informations sur les paramètres de configuration, consultez Créer une règle d'alerte Prometheus. Vous pouvez également créer un modèle de règle d'alerte Prometheus. Pour plus d'informations, consultez Créer un modèle de règle d'alerte Prometheus.
Configuration des alertes d'événements
Seuls les événements d'échec de job sont pris en charge. Configurez-les en sélectionnant la règle Job Failed dans la configuration des alertes de métriques. Les autres alertes d'événements ne sont pas encore prises en charge. Utilisez la configuration des alertes d'événements CloudMonitor pour les configurer.
FAQ
Comment vérifier le type de service de surveillance d'un espace de travail
Comment ajouter un chatbot DingTalk pour les alertes dans la Development Console
Comment créer un webhook dans la Development Console
Documents connexes
Realtime Compute for Apache Flink permet de choisir CloudMonitor (service gratuit) ou ARMS Prometheus Monitoring pour assurer la surveillance et les alertes des jobs. Pour une comparaison détaillée des fonctionnalités, des coûts et plus encore, consultez Comparaison des fonctionnalités entre les services d'alerte CloudMonitor et ARMS.
ARMS prend en charge la configuration de fonctionnalités telles que les politiques d'escalade et la planification. Pour plus d'informations, consultez Politique d'escalade et les tutoriels pratiques connexes.
CloudMonitor permet de recevoir des notifications d'alerte via des groupes DingTalk, des groupes Lark, etc. Pour plus de détails sur la configuration, consultez Méthodes de notification d'alerte.
Pour plus d'informations sur les métriques de surveillance prises en charge, consultez Métriques de surveillance.
Désactivez la surveillance et les alertes ou abandonnez des métriques spécifiques (avec ARMS) pour réduire les coûts. Reprenez la collecte des métriques ultérieurement si nécessaire. Pour connaître les opérations spécifiques, consultez Abandonner ou restaurer des métriques de surveillance.