Superviser les contrôleurs de domaine avec dcdiag, NSClient++ et Centreon

Dcdiag sait déjà diagnostiquer un contrôleur de domaine. Le brancher sur Centreon transforme ce diagnostic ponctuel en contrôle permanent, à condition de choisir le bon agent.

Schéma : srv-poller01 joint centreon-nsclient sur dc01 en HTTPS 8443, l'agent exécute dcdiag et un script de quotas ; NRPE sur TCP 5666 en option
Illustration schématique — ne reproduit aucune interface réelle.

Dcdiag est l'outil Microsoft qui analyse l'état des contrôleurs de domaine d'une forêt et signale les problèmes. Lancé à la main, il répond à « l'annuaire va-t-il bien aujourd'hui ? ». Exécuté par Centreon toutes les quelques minutes, il prévient avant que les utilisateurs ne remarquent une réplication cassée ou un service Netlogon arrêté. Cette page couvre la commande, puis son intégration dans Centreon 25.10 par un agent, et enfin la supervision des quotas de fichiers Windows avec le même agent.

Testez la configuration sur un contrôleur de domaine de laboratoire : un agent mal restreint expose une interface de commande sur un serveur critique.

HôteRôleAdresse
dc01.lab.localcontrôleur de domaine, agent installé192.168.10.10
srv-poller01collecteur Centreon192.168.10.21

La commande dcdiag

Selon Microsoft, l'outil est disponible sur un contrôleur de domaine, ou sur un poste équipé des outils d'administration de serveur distant (RSAT). Il doit être lancé avec des droits d'administration, dans une invite de commandes ou une session PowerShell élevée.

dcdiag
dcdiag /s:dc01 /v /f:C:\Temp\dcdiag.txt
dcdiag /test:Replications /e
dcdiag /test:DNS
ParamètreEffet selon Microsoft
/s:<DC>teste ce contrôleur ; par défaut, le contrôleur local
/a / /etous les serveurs du site AD DS / de l'entreprise
/q / /verreurs seules / informations étendues
/ctous les tests sauf DcPromo et RegisterInDNS, y compris ceux non lancés par défaut
/test:<Test>un seul test
/f:<fichier>sortie vers un fichier journal

Le test de connectivité vérifie que le contrôleur se trouve dans le DNS, répond au ping ICMP, accepte une liaison LDAP et une liaison RPC. Microsoft précise que bloquer l'ICMP en interne empêche l'outil de fonctionner comme prévu. Parmi les tests utiles en supervision : Advertising (le contrôleur se publie-t-il ? il échoue si Netlogon est arrêté), Replications, Services, SysVolCheck et NetLogons. Le test DNS n'est pas lancé par défaut et doit être demandé.

Pourquoi un agent est nécessaire

Cet outil s'exécute sur Windows ; le collecteur Centreon tourne sous Linux. Il faut donc un agent sur le contrôleur qui lance la commande et renvoie le résultat. Centreon documente trois voies :

AgentProtocole et portPosition de Centreon
NSClient++ (version Centreon) via API RESTHTTPS, 8443 par défautrecommandé plutôt que NRPE
NSClient++ via NRPETCP 5666méthode historique
Centreon Monitoring Agent (CMA)OpenTelemetry vers le collecteurguide de migration depuis NSClient++ fourni

Le connecteur Microsoft Active Directory NSClient++ API apporte le modèle d'hôte Infra-ActiveDirectory-NSClient-05-Restapi-custom, qui crée automatiquement le service Ad-Domain-Controller : il « exécute la commande dcdiag », selon la documentation. Un service DFSR-Backlog, à créer à la main, suit le retard de réplication DFS. Le connecteur CMA équivalent propose le même service Ad-Domain-Controller.

Installer et sécuriser NSClient++

Centreon fournit une version reconditionnée de NSClient++, centreon-nsclient, qui embarque ses plugins Windows (centreon_plugins.exe). L'installateur et les plugins se téléchargent depuis la page du projet centreon-nsclient sur GitHub, indiquée par la documentation. Les plugins sont mis à jour chaque mois, sans réinstaller l'agent.

Activer l'API REST

Dans une invite de commandes administrateur, sur le contrôleur :

nscp web install
nscp web -- password --set <mot-de-passe-fort>

Dans nsclient.ini, section /settings/WEB/server, réglez le port et les hôtes autorisés, puis ouvrez le port TCP 8443 depuis le collecteur seulement.

