Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduction

Dans Checkmk, vous configurez les paramètres des ordinateurs hôtes et des services à l’aide de règles. Cette fonctionnalité rend Checkmk très efficace dans les environnements complexes, et apporte également un certain nombre d’avantages aux installations de plus petite envergure. Afin de clarifier le principe de la configuration basée sur des règles, nous allons la comparer à la méthode classique.

1.1. L'approche classique

Prenons, à titre d’exemple, la configuration des valeurs seuils pour WARN et CRIT dans le cadre de la supervision des systèmes de fichiers. Avec une configuration orientée base de données, il faudrait, pour chaque système de fichiers, saisir une ligne dans un tableau :

Ordinateur hôte Système de fichiers Avertissement Critique

myserver001

/var

90 %

95 %

myserver001

/sapdata

90 %

95 %

myserver001

/var/log

90 %

95 %

myserver002

/var

85 %

90 %

myserver002

/opt

85 %

90 %

myserver002

/sapdata

85 %

95 %

myserver002

/var/trans

100 %

100 %

C'est relativement simple — mais uniquement parce que le tableau de cet exemple est court. Dans la pratique, on compte généralement des centaines, voire des milliers de systèmes de fichiers. Des outils tels que le copier-coller et les actions Bulk peuvent simplifier le travail, mais le problème fondamental demeure : comment identifier et mettre en œuvre une directive standard ? Quelle est la règle générale ? Comment définir à l'avance les valeurs seuils pour les futurs ordinateurs hôtes ?

1.2. Une approche basée sur des règles est préférable !

Une configuration basée sur des règles correspond toutefois à la directive ! Nous allons remplacer la logique du tableau ci-dessus par un ensemble de quatre règles. Si nous supposons que myserver001 est un système de test, et que dans chaque cas, la première règle pertinente s’applique à tous les systèmes de fichiers, le résultat sera les mêmes valeurs seuils que dans le tableau ci-dessus :

  1. Les systèmes de fichiers dont le point de montage est /var/trans ont une valeur seuil de 100/100 %.

  2. Le système de fichiers /sapdata sur myserver002 a une valeur seuil de 85/95 %.

  3. Les systèmes de fichiers sur les systèmes de test ont une valeur seuil de 90/95 %.

  4. Tous les systèmes de fichiers (non spécifiés) ont une valeur seuil de 85/90 %.

Certes, pour seulement deux ordinateurs hôtes, cela ne change pas grand-chose, mais avec seulement quelques ordinateurs hôtes supplémentaires, cela peut rapidement faire une différence considérable. Les avantages de la configuration basée sur des règles sont évidents :

  • La directive est clairement identifiable et peut être mise en œuvre de manière fiable.

  • Vous pouvez modifier la directive à tout moment sans avoir à gérer des milliers d'ensembles de données.

  • Des exceptions sont toujours possibles, mais elles sont documentées sous forme de règles.

  • L'intégration de nouveaux ordinateurs hôtes est simple et moins sujette aux erreurs.

En résumé : moins de travail, plus de qualité ! C’est pourquoi Checkmk vous propose une multitude de règles pour personnaliser les ordinateurs hôtes et les services, telles que les valeurs seuil, les paramètres de supervision, les responsabilités, les notifications, la configuration des agents et bien d’autres encore.

1.3. Types de jeux de règles

Dans la configuration, Checkmk organise les règles en jeux de règles. Chaque jeu de règles a pour tâche de définir un paramètre spécifique pour les ordinateurs hôtes ou les services. Checkmk contient plus de 700 jeux de règles ! En voici quelques exemples :

  • Host check command — définit comment déterminer si les ordinateurs hôtes sont des « UP ».

  • Alternative display name for services — définit des noms alternatifs pour l’affichage des services.

  • JVM memory levels — définit les valeurs seuils et autres paramètres pour la supervision de l’utilisation de la mémoire des machines virtuelles Java (VM).

Chaque jeu de règles est responsable soit des ordinateurs hôtes, soit des services — jamais des deux à la fois. Si un paramètre peut être défini aussi bien pour les ordinateurs hôtes que pour les services, il existe une paire de règles applicables — par exemple, « Normal check interval for host checks » et « Normal check interval for services checks ».

