Le protocole de supervision NSClient est à proscrire car peu sécurisé. Il n'offre aucun chiffrage dans la liaison.
Ce protocole ne sera pas développé sur ce site. Voir le protocole NRPE. Néanmoins, nous allons voir une astuce pour continuer la supervision d'une ancienne plateforme Centreon le temps de migrer sur une nouvelle architecture.
1 - Configuration existante
Nous avons un serveur Windows 2008 avec un agent NSClient version 0.39. Notre ancien serveur Centreon tourne sous 2.8.17. Voici la configuration initiale sous Windows. Pour corser notre cas, nous avons un service utilisant le protocole nrpe.
Voici le fichier NSC.ini minimal
[modules] NRPEListener.dll NSClientListener.dll FileLogger.dll CheckSystem.dll CheckDisk.dll CheckEventLog.dll CheckHelpers.dll CheckExternalScripts.dll [Settings] use_file=1 allowed_hosts=192.168.1.172 password=centreon [External Alias] alias_event_log=CheckEventLog file=application file=system MaxWarn=1 MaxCrit=1 "filter=generated gt -2d AND severity NOT IN ('success', 'informational') AND source != 'SideBySide'" truncate=800 unique descriptions "syntax=%severity%: %source%: %message% (%count%)"
Et voici le résultat sur notre plateforme Centreon 2.8
2 - Mise à jour de l'agent NSClient
Nous allons mettre à jour notre agent NSClient. Lors de cette mise à jour, nous aurons une interruption de la supervision. En premier lieu, je vous conseille de sauvegarder votre fichier de configuration NSC.ini pour un éventuel retour en arrière. Il est préférable de désinstaller l'ancien agent avant de faire la mise à jour. Nous installerons le dernier agent version 0.5.2.39
Nous avons autoriser les deux serveurs centreon. Le protocole NSCLIENT est activé (Enable nsclient server) et le mot de passe initialisé. Ci-dessous, le fichier nsclient.ini.
# If you want to fill this file with all available options run the following command: # nscp settings --generate --add-defaults --load-all # If you want to activate a module and bring in all its options use: # nscp settings --activate-module--add-defaults # For details run: nscp settings --help ; in flight - TODO [/settings/default] ; Undocumented key password = centreon ; Undocumented key allowed hosts = 192.168.1.172,192.168.1.30 ; in flight - TODO [/settings/NRPE/server] ; Undocumented key verify mode = none ; Undocumented key insecure = true ; in flight - TODO [/modules] ; Undocumented key CheckExternalScripts = disabled ; Undocumented key CheckHelpers = disabled ; Undocumented key CheckEventLog = disabled ; Undocumented key CheckNSCP = disabled ; Undocumented key CheckDisk = disabled ; Undocumented key CheckSystem = disabled ; Undocumented key NSClientServer = enabled ; Undocumented key NRPEServer = enabled
Pour l'instant, notre ancienne supervision affiche quelques dysfonctionnements.
Il faut activer les modules suivants.
; Undocumented key CheckEventLog = enabled ; Undocumented key CheckDisk = enabled ; Undocumented key CheckSystem = enabled
Relancez l'agent NSClient sur le serveur Windows
Les services utilisant le protocole NSCLIENT sont actifs mais il reste le dernier service eventlog. Il faudra activer un module et ajouter la commande alias_event_log
[/modules] ; Undocumented key CheckExternalScripts = enabled [External Alias] alias_event_log=CheckEventLog file=application file=system MaxWarn=1 MaxCrit=1 "filter=generated gt -2d AND severity NOT IN ('success', 'informational') AND source != 'SideBySide'" truncate=800 unique descriptions "syntax=%severity%: %source%: %message% (%count%)"
Redémarrez l'agent NSClient et l'ancienne supervision fonctionne de nouveau.
3 - configuration du nouveau serveur de supervision
Nous utiliserons un serveur Centreon 20.04 avec les plugins-pack, notre serveur sera basé sur le template OS-Windows-NSClient-05-NRPE-custom. Nous en profiterons pour utilisez le client NRPE 3. Voici la configuration du serveur.
Appliquons la configuration et vérifions le temps réel
Nous devons rajoutez deux paramètres pour faire fonctionner les services.
[/settings/NRPE/server] ; COMMAND ARGUMENT PROCESSING - This option determines whether or not the we will allow clients to specify arguments to commands that are executed. allow arguments = true ; COMMAND ALLOW NASTY META CHARS - This option determines whether or not the we will allow clients to specify nasty (as in |`&><'"\[]{}) characters in arguments. allow nasty characters = true
Les services sont fonctionnels
Il nous reste à remettre le service pour les logs du journal windows. Nous utiliserons le template OS-Windows-NSClient05-Eventlog-Generic-NRPE. Par contre on ne peut mettre qu'un seul journal par service.
Les services sont opérationnels sur la nouvelle plateforme Centreon et sur l'ancienne plateforme. Il y a une différence pour les services eventlog car les critères sont différents.
On pourrait aussi utiliser l'alias de l'ancienne version. Voici le résultat en ligne de commande sur le nouveau serveur.