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 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 plus petites. 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 l'exemple de la configuration des seuils de WARN et de CRIT dans la surveillance des systèmes de fichiers. Avec une configuration orientée base de données, pour chaque système de fichiers, il faudrait entrer une ligne dans un tableau :

Ordinateur hôte Système de fichiers WARN 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, il y a souvent des centaines ou des milliers de systèmes de fichiers. Des outils comme le copier-coller et les opérations en masse peuvent simplifier le travail, mais le problème de base demeure : comment identifier et mettre en œuvre une directive standard ? Quelle est la règle générale ? Comment les valeurs seuils pour les futurs ordinateurs hôtes devraient-elles être prédéfinies ?

1.2. Une configuration basée sur des règles, c'est mieux !

Une configuration basée sur des règles consiste cependant en une directive ! Nous allons remplacer la logique du tableau ci-dessus par un jeu 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 à chaque système de fichiers, le résultat sera les mêmes valeurs seuils que dans le tableau ci-dessus :

  1. Les systèmes de fichiers avec le point de montage /var/trans ont un seuil de 100/100 %.

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

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

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

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

  • La directive est clairement reconnaissable 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.

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

  • L'incorporation de nouveaux hôtes est simple et moins sujette aux erreurs.

En résumé : moins de travail - plus de qualité ! C'est pourquoi vous trouverez dans Checkmk une multitude de règles pour définir les hôtes et les services - comme les seuils, les paramètres de surveillance, les responsabilités, les notifications, la configuration des agents et bien d'autres choses encore.

1.3. Types de jeux de règles

Dans le cadre de l'installation, 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 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 hôtes sont UP.

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

  • JVM memory levels- définit des valeurs seuils et d'autres paramètres pour la surveillance de la charge de travail des machines virtuelles (VM) Java.

Chaque jeu de règles est responsable soit des hôtes, soit des services, mais jamais des deux. Si un paramètre peut être défini à la fois pour les hôtes et 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.

Certains jeux de règles ne définissent pas à proprement parler de paramètres, mais créent plutôt des services. Les règles relatives aux contrôles actifs, que vous trouverez à l'adresse Setup > Services > HTTP, TCP, Email, …​, en sont un exemple. Elles vous permettent, par exemple, de configurer un contrôle HTTP pour des hôtes spécifiques. Ces règles sont classées comme des règles d'hôte, car si un tel contrôle existe sur un hôte, il est considéré comme une propriété de l'hôte.

D'autres jeux de règles contrôlent l'identification des services. Ils vous permettent, par exemple, via Windows service discovery, de définir les services Windows pour lesquels des checks automatiques doivent être créés s'ils sont trouvés sur un système. Il s'agit également de règles d'hôte.

La plupart des jeux de règles déterminent des paramètres pour des plugins de check spécifiques, comme par exemple Network interfaces and switch ports. 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 peuvent être utilisés qu'avec les services basés sur ce plugin. Si vous ne savez pas quel jeu de règles est responsable de quel service, vous pouvez naviguer directement via le service jusqu'à la règle correspondante. La marche à suivre sera expliquée plus loin.

1.4. Balise de l'hôte

Une chose que nous n'avons pas mentionnée jusqu'à présent : dans l'exemple ci-dessus, il existe une règle pour tous les systèmes de test. Où est-il défini qu'un hôte est un système de test ?

Dans Checkmk, quelque chose comme un système de test est connu sous le nom de balise hôte. Vous pouvez voir quelles sont les balises 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 des balises aux hôtes se fait soit explicitement dans les propriétés de l'hôte, soit par héritage dans la hiérarchie des dossiers. La manière de procéder est expliquée dans l'article sur les hôtes. La manière de créer vos propres balises et la nature des balises prédéfinies sont expliquées dans l'article sur les balises d'hôte.

2. Déterminer les jeux de règles corrects

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

Si vous souhaitez créer une nouvelle règle définissant un paramètre pour un ou plusieurs ordinateurs hôtes, il existe plusieurs moyens d'y parvenir. Le moyen direct consiste à passer par le groupe correspondant dans le menu setup, en l'occurrence Setup > Hosts > Host monitoring rules. Dans la vue suivante, tous les jeux de règles pertinents pour la surveillance des hôtes sont affichés :

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

Dans la vue suivante, tous les jeux de règles pertinents pour la surveillance des hôtes sont affichés. Les nombres qui suivent les noms de ces jeux de règles indiquent le nombre de règles qui ont déjà été définies :

The 'Host monitoring rules' in the Setup menu.

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

Extract of the result of a search for host checks.

