2 Corrélation globale des événements

Vue d'ensemble

La corrélation globale des événements permet d'agir sur toutes les métriques surveillées par Zabbix et de créer des corrélations.

Il est possible de corréler des événements créés par des déclencheurs complètement différents et de leur appliquer les mêmes opérations. En créant des règles de corrélation intelligentes, il est en effet possible de vous épargner des milliers de notifications répétitives et de vous concentrer sur les causes racines d'un problème !

La corrélation globale des événements est un mécanisme puissant, qui vous permet de vous affranchir de la logique de problème et de résolution basée sur un seul déclencheur. Jusqu'à présent, un seul événement de problème était créé par un seul déclencheur et nous dépendions de ce même déclencheur pour la résolution du problème. Nous ne pouvions pas résoudre un problème créé par un déclencheur avec un autre déclencheur. Mais avec la corrélation d'événements basée sur le balisage des événements, c'est possible.

Par exemple, un déclencheur de journal peut signaler des problèmes d'application, tandis qu'un déclencheur d'interrogation peut signaler que l'application est opérationnelle. En tirant parti des balises d'événement, vous pouvez baliser le déclencheur de journal avec status:down et le déclencheur d'interrogation avec status:up. Ensuite, dans une règle de corrélation globale, vous pouvez relier ces déclencheurs et attribuer à cette corrélation une opération appropriée, comme la fermeture des anciens événements.

Dans un autre cas d'utilisation, la corrélation globale peut identifier des déclencheurs similaires et leur appliquer la même opération. Et si nous pouvions n'obtenir qu'un seul rapport de problème par problème de port réseau ? Il n'est pas nécessaire de tous les signaler. Cela est également possible avec la corrélation globale des événements.

La corrélation globale des événements est configurée dans les règles de corrélation. Une règle de corrélation définit comment les nouveaux événements de problème sont associés aux événements de problème existants et quoi faire en cas de correspondance (fermer le nouvel événement, fermer les anciens événements correspondants en générant les événements OK correspondants). Si un problème est fermé par corrélation globale, cela est indiqué dans la colonne Info de Monitoring > Problems.

La configuration des règles de corrélation globale est disponible uniquement pour les utilisateurs de niveau Super Admin.

La corrélation d'événements doit être configurée avec beaucoup de précaution, car elle peut affecter négativement les performances du traitement des événements ou, en cas de mauvaise configuration, fermer plus d'événements que prévu (dans le pire des cas, même tous les événements de problème pourraient être fermés).

Pour configurer la corrélation globale en toute sécurité, respectez les conseils importants suivants :

  • Réduisez la portée de la corrélation. Définissez toujours une balise unique pour le nouvel événement qui est associé aux anciens événements et utilisez la condition de corrélation New event tag name.
  • Ajoutez une condition explicite sur les anciens événements lors de l'utilisation de Close old events. Ajoutez toujours au moins une condition Old event (par exemple, Old event tag name, Old event tag value ou Event tag pair) lors de la sélection de Close old events — sinon, la règle peut correspondre à des événements de problème existants non liés et les fermer (dans le pire des cas, tous les problèmes). Préférez Event tag pair pour faire correspondre des valeurs d'exécution (host:port, session id, etc.), et affinez davantage la correspondance par hôte ou groupe d'hôtes lorsque cela est possible.
  • Évitez d'utiliser des noms de balises courants qui pourraient finir par être utilisés par différentes configurations de corrélation.
  • Limitez le nombre de règles de corrélation à celles dont vous avez réellement besoin.

Voir aussi : problèmes connus.

Configuration

Pour configurer globalement les règles de corrélation d'événements :

  • Allez dans Data collection > Event correlation
  • Cliquez sur Create event correlation à droite (ou sur le nom de la corrélation pour modifier une règle existante)
  • Saisissez les paramètres de la règle de corrélation dans le formulaire

correlation\_rule.png

Tous les champs obligatoires sont marqués d'un astérisque rouge.

Parameter Description
Name Nom unique de la règle de corrélation.
Type of calculation Les options suivantes de calcul des conditions sont disponibles :
And - toutes les conditions doivent être remplies
Or - il suffit qu'une condition soit remplie
And/Or - AND avec différents types de conditions et OR avec le même type de condition
Custom expression - une formule de calcul définie par l'utilisateur pour évaluer les conditions de l'action. Elle doit inclure toutes les conditions (représentées par des lettres majuscules A, B, C, ...) et peut inclure des espaces, des tabulations, des parenthèses ( ), and (sensible à la casse), or (sensible à la casse), not (sensible à la casse).
Conditions Liste des conditions. Voir ci-dessous pour plus de détails sur la configuration d'une condition.
Description Description de la règle de corrélation.
Operations Cochez l'opération à effectuer lorsque l'événement est corrélé. Les opérations suivantes sont disponibles :
Close old events - fermer les anciens événements lorsqu'un nouvel événement se produit. Ajoutez toujours une condition basée sur l'ancien événement lors de l'utilisation de l'opération Close old events, sinon tous les problèmes existants pourraient être fermés.
Close new event - fermer le nouvel événement lorsqu'il se produit.