À proprement parler, quelques jeux de règles ne définissent pas réellement de paramètres, mais créent plutôt des services. Les règles relatives aux contrôles actifs, disponibles à l’adresse Setup > Services > HTTP, TCP, Email, …​, en sont un exemple. Celles-ci vous permettent, par exemple, de configurer un contrôle HTTP pour des ordinateurs hôtes spécifiques. Ces règles sont classées comme des règles d’hôte — en effet, si un tel contrôle existe sur un ordinateur hôte, il est considéré comme une propriété de cet ordinateur hôte.

Il existe en outre des jeux de règles qui contrôlent la reconnaissance du service. Grâce à ceux-ci, vous pouvez, par exemple, via Windows service discovery, définir pour quels services Windows des checks automatiques doivent être créés s’ils sont détectés sur un système. Il s’agit également de règles d’ordinateur hôte.

La majorité des jeux de règles déterminent les paramètres de plugins de supervision spécifiques. Network interfaces and switch ports en est un exemple. Les paramètres de ces règles sont adaptés de manière très spécifique au plugin correspondant. Ces jeux de règles ne trouvent fondamentalement leur utilité qu’avec les services basés sur ce plugin. Si vous ne savez pas quel jeu de règles est responsable de quels services, le meilleur moyen de le découvrir est de naviguer directement via le service vers la règle correspondante. La procédure à suivre sera expliquée plus loin.

1.4. Balises de l’hôte

Il y a une chose que nous n’avons pas encore mentionnée : Dans l’exemple ci-dessus, il existe une règle pour tous les systèmes de test. Où est-il réellement défini qu’un ordinateur hôte est un système de test ?

Dans Checkmk, un élément tel qu’un système de test est appelé « balise de l’hôte ». Vous pouvez voir quelles balises sont disponibles via Setup > Hosts > Tags. Certaines balises sont déjà prédéfinies — par exemple, pour un Test system défini dans le groupe Criticality.

L'application de balises aux ordinateurs hôtes s'effectue soit explicitement dans les propriétés de l'ordinateur hôte, soit par héritage dans la hiérarchie des dossiers. La procédure à suivre est expliquée dans l'article consacré aux ordinateurs hôtes. La création de vos propres balises et la signification des balises prédéfinies sont expliquées dans l'article consacré aux balises de l’hôte.

2. Détermination des jeux de règles appropriés

2.1. Jeux de règles pour ordinateurs hôtes

Si vous souhaitez créer une nouvelle règle définissant un paramètre pour un ou plusieurs ordinateurs hôtes, plusieurs méthodes s’offrent à vous. La méthode directe consiste à passer par le groupe correspondant dans le menu «setup», en l’occurrence «Setup > Hosts > Host monitoring rules» :

Setup menu with focus on the 'Host monitoring rules'.

Dans la vue suivante, tous les jeux de règles pertinents pour la supervision des ordinateurs hôtes sont affichés. Les chiffres suivant les noms de ces jeux de règles indiquent le nombre de règles déjà définies :

The 'Host monitoring rules' in the Setup menu.

Cependant, vous pouvez atteindre votre objectif un peu plus rapidement via le champ de recherche. Pour ce faire, vous devez bien sûr connaître approximativement le nom du jeu de règles. Voici le résultat d'une recherche sur « host checks » à titre d'exemple.

Extract of the result of a search for host checks.

Une autre méthode consiste à utiliser l'entrée « Hosts > Effective parameters » dans les propriétés d'un ordinateur hôte existant dans la Configuration ou via l'icône « icon rulesets » dans la liste des ordinateurs hôtes d'un dossier.

Host list in the Setup menu, with a highlighting of the button for effective parameters.

Vous y trouverez non seulement tous les jeux de règles qui s’appliquent à l’ordinateur hôte, mais également le paramètre actuellement en vigueur pour cet ordinateur hôte. Dans l’exemple de « Host check command », aucune règle ne s’applique à l’ordinateur hôte affiché, et il est donc défini sur la valeur par défaut de « Smart PING (only with Checkmk Micro Core) » des éditions commerciales. Dans Checkmk Community, la valeur par défaut est « PING (active check with ICMP echo request) ».

Display for the 'Host check command' with the default value.

Cliquez sur Host check command pour afficher l'ensemble complet du jeu de règles.

Si une règle existe déjà, le numéro de la règle définissant ce paramètre s'affiche à la place de « Default value ».

Display for the 'Host check command' with rule.

En cliquant dessus, vous accédez directement à la règle.

2.2. Jeux de règles de service