Le mot de passe par défaut à remplacer

Le modèle d'hôte Centreon a une macro NSCPRESTAPILEGACYPASSWORD dont la valeur par défaut est littéralement PASSWORD. C'est un emplacement, pas un secret : mettez-y le mot de passe défini avec nscp web, sinon les contrôles échouent. De même, Centreon installé par paquets n'a pas de mot de passe administrateur par défaut, il est créé à l'installation ; seules les machines virtuelles de démonstration en ont un, publié, à changer.

Si vous gardez NRPE

Centreon recommande, dans nsclient.ini :

[/modules]
NRPEServer = 1

[/settings/NRPE/server]
allowed hosts = 192.168.10.21
port = 5666
use ssl = true
payload length = 8192

Redémarrez ensuite le service avec net stop nscp puis net start nscp.

Côté Centreon

  1. Installez le connecteur, puis le plugin sur le collecteur (centreon-plugin-Operatingsystems-Windows-Restapi sur Alma ou RHEL).
  2. Créez l'hôte du contrôleur et appliquez le modèle Infra-ActiveDirectory-NSClient-05-Restapi-custom.
  3. Renseignez les macros : mot de passe, protocole (https par défaut), port (8443 par défaut).
  4. Déployez la configuration du collecteur.

Le service Ad-Domain-Controller accepte une macro LANGUAGE (en par défaut) : sur un Windows dans une autre langue, réglez-la : la documentation indique que la commande peut être localisée, avec un fichier de configuration désigné par la macro CONFIGFILE. Pour tester à la main, suivez la commande de la documentation du connecteur sous le compte centreon-engine du collecteur.

Superviser les quotas Windows avec le même agent

Les quotas de dossiers du Gestionnaire de ressources du serveur de fichiers (FSRM) se lisent en PowerShell avec Get-FsrmQuota, qui renvoie un quota ou tous les quotas du serveur, éventuellement par chemin :

Get-FsrmQuota
Get-FsrmQuota -Path "D:\Partages\..."

Aucun connecteur Centreon dédié aux quotas n'apparaît dans la documentation consultée. La méthode consiste à écrire un script PowerShell qui compare l'usage à la limite de chaque quota et renvoie les codes standard des plugins (0 OK, 1 Warning, 2 Critical, 3 Unknown). Affichez d'abord les propriétés réelles avec Get-FsrmQuota | Format-List pour construire le calcul. NSClient++ exécute ce script grâce à son module CheckExternalScripts : un script .ps1 placé dans la section [/settings/external scripts/wrapped scripts] utilise automatiquement le modèle d'exécution ps1. Le collecteur l'appelle ensuite comme une commande NSClient++, par le mode query du plugin REST API. Laissez allow arguments à sa valeur par défaut, false, si vos seuils peuvent être codés dans le script.

Pour aller plus loin

Les états des contrôleurs gagnent à être regroupés dans un tableau de bord Centreon. Pour reproduire cette configuration sur une autre plateforme, voyez l'export de configuration avec AWIE, et pensez à vérifier ces connecteurs lors d'une mise à jour de Centreon. Pour une autre application critique, la supervision d'une base Oracle suit une logique proche. La rubrique Centreon regroupe le reste.

Questions fréquentes

À quoi sert la commande dcdiag ?

Elle analyse l'état des contrôleurs de domaine d'une forêt et signale les problèmes : connectivité, publication, réplication, services, SYSVOL. Elle se lance avec des droits d'administration.

Pourquoi dcdiag échoue-t-il alors que le contrôleur fonctionne ?

Souvent à cause de l'ICMP bloqué en interne : Microsoft indique que ce blocage empêche l'outil de fonctionner comme prévu. Vérifiez aussi que la session est bien élevée.

À quoi correspond le port 5666 ?

C'est le port TCP que Centreon demande de configurer pour le serveur NRPE de NSClient++. Pour l'API REST de NSClient++, le port par défaut est 8443.

Quel est le mot de passe par défaut de Centreon ?

Avec les paquets, il n'y en a pas : le compte admin est créé à l'installation. La valeur PASSWORD de la macro NSClient++ n'est qu'un emplacement à remplacer par votre mot de passe d'API.

Faut-il passer de NSClient++ à l'agent CMA ?

Centreon publie un guide de migration et met en avant les performances, la sécurité par défaut et son support. Les connecteurs Active Directory existent pour les deux agents : migrez à votre rythme.