Warning!
Ne laissez pas les conditions d'ancien/nouvel événement vides lors de l'utilisation de Close old events/Close new event. Si vous sélectionnez l'opération Close old events sans ajouter de condition correspondant à l'ancien événement, Zabbix peut faire correspondre tous les anciens événements existants et les fermer. Ajoutez toujours une condition explicite d'ancien événement (par exemple, Old event tag name ou Event tag pair) lors de l'utilisation de Close old events. Par exemple, une règle qui utilise uniquement une New event condition et l'opération Close old events fera correspondre tous les anciens événements qui satisfont aux critères d'ancien événement (absents) - fermant ainsi effectivement les anciens problèmes.
Enabled Si vous cochez cette case, la règle de corrélation sera activée.

Pour configurer les détails d'une nouvelle condition, cliquez sur dans le bloc Conditions. Une fenêtre contextuelle s'ouvrira, dans laquelle vous pourrez modifier les détails de la condition.

Parameter Description
New condition Sélectionnez une condition pour corréler les événements.
Note que si aucune condition d'ancien événement n'est spécifiée, tous les anciens événements peuvent être mis en correspondance et fermés. De même, si aucune condition de nouvel événement n'est spécifiée, tous les nouveaux événements peuvent être mis en correspondance et fermés.
Les conditions suivantes sont disponibles :
Old event tag name - spécifiez le nom de l'étiquette de l'ancien événement pour la correspondance.
New event tag name - spécifiez le nom de l'étiquette du nouvel événement pour la correspondance.
New event host group - spécifiez le groupe d'hôtes du nouvel événement pour la correspondance.
Event tag pair - spécifiez le nom de l'étiquette du nouvel événement et le nom de l'étiquette de l'ancien événement pour la correspondance. Dans ce cas, il y aura correspondance si les valeurs des étiquettes dans les deux événements correspondent. Les noms des étiquettes n'ont pas besoin de correspondre.
Cette option est utile pour faire correspondre des valeurs d'exécution, qui peuvent ne pas être connues au moment de la configuration (voir aussi Example).
Old event tag value - spécifiez le nom et la valeur de l'étiquette de l'ancien événement pour la correspondance, en utilisant les opérateurs suivants :
equals - possède la valeur de l'étiquette de l'ancien événement
does not equal - ne possède pas la valeur de l'étiquette de l'ancien événement
contains - contient la chaîne dans la valeur de l'étiquette de l'ancien événement
does not contain - ne contient pas la chaîne dans la valeur de l'étiquette de l'ancien événement
New event tag value - spécifiez le nom et la valeur de l'étiquette du nouvel événement pour la correspondance, en utilisant les opérateurs suivants :
equals - possède la valeur de l'étiquette du nouvel événement
does not equal - ne possède pas la valeur de l'étiquette du nouvel événement
contains - contient la chaîne dans la valeur de l'étiquette du nouvel événement
does not contain - ne contient pas la chaîne dans la valeur de l'étiquette du nouvel événement

En raison de la possibilité d'une mauvaise configuration, lorsque des étiquettes d'événement similaires peuvent être créées pour des problèmes sans rapport, veuillez examiner les cas décrits ci-dessous !

  • Les étiquettes réelles et leurs valeurs ne deviennent visibles que lorsqu'un déclencheur se produit. Si l'expression régulière utilisée est invalide, elle est silencieusement remplacée par une chaîne *UNKNOWN*. Si l'événement de problème initial avec une valeur d'étiquette *UNKNOWN* est manqué, il peut apparaître ensuite des événements OK avec la même valeur d'étiquette *UNKNOWN* qui peuvent fermer des événements de problème qu'ils n'auraient pas dû fermer.
  • Si un utilisateur utilise la macro {ITEM.VALUE} sans fonctions de macro comme valeur d'étiquette, la limite de 255 caractères s'applique. Lorsque les messages de journal sont longs et que les 255 premiers caractères ne sont pas spécifiques, cela peut également entraîner des étiquettes d'événement similaires pour des problèmes sans rapport.

Exemple

Empêchez les événements de problème répétitifs provenant du même port réseau.

Cette règle globale de corrélation mettra en corrélation les problèmes si les valeurs des tags host et port existent sur le déclencheur et qu’elles sont identiques dans l’événement d’origine et le nouvel événement.

L’opération fermera les nouveaux événements de problème sur le même port réseau, en ne laissant ouvert que le problème d’origine.