Le chemin d'accès aux jeux de règles pour les services est similaire. L'accès général se fait via le menu «Setup », dans ce casSetup > Services > Service monitoring rules ou, de manière plus appropriée, via le champ de recherche.

Setup menu with focus on the 'Service monitoring rules' and the search box.

Si vous n’êtes pas encore très familier avec les noms des jeux de règles, le chemin d’accès via le service est plus simple. Tout comme pour les hôtes, il existe également une page sur laquelle tous les paramètres d’un service sont affichés et où vous avez la possibilité d’accéder directement aux jeux de règles applicables. Vous pouvez accéder à cette page de paramètres à l’aide de l’icône « icon services » dans la liste des services d’un hôte, dans la section « Configuration ». L'icône « icon check parameters » vous mène directement au jeu de règles qui définit le paramètre du plugin de supervision pour ce service.

Services list in the Setup with the icons to call the parameters.

À propos, l’icône « icon rulesets » de la page des paramètres se trouve également dans le menu d’action de chaque service, sous la rubrique « Supervision » :

Services list in the monitoring with opened action menu of a service.

2.3. Services imposés

Dans le menu « Setup », vous trouverez également une entrée intitulée « Enforced Services ». Comme son nom l’indique, vous pouvez utiliser ces jeux de règles pour forcer la création de services sur vos ordinateurs hôtes. Vous trouverez plus de détails dans l’article consacré aux services. Un petit nombre de jeux de règles — tels que « Simple checks for BIOS/Hardware errors » — ne se trouvent que dans la section des services imposés. Il s’agit de services qui ne résultent pas de la reconnaissance du service, mais qui sont créés manuellement par vos soins.

2.4. Jeux de règles utilisés

Dans chacune des listes de jeux de règles susmentionnées — que ce soit dans l’Host monitoring rules ou l’Service monitoring rules — vous pouvez utiliser l’option « Related > Used rulesets » dans les menus pour n’afficher que les jeux de règles dans lesquels vous avez défini au moins une règle. C'est souvent un moyen pratique de commencer si vous souhaitez apporter des modifications à vos règles existantes. Par ailleurs, certaines règles ont été générées par défaut lors de la création de l'instance Checkmk et font partie de la configuration d'exemple. Celles-ci sont également affichées ici.

2.5. Règles inefficaces

La supervision est une matière complexe. Il peut arriver que certaines règles ne correspondent à aucun ordinateur hôte ou service, soit parce que vous avez commis une erreur, soit parce que les ordinateurs hôtes et services correspondants ont disparu. Ces règles inactives peuvent être retrouvées dans les listes de jeux de règles susmentionnées via «Related > Ineffective rulesets» dans les menus.

2.6. Jeux de règles obsolètes

Checkmk fait l’objet d’un développement constant. Il arrive parfois que des éléments soient standardisés et que certains jeux de règles soient remplacés par d’autres. Si vous utilisez de tels jeux de règles, le moyen le plus simple de les trouver est d’effectuer une recherche de règles. Ouvrez-la via Setup > General > Rule search. Cliquez ensuite dans les menus sur « Rules > Refine search », sélectionnez « Search for deprecated rulesets » comme option pour « Deprecated » et sélectionnez « Search for rule sets that have rules configured » comme option pour « Used ». Après un clic supplémentaire sur « Search », vous obtenez l’aperçu souhaité.

Options to search for deprecated rule sets.

3. Création et édition des règles

L'image suivante montre le jeu de règles « Filesystems (used space and growth) » avec quatre règles configurées :

rules filesystem

De nouvelles règles sont créées soit à l'aide du bouton « Create rule in folder », soit en clonant une règle existante via « icon clone ». Le clonage crée une copie identique de la règle que vous pouvez ensuite modifier via « icon edit ». Une nouvelle règle créée à l'aide du bouton « Create rule in folder » apparaîtra toujours à la fin de la liste des règles, tandis qu'une règle clonée s'affichera en tant que copie sous la règle d'origine à partir de laquelle elle a été clonée.

L'ordre dans lequel les règles sont répertoriées peut être modifié à l'aide du bouton « icon drag ». Cet ordre est important car les règles situées en haut de la liste ont toujours la priorité sur celles situées plus bas.

