Corrélation globale des événements
Aperçu
La corrélation globale des événements permet d’exploiter l’ensemble des 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 d’appliquer à tous les mêmes opérations. En créant des règles de corrélation intelligentes, il est en réalité possible de vous éviter des milliers de notifications répétitives et de vous concentrer sur les causes profondes d’un problème !
La corrélation globale des événements est un mécanisme puissant, qui vous permet de vous affranchir d’une 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 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 des événements basée sur le marquage des événements, nous le pouvons.
Par exemple, un déclencheur de journal peut signaler des problèmes d’application, tandis qu’un déclencheur de sondage peut indiquer que l’application est en cours d’exécution. En tirant parti des balises d’événement, vous pouvez attribuer au déclencheur de journal la balise status:down et au déclencheur de sondage la balise 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 obtenir un seul rapport de problème par problème de port réseau ? Inutile de tous les signaler. Cela est également possible avec la corrélation globale des événements.
La corrélation globale des événements se configure dans des 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 Surveillance > Problèmes.
La configuration des règles de corrélation globale est réservée aux utilisateurs de niveau Super Admin.
La corrélation des événements doit être configurée avec beaucoup de soin, car elle peut nuire aux performances du traitement des événements ou, si elle est mal configurée, fermer davantage 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é, observez les conseils importants suivants :
- Réduisez le périmètre de 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 Nom de la balise du nouvel événement.
- Ajoutez une condition explicite pour l’ancien événement lors de l’utilisation de Fermer les anciens événements. Ajoutez toujours au moins une condition Ancien événement (par exemple, Nom de la balise de l’ancien événement, Valeur de la balise de l’ancien événement ou Paire de balises d’événement) lors de la sélection de Fermer les anciens événements — sinon la règle peut correspondre à des événements de problème existants sans rapport et les fermer (dans le pire des cas, tous les problèmes). Privilégiez Paire de balises d’événement pour faire correspondre des valeurs d’exécution (hôte:port, ID de session, etc.), et restreignez davantage la correspondance par hôte ou groupe d’hôtes lorsque c’est possible.
- Évitez d’utiliser des noms de balises courants qui pourraient ê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.

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 des types de conditions différents 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 lorsqu'un é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 correspondus 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 correspondus et fermés. Les conditions suivantes sont disponibles : Old event tag name - spécifiez le nom de l'étiquette de l'ancien événement à faire correspondre. New event tag name - spécifiez le nom de l'étiquette du nouvel événement à faire correspondre. New event host group - spécifiez le groupe d'hôtes du nouvel événement à faire correspondre. 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 à faire correspondre. 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 à faire correspondre, en utilisant les opérateurs suivants : equals - a la valeur de l'étiquette de l'ancien événement does not equal - n'a 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 à faire correspondre, en utilisant les opérateurs suivants : equals - a la valeur de l'étiquette du nouvel événement does not equal - n'a 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 de l'é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 de corrélation globale associera les problèmes si les valeurs des balises host et port existent sur le déclencheur et si elles sont identiques dans l'événement d'origine et dans le nouveau.
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.