Vous pouvez également utiliser l'élément de menu Hosts > Effective parameters dans les propriétés d'un ordinateur hôte existant dans le menu de configuration ou l'icône 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 affectent l'hôte, mais aussi le paramètre actuellement en vigueur pour cet hôte. Dans l'exemple de Host check command, aucune règle ne s'applique à l'hôte indiqué, et il est donc défini sur la valeur par défaut Smart PING (only with Checkmk Micro Core) des éditions commerciales. Dans l'exemple de Raw Edition, 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 voir le jeu de règles complet.

Si une règle existe déjà, le numéro de la règle définissant ce paramètre apparaît à 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 pour les services

Le chemin d'accès aux jeux de règles pour les services est similaire. L'accès général se fait par le menu Setup, en l'occurrence Setup > Services > Service monitoring rulesou, de manière plus appropriée, par 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 familiarisé avec les noms des ensembles de règles, le chemin via le service est plus simple. Comme pour les hôtes, il existe également une page dans laquelle tous les paramètres d'un service sont affichés et où vous avez la possibilité d'accéder directement aux ensembles de règles applicables. Vous pouvez accéder à cette page de paramètres à l'aide de l'icône dans la liste des services de l'hôte dans la configuration. L'icône permet d'accéder au chemin d'accès qui définit les paramètres du plugin de surveillance pour ce service.

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

Par ailleurs, l'icône de la page de paramètres se trouve également dans la surveillance, dans le menu d'action de chaque service :

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

2.3. Services renforcés

Dans le menu Setup, vous trouverez également une entrée pour Enforced Services. Comme le nom le suggère, vous pouvez utiliser ces jeux de règles pour forcer la création de services sur vos hôtes. Des détails peuvent être trouvés dans l'article sur les services. Un petit nombre de jeux de règles - tels que Simple checks for BIOS/Hardware errors- ne peuvent être trouvés que dans les services forcés. Ce sont des services qui ne résultent pas de la reconnaissance du service, mais qui sont créés manuellement par vous.

2.4. Jeux de règles utilisés

Dans chacune des listes de jeux de règles susmentionnées - que ce soit dans Host monitoring rules ou Service monitoring rules- vous pouvez utiliser Related > Used rulesets dans la barre de menu, pour afficher uniquement les jeux de règles dans lesquels vous avez défini au moins une règle. C'est souvent une façon pratique de commencer si vous voulez faire des ajustements à vos règles existantes. Incidemment, certaines des règles auront été générées par défaut lors de la création du site Checkmk et font partie de l'exemple de configuration. Elles sont également affichées ici.

2.5. Règles inefficaces

La surveillance est un sujet complexe. Il peut arriver que certaines règles ne saisissent pas un seul hôte ou service - soit parce que vous avez fait une erreur, soit parce que les hôtes et services correspondants ont disparu. Ces règles inefficaces peuvent être trouvées dans les listes de jeux de règles susmentionnées via Related > Ineffective rulesets dans la barre de menus.

2.6. Jeux de règles obsolètes

Checkmk est en développement constant. Il arrive que des choses soient standardisées 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 retrouver est de faire une recherche de règles. Ouvrez-la via Setup > General > Rule search. Cliquez ensuite dans la barre de menus sur Rules > Refine search, sélectionnez Search for deprecated rulesets comme option pour Deprecatedet 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 de règles

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

rules filesystem

Lesnouvelles règles sont créées soit à l'aide du bouton Create rule in folder, soit en clonant une règle existante avec . Le clonage crée une copie identique de la règle que vous pouvez ensuite modifier avec . 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 sera affichée en tant que copie sous la règle originale à partir de laquelle elle a été clonée.

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

Les règles sont stockées dans les mêmes dossiers que ceux à partir desquels vous gérez les hôtes. Les pouvoirs des règles sont limités aux hôtes de ce dossier ou des sous-dossiers. En cas de règles conflictuelles, la règle située plus bas dans la structure du dossier est prioritaire. De cette façon, par exemple, les utilisateurs dont les droits sont limités à certains dossiers autorisés peuvent créer des règles pour leurs 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 "relocaliser".

3.1. Le mode d'analyse avec les "feux de signalisation

Lorsque vous accédez à un jeu de règles pour un hôte ou un service dans Setup, Checkmk vous montrera ce jeu de règles en mode analyse. Vous pouvez y accéder en cliquant sur l'icône du menu d'action dans Setup dans la liste des hôtes ou des services. La page Effective parameters of suivante montre la liste des règles qui s'appliquent à l'hôte/au service. Pour accéder au 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 qui n'est pas défini dans Default value. Ce mode a deux fonctions :

The analysis mode with 'traffic lights'.

Ce mode présente deux caractéristiques : tout d'abord, un deuxième bouton permettant de définir des règles apparaît -Add rule for current host bzw. Add rule for current host and service.

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

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

Cette règle saisit un ou plusieurs paramètres.

La règle saisit. Mais parce qu'une autre règle plus élevée dans la hiérarchie a la priorité, cette règle est inefficace.

Cette règle est valide. Une autre règle plus élevée dans la hiérarchie est en fait prioritaire mais ne définit pas tous les paramètres, de sorte qu'au moins un paramètre est défini par cette règle inférieure.

La dernière condition - la règle est une correspondance partielle - ne peut se produire que pour les ensembles de règles dans lesquels une règle peut définir plusieurs paramètres en sélectionnant des cases à cocher individuelles. En théorie, 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, comme 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 exécuter. Le troisième bloc contient des informations sur l'application de la règle, c'est-à-dire sur quels ordinateurs hôtes ou services elle doit être appliquée.

4.1. Propriétés des règles

Tout ce qui se trouve dans le premier bloc, Rule Properties, est facultatif et sert principalement de documentation :

General rule options.
  • Le champ Description sera affiché dans le tableau de toutes les règles d'un jeu de règles.

  • Le champ Comment peut être utilisé pour une description plus longue. Il n'apparaît qu'en mode édition d'une règle. Via l'icône, vous pouvez insérer un horodatage et votre login dans le texte.

  • Le champ Documentation URL est destiné à un lien vers une documentation interne que vous maintenez dans un autre système (par exemple, une CMDB). Il apparaîtra sous la forme d'une icône cliquable dans le tableau des règles.

  • La case à cocher Do not apply this rule vous permet de désactiver temporairement cette règle, qui sera alors signalée comme dans le tableau et donc inefficace.

4.2. Les paramètres définis

La deuxième section est différente pour chaque règle, mais précise 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 les paramètres individuels que 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 laisse tous les autres paramètres inchangés :

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 sur une base temporelle/calendaire. Par exemple, vous pouvez définir des valeurs seuils de sorte que l'utilisation du tablespace pendant les heures de bureau diffère de celle des week-ends.

Cliquez d'abord sur le bouton Enable timespecific parameters, puis sur Add new element, vous verrez apparaître les options dépendant du temps :

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 doit s'appliquer.

Certains jeux de règles ne définissent pas de paramètre, mais décident seulement quels sont les hôtes qui sont dans le système et ceux qui n'y sont pas. Un exemple est le 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 ce qu'il faut faire avec les hôtes concernés. En sélectionnant Positive match (Add matching hosts to the set), vous ajoutez les hôtes concernés à l'ensemble des hôtes à surveiller. En sélectionnant Negative match (Exclude matching hosts from the set), vous retirez les hôtes concernés de la surveillance. Les valeurs Positive match ou Negative match font 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 hôtes. Vous filtrez le jeu de règles des hôtes concernés exclusivement à l'aide de la valeur suivante : Conditions.

4.3. Conditions

Dans la section précédente, vous avez défini comment tous les hôtes ou services affectés par votre règle doivent être traités. Dans la troisième section Conditions, vous définissez maintenant quels hôtes ou services doivent être affectés par la règle - 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. Ces dernières sont gérées via Setup > General > Predefined conditions. Il vous suffit de donner des noms fixes aux correspondances de règles dont vous avez besoin à plusieurs reprises et d'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 et toutes les règles seront automatiquement adapté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 ne s'applique qu'aux hôtes de ce dossier - ou d'un sous-dossier. Si le paramètre est Main, cette condition s'applique à tous les hôtes. Comme décrit ci-dessus, les dossiers ont un effet sur l'ordre de la règle. Les règles des dossiers inférieurs ont toujours la priorité sur les règles supérieures.

Balise de l'hôte

Host tags restreignent les règles aux hôtes selon qu'ils possèdent - ou non - des balises d'hôte spécifiques. Ici aussi, les liens ET sont toujours utilisés. Toute autre condition de balise d'hôte dans une règle réduit le nombre d'hôtes affectés par la règle.

Si vous souhaitez qu'une règle s'applique à deux valeurs possibles pour un balise (par exemple, pour Criticality à la fois Productive system et Business critical)), vous ne pouvez pas le faire avec une seule règle. Vous aurez besoin d'une copie de la règle pour chaque variante. Parfois, une négation peut également être utile ici. Vous pouvez également définir l'absence d' un balise comme condition (par exemple, not Test system). Les balises dites auxiliaires sont une autre possibilité.

Comme certains utilisateurs utilisent vraiment beaucoup de balises hôte, nous avons conçu ce dialogue de manière à ce que tous les groupes d'hôtes ne soient pas affichés par défaut. Vous devez sélectionner spécifiquement celui qui est nécessaire pour la règle. Cela fonctionne comme suit :

  1. Dans la case de sélection, choisissez un groupe de balise hôtes.

  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. Lisez 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 y répertorier un ou plusieurs noms d'hôte. La règle ne s'appliquera qu'à ces hôtes. Notez que si vous cochez la case Explicit hosts mais que vous n' indiquez aucun hôte, la règle sera totalement inefficace.

L'option Negate vous permet de définir une exception inversée. Vous pouvez ainsi exclure de la règle les hôtes dont le nom est explicite. La règle s'appliquera alors à tous les hôtes , à l'exception de ceux mentionnés ici.

Condition for explicitly named hosts.

Important: Tous les noms d'hôtes entrés ici seront vérifiés pour la congruence exacte. Checkmk est fondamentalement sensible à la casse dans les noms d'hôtes !

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

  • La saisie est appliquée au début du nom de l'ordinateur.

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

Un point-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 selon laquelle tous les hôtes dont les noms contiennent la séquence de caractères my (ou My, MY, mY etc.) seront saisis :

Condition for host selection with wildcards.

Services explicites

Pour les règles applicables aux services, il existe un dernier type de condition qui définit une correspondance sur le nom d'un service ou, pour les règles qui définissent des paramètres de contrôle, sur le nom de l'élément à contrôler. La correspondance exacte est indiquée dans la légende. 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 fondamentalement ici. La séquence .*temp saisit tous les tablespaces contenant temp car la correspondance est toujours appliquée au début du nom. Le signe du dollar à la fin de transfer$ représente la fin et force 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 relatives aux paramètres de check, 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 correspond.

Il existe accessoirement des services sans élément, comme par exemple CPU load. Ce service n'existe qu'une seule fois pour chaque hôte - aucun élément n'est donc requis. Il s'ensuit que les règles relatives à ces types de contrôles sont également sans conditions.

5. Analyse des règles

Nous venons de décrire la manière dont les règles sont créées. Toutefois, il ne suffit pas de créer des règles. Comme le montre l'exemple de la section " Mieux vaut des règles !" 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 logiquement séquencées est nécessaire. C'est pourquoi il est également important de comprendre comment plusieurs règles interagissent.

5.1. Types d'analyse des règles

Dans l'introduction au concept de 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 vrai. 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 saisie définit la valeur. Les règles suivantes ne sont pas évaluées. C'est le cas normal des 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). C'est le cas normal pour toutes les règles dont les sous-paramètres sont activés par des cases à cocher.

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

Toutes les règles de correspondance ajouteront des éléments à la liste résultante. Ce type de règle est utilisé, par exemple, pour saisir des hôtes et des services dans des groupes d'hôtes, de services et de correspondances.

Les informations relatives à l'évaluation de la règle sont affichées pour chaque jeu de règles directement sous la barre de menus :

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

5.2. L'évaluation des règles dans la pratique expliquée

Maintenant, comment sera évaluée concrètement la règle si l'on a créé plusieurs règles qui doivent être appliquées à plusieurs hôtes ? Pour illustrer cela, prenons un exemple simple :

Admettons que vous ayez trois hôtes et que vous souhaitiez définir des notifications différentes répétées périodiquement pour chacun d'entre eux (ainsi que pour tous les hôtes ajoutés à l'avenir) à l'aide de la règle Periodic notifications during host problems:

  1. Règle A : Ordinateur 1 toutes les 10 minutes

  2. Règle B : Host-2 toutes les 20 minutes

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

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

  • La règle A s'applique à l'hôte 1. La notification pour l'hôte 1 a lieu toutes les 10 minutes, ce qui termine le processus pour l'hôte 1.

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

  • La règle A ne s'applique pas à l'hôte 3, ni la règle B. Mais la règle C s'y prête et est appliquée : la notification pour l'hôte 3 se fait toutes les 30 minutes. Le processus est également terminé pour l'hôte 3.

Veuillez noter ici que, puisque 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 se termine toujours après la première correspondance. L'ordre des règles est donc déterminant pour le résultat ! Cela apparaît clairement lorsque l'ordre des règles est modifié et que les règles B et C sont interverties :

  1. Règle A : Ordinateur 1 toutes les 10 minutes

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

  3. Règle B : l'hôte 2 toutes les 20 minutes

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

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

En combinant les différents paramètres expliqués dans cet article - en gardant à l'esprit l'ordre de processus correct - vous pouvez les utiliser pour construire des chaînes de règles complexes pour des complexes d'hôtes entiers.

Sur cette page