Les règles sont stockées dans les mêmes dossiers à partir desquels vous gérez également les ordinateurs hôtes. Les autorisations des règles sont limitées aux ordinateurs hôtes de ce dossier ou de ses sous-dossiers. En cas de conflit entre des règles, celle située le plus bas dans la structure des dossiers a la priorité. De cette manière, par exemple, les utilisateurs dont les droits sont limités à certains dossiers autorisés peuvent créer des règles pour leurs ordinateurs hôtes sans affecter le reste du système. Dans les propriétés d’une règle, vous pouvez modifier son dossier et ainsi la « déplacer ».

3.1. Le mode d’analyse avec « feux tricolores »

Lorsque vous accédez à un jeu de règles pour un ordinateur hôte ou un service dans Setup, Checkmk vous affiche cet jeu de règles en mode analyse. Vous pouvez y accéder en cliquant sur l’icône « icon rulesets » dans le menu d'action « icon menu » de la section « Setup » de la liste des ordinateurs hôtes ou des services. La page suivante Effective parameters of affiche la liste des règles qui s’appliquent à l’ordinateur hôte/au service. Pour passer en mode analyse, cliquez sur le nom d’un jeu de règles pour lequel il existe au moins une règle, c’est-à-dire un jeu de règles qui n’est pas défini sur « Default value » :

The analysis mode with 'traffic lights'.

Ce mode présente deux fonctionnalités. Tout d’abord, un deuxième bouton permettant de définir des règles apparaît : « Add rule for current host » ou « Add rule for current host and service. »

Cela vous permet de créer une nouvelle règle pour laquelle l’ordinateur hôte ou le service actuel approprié est déjà présélectionné. Vous pouvez ainsi créer très facilement et directement une règle d’exception. Deuxièmement, une icône en forme de « feu tricolore » apparaît sur chaque ligne, dont la couleur indique si et/ou comment cette règle affecte l’ordinateur hôte ou le service actuel. Les conditions suivantes sont possibles :

icon hyphen

Cette règle n'a aucun effet sur l'ordinateur hôte ou le service actuel.

icon confirm

Cette règle saisit et définit un ou plusieurs paramètres.

icon checkmark orange

La règle correspond. Mais comme une autre règle située plus haut dans la hiérarchie a la priorité, cette règle est sans effet.

icon checkmark plus

Cette règle correspond. Une autre règle située plus haut dans la hiérarchie a en effet la priorité, mais ne définit pas tous les paramètres, de sorte qu’au moins un paramètre est défini par cette règle de niveau inférieur.

Dans la dernière condition — la règle correspond partiellement à une règle «icon checkmark plus» —, cela ne peut se produire que pour les jeux de règles dans lesquels une règle peut définir plusieurs paramètres en cochant des cases individuelles. Théoriquement, chaque paramètre d’une autre règle peut également être défini individuellement ici. Nous y reviendrons plus tard.

4. Caractéristiques des règles

Chaque règle se compose de trois blocs. Le premier bloc contient des informations générales sur la règle, telles que son nom. Le deuxième bloc définit ce que la règle est censée faire, c'est-à-dire les actions qu'elle doit effectuer. Le troisième bloc contient les informations relatives à l'objet de la règle, c'est-à-dire les ordinateurs hôtes ou les services auxquels elle doit s'appliquer.

4.1. Propriétés des règles

Tout ce qui figure dans le premier bloc, «Rule Properties», est facultatif et sert principalement à des fins de documentation :

General rule options.
  • L’Description sera affichée dans le tableau de toutes les règles d’un jeu de règles.

  • Le champ « Comment » peut être utilisé pour une description plus détaillée. Il n’apparaît qu’en mode édition d’une règle. Grâce à l’icône « icon insertdate », vous pouvez insérer un horodatage et votre login dans le texte.

  • L'Documentation URL est destiné à un lien vers une documentation interne que vous gérez dans un autre système (par exemple, une CMDB). Il apparaîtra sous la forme de l'icône « icon url » cliquable dans le tableau des règles.

  • La case à cocher « Do not apply this rule » vous permet de désactiver temporairement cette règle. Elle sera alors signalée comme « icon disabled » dans le tableau et sera donc inopérante.

4.2. Les paramètres définis

La deuxième section diffère pour chaque règle, mais spécifie toujours ce qui doit être fait. L'illustration suivante montre un type de règle très répandu (DB2 Tablespaces). Vous pouvez utiliser des cases à cocher pour déterminer quels paramètres individuels la règle doit définir. Comme décrit ci-dessus, Checkmk détermine quelle règle définit chaque paramètre individuel séparément. La règle de l'illustration ne définit donc qu'une seule valeur et ne modifie pas les autres paramètres :

