Les commandes
Définition
Les commandes de contrôle sont utilisées par le moteur de supervision pour contrôler le statut d'un hôte ou d'un service. Les commandes de contrôle exécutent des plugins. Une commande de contrôle est utilisée dans un modèle d'hôte ou de service. Si ces modèles sont appliqués à un hôte ou un service, le script appelé par la commande est exécuté quand l'hôte ou le service est contrôlé, avec les options que vous avez définies.
Le plupart des commandes sont fournies par les connecteurs de supervision installés, et sont prêtes à l'emploi. Cependant si ces commandes ne répondent pas à vos besoins (par exemple, si elles ont trop ou pas assez d'arguments), vous pouvez en créer de nouvelles (commandes personnalisées). Vous devez créer une commande par plugin et par mode. Les commandes personnalisées sont une fonctionnalité avancée.
Les commandes peuvent être configurées à la page Configuration > Commands > Checks.
Par défaut, seules les commandes personnalisées (c'est-à-dire créées par l'utilisateur) sont affichées. Toutes les commandes fournies par les connecteurs de supervision sont en lecture seule ("verrouillées") et sont masquées. Cochez la case "éléments verrouillés" pour afficher ces commandes.
Créer une commande personnalisée
Allez à la page Configuration > Commandes > Contrôles.
Cliquez sur le bouton Ajouter.
Remplissez les champs suivants :
Nom de commande : nom de la commande tel qu'il apparaîtra dans la liste des commandes dans les forumlaires de création de modèles d'hôtes ou de services.
Ligne de commande : la commande qui sera exécutée quand un contrôle sera effectué. La syntaxe est celle de Nagios. Spécifiez :
- l'application ou le script exécuté par la commande (chemin et nom de fichier). Pour des plugins Centreon ou Nagios, utilisez une variable afin que Centreon trouve le chemin du répertoire des pugins quel que soit l'OS (la variable est définie à la page Configuration > Collecteurs > Ressources page). Si vous utilisez vos propres plugins, spécifiez le chemin du répertoire où vous avez placé les plugins.
- le mode du plugin à utiliser.
- tout paramètre que vous voulez passer au plugin dans ce mode. Pour les plugins Centreon, reportez-vous à la documentation du plugin dans la section Connecteurs de supervision.
- Vous pouvez utiliser des macros (macros d'hôtes ou de services) afin de rendre votre commande plus générique, mais ce n'est pas obligatoire. Le nom de la macro apparaîtra dans le formulaire de configuration de l'hôte ou du service afin que vous puissiez lui attribuer une valeur spécifique pour chaque hôte ou service avec lequel vous l'utiliserez.
Description des macros : saisissez une description pour les macros personnalisées. Cette description sera visible lorsque vous utiliserez la commande dans le formulaire de configuration d'hôte ou de service.
Connecteurs: utilisez le connecteur Perl ou le connecteur SSH afin de réduire la comsommation de ressources du plugin. Le connecteur Perl peut être utilisé avec toutes les commandes, sauf check_icmp et check_nrpe.
Modèle de graphique : liez la commande à un modèle de graphique.
Cliquez sur Sauvegarder. La commande apparaît maintenant dans la liste Commande de vérification dans les formulaires de configuration de modèles d'hôtes ou de services.
Utiliser des commandes personnalisées
Une fois votre commande personnalisée créée :
- Liez la commande au modèle d'hôte ou de service désiré : utilisez le champ Commande de vérification dans les formulaires de configuration de modèles d'hôtes ou de services.
- Liez ce modèle d'hôte ou de service à l'hôte ou au service désiré : dans le formulaire de configuration de l'hôte ou du service, sélectionnez le modèle auquel vous avez lié la commande.
- Renseignez les valeurs correctes pour les macros dans le formulaire de configuration de l'hôte ou du service.
- Déployez la configuration. L'hôte ou le service apparaît à la page Statut des ressources. Vous pouvez voir la commande personnalisée dans le panneau de détails de l'hôte ou du service, avec les valeurs correctes pour les macros. Une fois le contrôle exécuté, vous pouvez également voir le message de sortie à cet endroit.
- Ajoutez la commande à la liste blanche de commandes du poller qui exécutera le contrôle.
Liste blanche de commandes
Pour des raisons de sécurité, Centreon Cloud inclut une liste blanche préremplie, qui définit quelles commandes sont autorisées à être exécutées par le moteur de supervision de chaque collecteur. Par défaut, il autorise toutes les commandes fournies par les connecteurs de supervision. Si vous créez des plugins personnalisés avec vos propres commandes personnalisées, ou bien si vous utilisez un plugin de la communauté, vous devrez ajouter les commandes utilisées par ceux-ci à la liste blanche de commandes du collecteur qui exécutera le plugin.
Ajouter une commande à la liste blanche
Connectez-vous en root au collecteur qui exécutera la commande.
Éditez (ou créez) le fichier suivant : /etc/centreon-engine-whitelist/my-whitelist.yml. (Vous pouvez créer autant de fichiers de whitelists que vous souhaitez dans ce répertoire.)
Utilisez une regex pour définir les comandes autorisées. Exemple :
whitelist:
regex:
- \/opt\/my_plugins\/my_custom_plugin\.py .*
Utilisez .*
afin d'inclure tous les arguments dans la regex.
Le .*
à la fin de la regex lui permet de gérer tout argument qu'elle contiendrait. Attention, le format doit être strictement identique à celui ci-dessus (cela inclut les indentations).
Si vous n'avez pas autorisé votre commande dans la liste blanche du collecteur, cela vous sera signalé dans la colonne Informations de la page Statut des ressources.
Connecteurs d'optimisation
Connecteur Perl
Le connecteur Centreon Perl Connector est un logiciel Centreon gratuit, disponible sous licence Apache Software License version 2 (ASL 2.0). Utilisé avec Centreon Engine, il accélère l'exécution des scripts Perl.
Installation
Exécutez la commande suivante en tant qu'utilisateur privilégié :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 11
dnf install centreon-connector-perl
dnf install centreon-connector-perl
apt install centreon-connector-perl
Connecteur SSH
Le connecteur Centreon SSH Connector est un logiciel Centreon gratuit, disponible sous licence Apache Software License version 2 (ASL 2.0). Utilisé avec Centreon Engine, il accélère l'exécution des contrôles faits via SSH.
Installation
Exécutez la commande suivante en tant qu'utilisateur privilégié :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 11
dnf install centreon-connector-ssh
dnf install centreon-connector-ssh
apt install centreon-connector-ssh