Archive

Archives de l'auteur

NSClient++ (NSCP) ou le monitoring de système Microsoft Windows

17/06/2010 Comments off

Le monitoring est l’une des missions à remplir en matière d’infogérance. Pour monitorer des systèmes Microsoft Windows, SNMP offre des possibilités mais ça n’est pas la panacée. Pour certains éléments, Il est parfois nécessaire d’avoir un service capable d’effectuer des tests depuis l’hôte à monitorer. Heureusement il existe NSClient++. Ce projet est développé par le Suédois Michael MEDIN. NSClient++ est un démon qui permet le monitoring des systèmes Microsoft Windows. Cet outil a été conçu pour être utilisé avec Nagios. Il est notamment capable de dialoguer avec check_nrpe et check_nt.

Schéma

NSClient++ peut être interrogé avec check_nt et check_nrpe notamment

Le démon NSClient++ est donc un service qui s’agrémente de modules. Une fois chargés, ces modules sont capables de récupérer des données (notamment par les check Nagios check_nrpe, check_nt, etc). NSClient++ est fourni avec un ensemble de modules permettant d’effectuer les principaux test (CheckDisk, CheckEventLog, CheckSystem, CheckHelper, etc). Le module le plus intéressant à mon sens étant CheckExternalScripts. Celui-ci nous permet d’éxécuter n’importe quel script ou programme, nous pouvons donc écrire nos propres tests (écrits en C, PowerShell, etc).

Exemple : Monitorer le raid logiciel.

Problématique : Comment connaitre l’état des volumes d’une machine sur le réseau ?
L’utilitaire DISKPART nous renvoie l’état des volumes.

Sortie de diskpart.exe

L’utilitaire Diskpart nous informe sur l’état des volumes

Ici le volume n°0 est un volume de deux disques dynamiques en Raid 1 (miroir). Selon l’état du volume Raid, DISKPART indique le statut : Sain / Rd échoué / Synchronisation / … ça ne vaut pas un mdadm, mais cet utilitaire remplit son office.

Il est possible de s’inspirer du travail de Peter Field pour l’élaboration d’un script. Nous veillerons ici à avoir un retour exploitable par Nagios (OK/WARNING/CRITICAL/UNKNOWN).

En configurant notre script dans la section « [Wrapped Scripts] », une fois le service « NSClientpp » redémarré, nous pouvons effectuer le test :

Résultat du test check_raid

Pouvoir éxécuter ses propres script ou programmes résout de fait la majorité des problématiques liées au monitoring sur un système Microsoft Windows.

Comment aurions-nous procédé sur un système GNU/Linux ? Pour rappel, « mdadm –detail –test /dev/mdX » renvoie des informations pertinentes sur l’état d’un array et surtout un code d’erreur en fonction de l’état du volume :

0 -> le volume raid fonctionne normalement (OK).

1 -> le volume raid a au moins un disque défaillant (WARNING).

2 -> le volume raid a plusieurs disques défaillants qui le rendent inutilisable (CRITICAL).

4 -> problème lors de la récupération des informations du volumes (UNKNOWN).

Il est ensuite possible, par exemple, d’étendre les fonctionnalités d’un agent SNMP afin de tester les volumes RAID.

Chose que nous avons intégré depuis plusieurs années dans nos tests de monitoring.

Mon avis sur cette solution

Pour conclure, NSClient++ est un outil intéressant qui permet de mettre en place des sondes sur les systèmes Microsoft Windows d’une infrastructure à monitorer. Il offre la possibilité de déployer une solution Nagios compliant, efficace et surtout homogène sur l’ensemble d’un parc. Ces caractéristiques permettent notamment d’optimiser son déploiement, sa maintenance mais surtout de faciliter l’intégration à l’outil Nagios.

PHP-FPM (FastCGI Process Manager)

16/06/2010 Comments off

PHP-FPM (FastCGI Process Manager) est une implémentation FastCGI alternative de PHP.

PHP-FPM sait gérer dynamiquement le nombre de process PHP en fonction de la charge qu’il reçoit.
Chaque process est capable d’évoluer dans un environnement, avec une configuration PHP et un UID/GID différent.

Les fonctionnalités qui ont retenu mon attention :
* Avoir une configuration de PHP spécifique par domaine, sous-domaine…
* Chrooter un domaine, un VirtualHost.
* Adapter le nombre de process PHP en fonction de la charge (spawner et killer gentillement)

Ces fonctionnalités sont opérationnelles depuis PHP-5.3.2.
FPM fait partie de la branche PHP core depuis décembre 2009.
Il est probable que PHP-FPM soit intégré dans PHP-5.4. (source)

Pour donner un ordre d’idée, Apache MPM Worker avec PHP-FPM

Apache

Apache MPM Worker + module Fastcgi + PHP-FPM

Lire la suite…

Categories: Administration, Général, Technologies Tags: