Menu


Stacks Image 36557
Nous allons découvrir dans ce tutoriel, le moyen de découvrir automatiquement les lecteurs de disque (unité logique windows) des serveurs Windows avec NSClient. Pour cela nous aurons besoin du module auto-discovery de Centreon, des plugins pack et du plugin nrpe. Cette solution fonctionne avec les version 20.10 et 21.04.

1 - Prérequis

Pour tester le fonctionnement de cette découverte, nous aurons besoin d'une plateforme Centreon, au minimum IT Edition, pour activer le module auto-discovery. Il nous faudra aussi un serveur Windows, au minimum 2008 R2, équipé de l'agent NSClient adapté par Centreon.

1.1 - Module Auto-discovery

Pour activer le module Auto-discovery, il vous faudra une plateforme Centreon réalisée avec l'ISO ou les repo Centreon sur CentOS, RED-HAT ou Oracle Linux. Vous devez, au minimum, vous enregistrer chez Centreon pour obtenir votre token pour l'édition IT.
Stacks Image 36561
Vérification du token sur la plateforme
En sélectionnant le menu Administration -> Extensions -> Manager, vous pouvez vérifier l'activation du module Auto Dicovery et du module Plugin Pack Manager.
Stacks Image 36566
Vérification des modules

1.2 - Plugin Packs

Activez au minimum, les plugins-pack suivants indiqués en rouge sur l'écran ci-dessous.
Stacks Image 36573
Plugin pack installés

1.3 - NRPE

Il faut installer le plugin NRPE, vous avec le choix entre la version 2 et la version 3. Certaines DSI interdisent la version 2 moins sécurisée. Si vous optez pour la version 3, il faudra faire des adaptations pour les templates d'hôtes.
yum install centreon-nrpe-plugin centreon-nrpe3-plugin -y
Les plugins NRPE s'installent dans le dossier /usr/lib/nagios/plugins mais les templates Centreon fonctionne avec la macro ressource $USER1$ qui pointe vers /usr/lib64/nagios/plugins. Heureusement, il existe une commande bien pratique, les liens symboliques ! Lançons les commandes suivantes pour réaliser un lien en le dossier /usr/lib64/nagios/plugins et les exécutables se trouvant dans /usr/lib/nagios/plugins.
ln -s /usr/lib/nagios/plugins/check_centreon_nrpe /usr/lib64/nagios/plugins/check_centreon_nrpe
ln -s /usr/lib/nagios/plugins/check_centreon_nrpe3 /usr/lib64/nagios/plugins/check_centreon_nrpe3
Stacks Image 36716
Distribution Oracle Linux 8
Il existe seulement la version 3.2.1 de NRPE package par Centreon et la version 4.0.3 de Nagios
dnf install -y nagios-plugins-nrpe centreon-nrpe3-plugin

Les paquets installés
rpm -qa | grep nrpe
nagios-plugins-nrpe-4.0.3-6.el8.x86_64
centreon-nrpe3-plugin-3.2.1-9.el8.x86_64

les deux fichiers se trouvent directement dans le bon dossier
/usr/lib64/nagios/plugins/check_centreon_nrpe3
/usr/lib64/nagios/plugins/check_nrpe

La version 2 n'existe plus.

1.4 - NSClient

Les serveurs Windows devront être équipé de l'agent NSClient préparé par Centreon. Vous pouvez l'obtenir en cliquant sur l'aide du plugin pack Windows NRPE. Il y a un lien prévu pour télécharger la version 32 bits et 64 bits.
Stacks Image 36588
Aide du plugin
Une fois l'installation de l'agent NSClient installé, vous devriez avoir cette configuration avec l'executable centreon_plugins.exe contenant les plugins Centreon.
Stacks Image 36593
Installation de l'agent NSClient

2 - Configuration

2.1 - Commandes de découverte

Commençons par les commandes de découverte.

2.1a - Découverte des macros

Nous allons créer la commande OS-Windows-NSClient05-Disks-NRPE-macro. Cette commande permet de récupérer les attributs permettant le fonctionnement de la règle de découverte. Le plugin centreon utilisé n'existant pas sur le Central, nous prendrons un serveur Windows de référence (IP 192.168.1.234) avec la commande suivante :
/usr/lib64/nagios/plugins/check_centreon_nrpe -H 192.168.1.234 -p 5666 -t 30 -u -m 8192 -c check_centreon_plugins -a 'os::windows::local::plugin' 'list-storages'  ' --disco-format'
<?xml version="1.0" encoding="utf-8"?>
<data>
  <element>name</element>
  <element>size</element>
  <element>free</element>
  <element>type</element>
  <element>desc</element>
</data>nrpe
ln -s /usr/lib/nagios/plugins/check_centreon_nrpe3 /usr/lib64/nagios/plugins/check_centreon_nrpe3
Stacks Image 36722
Version nrpe 3
Il faudra adapter la commande pour la rendre compatible avec la version 3 avec cette commande
/usr/lib64/nagios/plugins/check_centreon_nrpe3 -H 192.168.1.234 -p 5666 -t 30 -u -2 -P 8192 -c check_centreon_plugins -a 'os::windows::local::plugin' 'list-storages'  ' --disco-format'

Adaptez les exemples suivants en conséquence.
Sélectionnons le menu  Configuration > Commands > Discovery et ajoutons la commande OS-Windows-NSClient05-Disks-NRPE-macro
Stacks Image 36614
Commande OS-Windows-NSClient05-Disks-NRPE-macro
Ligne de commande
$USER1$/check_centreon_nrpe -H 192.168.1.234 -p 5666 -t 30 -u -m 8192 -c check_centreon_plugins -a 'os::windows::local::plugin' 'list-storages'  ' --disco-format'

2.1b - Découverte des lecteurs de disque

Nous allons créer la commande OS-Windows-NSClient05-Disks-NRPE-discover. Cette commande permet de récupérer les lecteurs de disque en utilisant la règle de découverte en passant par l'agent NSClient. Sélectionnons le menu  Configuration > Commands > Discovery et ajoutons la commande OS-Windows-NSClient05-Disks-NRPE-discover.
Stacks Image 36619
Commande OS-Windows-NSClient05-Disks-NRPE-discover
Ligne de commande
$USER1$/$_HOSTNRPECLIENT$ -H $HOSTADDRESS$ -p $_HOSTNRPEPORT$ -t $_HOSTNRPETIMEOUT$ $_HOSTNRPEEXTRAOPTIONS$ -c check_centreon_plugins -a 'os::windows::local::plugin' 'list-storages'  ' --disco-show'

2.2 - Règle de découverte

Nous allons créer la règle de découverte OS-Windows-NRPE-Disk-Name. Cette commande permet de récupérer les lecteurs de disque en utilisant cette règle pour ajouter les services à un hôte. Sélectionnons le menu  Configuration > Services > Rules et ajoutons la règle OS-Windows-NRPE-Disk-Name.
Stacks Image 36628
Règle OS-Windows-NRPE-Disk-Name
Il faut ajouter les paramètres obligatoires suivants :
Rule Name : OS-Windows-NRPE-Disk-Name
Command Macro : OS-Windows-NSClient05-Disks-NRPE-macro
Command Discover : OS-Windows-NSClient05-Disks-NRPE-discover
Service Template : OS-Windows-NSClient05-Disks-NRPE-custom
Service display name : Disk-$name$
Host Template : OS-Windows-NSClient05-NRPE-custom
Désactivez la règle pour éviter quelle soit appliquer automatiquement par Centreon-Gorgone.

2.2a - Onglet Inclusions / Exclusions & Macros

Il faut inclure le caractère du lecteur de disque à la macro DRIVE en utilisant la macro de règle $name$ et on exclura les lecteurs optiques identifié par compactDisc avec la macro $type$.
Stacks Image 36657
Inclusions et Exclusions
Il faut ajouter les paramètres suivants :
Exclusion : $type$ -> compactDisc
Insertion Macro dans le service : DRIVE -> $name$
Stacks Image 36719
Exclusion supplémentaire
Vous pouvez aussi exclure les lecteurs de disquette.
Exclusion : $type$ -> removableDisk
Cexclusion

2.2b - Onglet Advanced

L'option la plus délicate à comprendre, la modification des macros. Les noms des lecteurs peuvent comporter le caractère : posant problème lors de l'insertion des services. Avec une règle regex, on peut supprimer ce caractère.
Stacks Image 36660
Options avancées
Il faut ajouter les modificateurs suivants
@SERVICENAME@ : ^Disk-(.).* -> Disk-$1
$name$ : ^(.).* -> $1
$1 est le résultat de la regex

3 - Fonctionnement

Voici un exemple de fonctionnement sur un serveur Windows 2016.

3.1 - Scan Manuel

Pour effectuer un scan manuel, votre hôte doit être configuré avec le bon template d'hôte.
Stacks Image 36683
exemple avec l'hôte win01ad
Sélectionnez Configuration > Services > Scan. Saisissez le nom de l'hôte et choisissez la règle OS-Windows-NRPE-Disk-Name. Cliquez sur scan.
Stacks Image 36688
scan manuel
Les lecteurs de disque sont découverts. Il suffit de cocher le ou les lecteurs de disque puis cliquer sur Save pour ajouter ces services unitaires.
Stacks Image 36691
Découverte des lecteur de disque
On peut vérifier la cohérence par rapport au serveur. Le lecteur optique et le lecteur réseau ne sont pas ajoutés.
Stacks Image 36698
Les lecteurs côté Windows

3.2 - Vérification de l'ajout des services

Vérification de l'ajout des services unitaires au serveur Win01AD.
Stacks Image 36703
Ajout des services à l'hôte Win01AD
La macro DRIVE est bien configurée avec un seul caractère, celui du lecteur de disque.
Stacks Image 36708
Configuration d'un service

3.3 - Vérification du fonctionnement des services

Après application de la configuration, on peut admirer le résultat. L'ajout des services sur les autres services fonctionne à condition que le serveur de référence est en fonctionnement.
Stacks Image 36713
Les services sont opérationnels
Ce tuto n'est pas complètement terminé, il nous reste à découvrir le troubleshooting, la découverte automatique et la création d'un agent NSClient personnalisé. Mais cela est une autre histoire 😉
comments powered by Disqus

Nous utilisons des cookies pour nous permettre de mieux comprendre comment le site est utilisé. En continuant à utiliser ce site, vous acceptez cette politique.