Different rule values with a setting of one value.

Vous pouvez également contrôler les valeurs de cette règle et d’autres règles en fonction de l’heure ou du calendrier. Par exemple, vous pouvez définir des valeurs seuils de sorte que la charge de travail sur le tablespace pendant les heures de bureau diffère de celle du week-end.

Cliquez d'abord sur le bouton «Enable timespecific parameters», puis sur «Add new element» ; vous verrez alors les options dépendantes de l'heure :

View of rule values when time-dependent parameters are selected.

Sélectionnez maintenant une période de temps dans la liste «Match only during time period », puis sélectionnez les paramètres auxquels cette période de temps doit s'appliquer.

Certains jeux de règles ne définissent pas de paramètre, mais déterminent uniquement quels ordinateurs hôtes sont inclus et lesquels ne le sont pas. C'est le cas, par exemple, du jeu de règles «Hosts to be monitored », dont la plage de paramètres se présente comme suit :

Select positive or negative match.

En sélectionnant l’une des deux valeurs disponibles, vous décidez de la marche à suivre pour les ordinateurs hôtes concernés. La sélection de « Positive match (Add matching hosts to the set) » (Ajouter les ordinateurs hôtes concernés) ajoutera les ordinateurs hôtes concernés à l’ensemble des ordinateurs à soumettre à la supervision. La sélection de « Negative match (Exclude matching hosts from the set) » (Retirer les ordinateurs hôtes concernés) retirera les ordinateurs hôtes concernés de la supervision. L’expression « Positive match » (Ajouter les ordinateurs hôtes concernés) ou « Negative match » (Retirer les ordinateurs hôtes concernés) fait référence au contenu de la règle actuelle. Il ne s’agit pas d’un critère de filtrage supplémentaire pour la sélection des ordinateurs hôtes. Vous filtrez l’ensemble des ordinateurs hôtes concernés exclusivement à l’aide des expressions suivantes : « Conditions ».

4.3. Conditions

Dans la section précédente, vous avez défini comment tous les ordinateurs hôtes ou services concernés par votre règle doivent être traités. Dans la troisième section Conditions, vous définissez à présent sur quels ordinateurs hôtes ou services la règle doit s’appliquer — et donc ses effets. Il existe différents types de conditions qui doivent toutes être remplies pour que la règle prenne effet. Les conditions sont donc logiquement liées par un ET :

The conditions for a rule.

Type de condition

Vous avez ici la possibilité d’utiliser des conditions normales ainsi que des conditions prédéfinies. Celles-ci sont gérées via Setup > General > Predefined conditions. Il vous suffit ici d’attribuer des noms fixes aux correspondances de règle dont vous avez besoin régulièrement, puis de simplement y faire référence dans les règles. Vous pouvez même modifier ultérieurement le contenu de ces conditions de manière centralisée ; toutes les règles seront alors automatiquement ajustées en conséquence. Dans l’exemple suivant, la condition prédéfinie No VM a été sélectionnée :

Selecting a predefined condition for a rule.

Dossier

Avec la condition « Folder », vous définissez que la règle s’applique uniquement aux ordinateurs hôtes de ce dossier — ou d’un sous-dossier. Si le paramètre est « Main », cette condition s’applique à tous les ordinateurs hôtes. Comme décrit ci-dessus, les dossiers ont une incidence sur l’ordre d’exécution des règles. Les règles situées dans les dossiers inférieurs ont toujours la priorité sur celles des dossiers supérieurs.

Balises de l’hôte

Host tags limitent les règles aux ordinateurs hôtes selon qu’ils possèdent — ou non — des balises de l’hôte spécifiques. Ici aussi, des liens ET sont toujours utilisés. Chaque condition de balise de l’hôte supplémentaire dans une règle réduit le nombre d’ordinateurs hôtes concernés par celle-ci.

Si vous souhaitez qu’une règle s’applique à deux valeurs possibles pour une balise (par exemple, pour Criticality, à la fois Productive system et Business critical)), vous ne pouvez pas le faire avec une seule règle. Vous devrez créer une copie de la règle pour chaque variante. Parfois, une négation peut également vous aider dans ce cas. Vous pouvez également définir l’absence d’une balise comme condition (par exemple, « pas Test system »). Les balises auxiliaires constituent une autre possibilité.

