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.
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ôte | Rôle | Adresse |
|---|---|---|
| dc01.lab.local | contrôleur de domaine, agent installé | 192.168.10.10 |
| srv-poller01 | collecteur Centreon | 192.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ètre | Effet selon Microsoft |
|---|---|
/s:<DC> | teste ce contrôleur ; par défaut, le contrôleur local |
/a / /e | tous les serveurs du site AD DS / de l'entreprise |
/q / /v | erreurs seules / informations étendues |
/c | tous 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 :
| Agent | Protocole et port | Position de Centreon |
|---|---|---|
| NSClient++ (version Centreon) via API REST | HTTPS, 8443 par défaut | recommandé plutôt que NRPE |
| NSClient++ via NRPE | TCP 5666 | méthode historique |
| Centreon Monitoring Agent (CMA) | OpenTelemetry vers le collecteur | guide 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
- Installez le connecteur, puis le plugin sur le collecteur (
centreon-plugin-Operatingsystems-Windows-Restapisur Alma ou RHEL). - Créez l'hôte du contrôleur et appliquez le modèle
Infra-ActiveDirectory-NSClient-05-Restapi-custom. - Renseignez les macros : mot de passe, protocole (
httpspar défaut), port (8443par défaut). - 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.