Après avoir intégré plusieurs sources d'alertes via la gestion des alertes dans ARMS, configurez un flux de traitement des événements pour filtrer et classer les événements provenant de ces sources. Cette rubrique explique comment créer un flux de traitement des événements.
Créer un flux de traitement des événements
Connectez-vous à la console ARMS.
Dans le volet de navigation de gauche, choisissez .
Sur la page Event Processing Flows, cliquez sur Create Processing Flow en haut à droite.
Sur la page Create Processing Flow, saisissez un nom pour le flux de traitement dans la section Basic Information.
-
Dans la section Flow Action Settings, configurez le flux de traitement des événements.
Faites glisser les actions de la section Available Actions vers la section Event Processing Flows.
-
Dans la section la plus à droite, configurez les conditions d'exécution pour chaque action du flux de traitement des événements.
RemarqueUne fois une action configurée, testez les champs d'alerte dans la section Test Data afin de vérifier la configuration de l'action.
Action
Description
Exemple
Trigger Condition
Seuls les événements qui satisfont la condition de déclenchement initient le flux de traitement des événements actuel.
Scenario
Une integration nommée Container CPU Utilization Alert déclenche le flux de traitement des événements actuel.
Configuration
Définissez la condition comme suit :
_aliyun_arms_integration_name equals Container CPU Utilization Alert.Filter Events
Les événements qui répondent aux conditions de filtre ignorent le flux de traitement des événements actuel et passent au suivant. Les événements non filtrés poursuivent leur cours vers l'action suivante dans le flux actuel.
RemarqueSi votre règle d'alerte n'a pas encore généré d'événement, vous ne pouvez configurer que les champs ARMS prédéfinis
_aliyun_arms_integration_idet_aliyun_arms_integration_name. Si vous devez utiliser d'autres champs d'événement tels queseverityoualertname, utilisez l'une des méthodes suivantes :-
Saisissez manuellement le nom du champ.
-
Ajoutez une règle d'alerte et déclenchez un événement d'alerte. Une fois l'événement généré, vous pourrez sélectionner ses champs.
Execution Result
Execution Result
Execution Result
Execution Result
Execution Result
Scenario
Les événements d'alerte de niveau P4 ne déclenchent pas le flux de traitement des événements actuel.
Configuration
Définissez la condition comme suit :
severity equals P4.Identify Event Type
Un algorithme identifie la classe et le type d'événement en fonction des valeurs des champs d'événement sélectionnés. Ces informations facilitent les requêtes sur les événements et les alertes ainsi que les analyses statistiques.
Les classes d'événements suivantes sont prises en charge :
-
Réseau
-
Stockage
-
Calcul
-
Système d'exploitation
-
Application
-
Base de données
-
Modification
Les types d'événements suivants sont pris en charge :
-
Disponibilité
-
Latence
-
Capacité
-
Erreur
-
Inconnu
Scenario
Identifiez la classe et le type d'événement en fonction des valeurs des champs
alertnameetmessage.Configuration
Définissez les Fields for Type Identification sur
alertnameetmessage.Execution Result
Le système écrit les résultats de l'identification dans les libellés
classettype.Par exemple, après le traitement d'un événement dont le
alertnameesttcp package error percentage, le champ class dans les champs étendus est défini sur network et le champ type sur error.Set Event Level
Attribue un niveau d'événement spécifique aux événements traités par le flux actuel.
Scenario
Définissez le niveau d'événement des alertes liées au réseau pour les services principaux sur P1.
Configuration
-
Définissez l'action Trigger Condition sur
class equals network. -
Définissez l'action Set Event Level sur P1.
Execution Result
Le résultat du test indique qu'après le traitement, le champ severity est défini sur
critical, ce qui confirme l'application réussie de la règle.Set Business Tag
Ajoute un tag métier (libellé) aux événements traités par le flux actuel. Ce tag facilite les requêtes et les statistiques sur les événements et les alertes.
-
Champ : utilisez la valeur d'un champ d'événement comme valeur du champ
label. -
Valeur : définissez une valeur fixe pour le champ
label.
Scenario
Utilisez le niveau d'alerte comme libellé d'alerte pour permettre l'analyse statistique des événements par niveau.
Configuration
Définissez le tag métier sur
Field: severity.Execution Result
Un champ
labelsera ajouté aux événements d'alerte, et la valeur du champlabelcorrespondra à celle du champseverity.Delete Field
Supprime les champs spécifiés d'un événement.
Scenario
Un événement d'alerte contient à la fois les champs
locationetregion. Le champlocationinclut déjà les informations de région ; supprimez donc le champregion.Configuration
Définissez le champ à supprimer sur
region.Extract Content
Extrait le contenu d'un champ d'événement à l'aide d'une expression régulière et remplit de nouveaux champs avec les données extraites.
Scenario
Champ d'alerte :
"location":"cn-hangzhou-hz4"Extrayez les informations de région et de centre de données du champ
locationet remplissez les champsregionetdatacenter.Configuration
-
Champ source de l'extraction :
location -
Expression régulière d'extraction :
([a-zA-z]+-[a-zA-z]+)-(.*) -
Champs à remplir :
region,datacenter
Le résultat extrait pour le champ region est
cn-hangzhouet celui pour le champ datacenter esthz4.Match and Update
Si un champ d'événement spécifié contient certains contenus, le système remplit un champ cible avec une valeur configurée.
Scenario
Champ d'alerte :
"message":"ping to i-bp1e42d0ydxf7pstuepz > 100ms"Si le champ
messagecontientping, cela indique un événement réseau et l'événement est marqué comme étant de type réseau.Configuration
-
Champ à faire correspondre :
message -
Condition de mise à jour : si contient
ping, sortienetwork.RemarqueLa valeur à faire correspondre peut être une chaîne littérale ou une expression régulière.
-
Champ à remplir :
class
Après avoir testé l'action de correspondance et de mise à jour, si le champ
messaged'un événement contientping, le système remplit le champclassavecnetwork.Enrich Field
Enrichit les données d'événement en appelant une API ou en interrogeant une source de données Excel locale, puis remplit un champ cible avec le résultat.
RemarqueLa fonctionnalité de source de données est actuellement en version Canary. Pour utiliser cette fonctionnalité, contactez le support technique ARMS sur DingTalk (ID :
d9j_rg9e4062f).Scenario
Utilisez le champ IP dans un événement d'alerte pour interroger une source de données Excel téléchargée afin de récupérer le nom d'hôte correspondant et remplir le champ
hostnamede l'événement.Configuration
-
Source de données : Get Host Data Source-excel
-
Mode de correspondance et de mise à jour :
ip(correspond au nom de colonne dans le fichier Excel) égaleip(correspond à la valeur de colonne dans le fichier Excel) -
Champ à remplir :
$.hostName(nom de colonne issu du résultat de la requête Excel) remplithostname
Replace Content
Recherche et remplace le contenu dans un champ spécifié à l'aide d'une chaîne littérale ou d'une expression régulière.
Scenario
Remplacez la chaîne
d.b.dans un événement d'alerte par la chaînedatabase.Configuration
-
Champ dans lequel effectuer le remplacement :
message -
Rechercher :
d\.b\.RemarqueVous pouvez utiliser une chaîne littérale ou une expression régulière.
-
Remplacer par :
database
Cliquez sur Test. Avant le traitement, la valeur du champ message est
d.b. call timeout. Après le traitement, la valeur devientdatabase call timeout, ce qui indique que la règle de remplacement est efficace.Split Content
Divise la valeur d'un champ selon un délimiteur et utilise les résultats pour remplir plusieurs champs cibles.
Scenario
Champ d'alerte :
"message":"myhostid_myuserid_myruleid"Divisez la valeur du champ
messageet remplissez respectivement les nouveaux champshostid,useridetruleidavec les parties résultantes.Configuration
-
Champ à diviser :
message -
Délimiteur :
_ -
Champs à remplir avec les résultats de la division :
hostId,userId,ruleIdRemarqueLes champs cibles sont remplis dans l'ordre séquentiel.
Populate from Template
Saisissez le contenu du modèle (par exemple : La source d'événement de type
${class}est${source}). Les noms de variables correspondent aux noms de champs de l'intégration d'événements, et le contenu est rempli dans le champ cible après le rendu du modèle.Scenario
Champs d'alerte :
"source":"server", "class":"network"Définissez le champ
messagesurEvent of type ${class} is from source ${source}, en référençant les valeurs des champsclassetsource.Configuration
-
Modèle :
Event of type ${class} is from source ${source} -
Champ à remplir :
message
Le champ message est rendu sous la forme
Event of type network is from source server, les variables du modèle étant remplacées par leurs valeurs de champ correspondantes.Discard
Ignore les événements traités par le flux actuel. Cette action doit constituer le nœud final d'un flux de traitement des événements et ne nécessite aucune configuration.
Aucun
-
Dans la section Test Data, saisissez les champs et valeurs de test à gauche, ou cliquez sur Select From Events pour tester un événement d'alerte existant. Ensuite, cliquez sur Test.
-
Une fois la configuration terminée, cliquez sur Save.
Une fois le flux de traitement des événements créé, le système filtre les événements provenant des sources d'alertes intégrées selon la séquence du flux. Vous pouvez consulter les événements filtrés sur la page de l'historique des événements d'alerte. Pour plus d'informations, consultez la rubrique Consulter l'historique des événements d'alerte.
Gérer les flux de traitement des événements
Après avoir créé des flux de traitement des événements, gérez-les depuis la page Event Processing Flows :
Pour modifier l'ordre d'un flux, cliquez sur Up ou Down dans la colonne Actions.
Pour activer ou désactiver un flux, cliquez sur Enable ou Stop dans la colonne Actions.
Pour mettre à jour un flux, cliquez sur Edit dans la colonne Actions.
Pour supprimer un flux, cliquez sur Delete dans la colonne Actions, puis cliquez sur Confirm.
Consulter les événements d'alerte traités
Dans le volet de navigation de gauche, choisissez .
La page Alert Event History affiche tous les événements d'alerte. Cliquez sur le nom d'un événement pour afficher ses détails. Pour plus d'informations, consultez la rubrique Consulter l'historique des événements d'alerte.