Étant donné que certains utilisateurs utilisent vraiment de nombreuses balises de l’hôte, nous avons conçu cette boîte de dialogue de manière à ce que tous les groupes de balises de l’hôte ne s’affichent pas par défaut. Vous devez sélectionner spécifiquement celle qui est nécessaire pour la règle. Cela fonctionne ainsi :

  1. Dans la liste de sélection, choisissez un groupe de balises de l’hôte.

  2. Cliquez sur « Add tag condition » ; une entrée pour ce groupe sera alors ajoutée.

  3. Sélectionnez « is » ou « is not ».

  4. Sélectionnez la balise souhaitée comme valeur de comparaison.

Specifying multiple host tags in one condition.

Étiquettes

Vous pouvez également utiliser les étiquettes comme conditions dans les règles. Consultez la description des conditions dans les règles.

Ordinateurs hôtes explicites

Ce type de condition est destiné aux règles d'exception. Vous pouvez ici répertorier un ou plusieurs noms de domaine. La règle ne s'appliquera qu'à ces ordinateurs hôtes. Notez que si vous checkez la case « Explicit hosts » sans saisir d'ordinateurs hôtes, la règle sera alors totalement inefficace.

L'option « Negate » vous permet de définir une exception inversée. Vous pouvez ainsi exclure les ordinateurs hôtes explicitement nommés de la règle. Cette règle s'appliquera alors à tous les ordinateurs hôtes à l'exception de ceux mentionnés ici.

Condition for explicitly named hosts.

Important : la correspondance exacte de tous les noms de domaine saisis ici sera vérifiée. Checkmk est fondamentalement sensible à la casse pour les noms de domaine !

Vous pouvez modifier ce comportement pour utiliser des expressions régulières en faisant précéder les noms de domaine d'un tilde (~). Dans ce cas, comme toujours dans l'Setup :

  • La correspondance s'applique au début du nom de domaine.

  • La correspondance n'est pas sensible à la casse.

Un point suivi d'un astérisque (.*) dans les expressions régulières permet une séquence arbitraire de caractères après le point. L'exemple suivant montre une condition que tous les ordinateurs hôtes saisistront si leur nom contient la séquence de caractères my (ou My, MY, mY, etc.) :

Condition for host selection with wildcards.

Explicit services

Pour les règles applicables aux services, il existe un dernier type de condition qui définit une correspondance sur le nom du service, ou respectivement — pour les règles définissant des paramètres de contrôle — sur le nom de l’élément de contrôle. La légende indique précisément sur quoi la correspondance sera effectuée. Dans notre exemple, il s’agit du nom (Instance) d’un tablespace :

Condition for service selection with wildcards.

Une correspondance avec des expressions régulières s’applique ici de manière fondamentale. La séquence .*temp correspond à tous les tablespaces contenant temp, car la correspondance s’applique toujours au début du nom. Le signe dollar à la fin de transfer$ représente la fin et impose ainsi une correspondance exacte. Un tablespace portant le nom transfer2 ne correspondra donc pas.

N’oubliez pas : pour les règles concernant Explicit services, une correspondance avec le nom du service est requise (par exemple Tablespace transfer). Pour les règles de paramètre de contrôle, une correspondance avec l’élément s’applique (par exemple transfer). L’élément est en fait la partie variable du nom du service et détermine à quel tablespace il s’applique.

Il existe d'ailleurs des services sans élément. Un exemple est CPU load. Celui-ci n'existe qu'une seule fois pour chaque ordinateur hôte — aucun élément n'est donc requis. Il s'ensuit donc que les règles pour ces types de check sont également sans conditions.

5. Analyse des règles

Nous avons maintenant décrit comment les règles sont créées. Cependant, il ne suffit pas de simplement créer des règles. Comme le montre l’exemple de la section « Le système basé sur des règles est préférable ! » au début de cet article, une seule règle ne suffit pas pour obtenir le résultat souhaité. Un système plus complexe de règles séquencées logiquement est nécessaire à cet effet. C’est pourquoi il est également important de comprendre comment plusieurs règles interagissent entre elles.

5.1. Types d'analyse des règles

Dans l'introduction au concept des règles, vous avez vu que la première règle qui s'applique détermine toujours le résultat final. Ce n'est pas tout à fait exact. Il existe au total trois types d'évaluation différents :

Évaluation Action

Première règle
(The first matching rule defines the parameter. )

La première règle correspondante définit la valeur. Les règles suivantes ne sont pas évaluées. C'est le cas habituel pour les règles qui définissent des paramètres simples.

Première règle par paramètre
(Each parameter is defined by the first matching rule where that parameter is set. )

Chaque paramètre est défini par la première règle dans laquelle ce paramètre est défini (case à cocher cochée). C'est le cas habituel pour toutes les règles comportant des sous-paramètres activés à l'aide de cases à cocher.

Toutes les règles
(All matching rules will add to the resulting list. )

Toutes les règles correspondantes ajouteront des éléments à la liste résultante. Ce type est utilisé, par exemple, lors de la mise en correspondance d'ordinateurs hôtes et de services avec des groupes d'hôtes, de services et de contacts.

Les informations sur la manière dont la règle est évaluée s’affichent pour chaque jeu de règles juste en dessous des menus :

For each rule set the applicable rule evaluation is shown directly below the menu bar.

5.2. Explication pratique de l’évaluation des règles

Maintenant, comment cela s’évalue-t-il concrètement si l’on a créé plusieurs règles destinées à être appliquées à plusieurs ordinateurs hôtes ? Pour illustrer cela, prenons un exemple simple :

Supposons que vous disposiez de trois ordinateurs hôtes et que vous souhaitiez définir des notifications périodiques différentes pour chacun d'entre eux (ainsi que pour tous les ordinateurs hôtes ajoutés à l'avenir) à l'aide de la règle « Periodic notifications during host problems » :

  1. Règle A : Ordinateur hôte-1 toutes les 10 minutes

  2. Règle B : Ordinateur hôte toutes les 20 minutes

  3. Règle C : tous les ordinateurs hôtes toutes les 30 minutes (règle générale couvrant à la fois l'ordinateur hôte 3 et tous les ordinateurs hôtes ajoutés à l'avenir).

Si vous activez maintenant votre configuration, Checkmk parcourt la chaîne de règles de haut en bas. Il en résulte l'évaluation suivante :

  • La règle A s'applique à l'ordinateur hôte 1. La notification pour l'ordinateur hôte 1 a lieu toutes les 10 minutes. Le processus pour l'ordinateur hôte 1 est terminé.

  • La règle A ne s'applique pas à l'ordinateur hôte 2. Nous passons à la règle B. Celle-ci s'applique à l'ordinateur hôte 2, de sorte que l'ordinateur hôte 2 est notifié toutes les 20 minutes. Le processus de l'ordinateur hôte 2 est terminé.

  • La règle A ne s'applique pas à l'ordinateur hôte 3, pas plus que la règle B. Mais la règle C correspond et est appliquée : la notification pour l'ordinateur hôte 3 a lieu toutes les 30 minutes. Cela achève également le traitement pour l'ordinateur hôte 3.

Veuillez noter ici : Étant donné que le principe « La première règle correspondante définit le paramètre » s'applique à ce jeu de règles, le traitement de la chaîne de règles s'arrête toujours après la première correspondance. L'ordre des règles est donc déterminant pour le résultat ! Cela devient évident lorsque l'ordre des règles est modifié et que les règles B et C sont inversées :

  1. Règle A : Ordinateur hôte-1 toutes les 10 minutes

  2. Règle C : tous les ordinateurs hôtes toutes les 30 minutes

  3. Règle B : Ordinateur hôte toutes les 20 minutes

Si l’on réexécute maintenant la chaîne de règles de haut en bas pour chaque ordinateur hôte, le résultat change également : La règle C s’applique désormais non seulement à l’ordinateur hôte 3, mais aussi à l’ordinateur hôte 2, de sorte que la notification pour les deux ordinateurs hôtes a lieu toutes les 30 minutes. Le traitement est ainsi terminé pour les deux ordinateurs hôtes. Bien que la règle B soit pertinente pour l'ordinateur hôte 2, et qu'elle ait même été écrite pour cet ordinateur hôte, elle ne sera plus évaluée ni appliquée. En mode analyse, le processus se présente alors comme suit :

Analysis mode for Host-2 after swapping rules B and C.
Pour l'ordinateur hôte 2, la règle finale avec la sphère jaune est également saisie, mais n'est pas appliquée

En combinant les différents paramètres expliqués dans cet article — tout en gardant à l'esprit l'ordre de traitement correct —, vous pouvez les utiliser pour créer des chaînes de règles complexes pour des ensembles d'ordinateurs hôtes entiers.


Last modified: Mon, 15 Dec 2025 13:48:36 GMT via commit f16d42b23
Sur cette page