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

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.

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)

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 MPM Worker + module Fastcgi + PHP-FPM

Continuer la lecture de « PHP-FPM (FastCGI Process Manager) »

To virtualize or not to virtualize …

Seeing everyone becoming crazy about virtualization latest years, especially for some months, my « technician » point of view is completely amazed by the fundamental nonsense everyone puts in this.

Major companies are virtualizing almost all their servers and even smaller companies ask us now to help them virtualize their IT infrastructure.

I must admit, even if I use virtualized machines everyday and have been quite informed in this matter for some years that I still cannot understand the actual buzz about it.

Hey guys, it’s a technology, nothing more, nothing less !

As with any technology, especially a new one, we must provide use cases, pros and cons, and balance the usage we make out of it.

In magazines and some self-called « specialized » IT shows or blogs, everyone seems crazy with virtualization, being the remedy of all IT problems. Remember the green powder from IBM ? It seems to have come true !

More seriously, what virtualization really is ? Only a mean to abstract the hardware part of a computer (especially a server) and run a complete OS on top of it (or many OSes nowadays). It involves very complex and yet insecure mechanisms to achieve this goal and consumes a lot of computing power, even when hardware accelerated, to get everything running « almost fine ».

But, the main reasons I decided to write this article where :

  • a so-called « IT Magazine » (in France we have many that spit completely useless assumptions about what an IT infrastructure should be and deserves us rather that anything else) that was pretending the new trend to be « desktop virtualization », what a nonsense ! (I will explain later) Everything « virtualized » seem to make them sell better, what a mess …
  • seing many companies, even customers, trying to virtualize services on many instances of the same OS (in this case Linux !) on underpowered machines and getting catastrophic results, so low that they had to go back completely on « traditional » hardware powered single OS per machine.

People should think before they do, we always say that, but in this case it does apply very well.

Of course, you get less power by virtualizing many instances of a same OS rather than executing this OS only once ! Usually the performance loss is not negligible even if acceptable. Virtualizing many Linux instances on a Linux host is a complete mess for me. This particular OS has great abilities to isolate (chroot) environments, make safe protections and even live audit the running kernel to enforce policies on processes and filesystems. It’s technically completely useless to run many Linux instances on a Linux host !

But when thinking about it, the main problem with this approach is that we are transferring the complexities of managing correctly, with care, good knowledge and intelligent conception and communication between the developing team and the production team, to products that are much more complex but promise to be really easy to manage…

It appears as if most IT teams have much lowered their expectations for the team members and are trying to compensate with technologies to try hiding the fact that they member don’t exactly understand well what happens for example on a Linux kernel…

Don’t misunderstand me, I am a great fan of virtualization, we use it, on purpose, for tasks or applications that really need it. In fact it’s proven to be very useful to test OS configurations, start and stop (and restart) machines for OS or network tests very quickly, host a different OS for specific purposes, or even virtualize customers’ parts of infrastructure to make a test environment in almost the same conditions.

Hardware has never been cheaper and powerful, 8 to 12 cores processors are emerging at affordable prices on the market now, why not simply buy a computer (server) each time you need a different OS instance ? Even data-centers use now very small servers to be space efficient, but still use a full computer to host OS and services. If you saw news about the « SheevaPlug », you have seen an impressive computer with an exceptional size/power/consumption ratio. Having less hardware won’t even cost you less licenses ! (for those who still use inferior OSes with expensive license fees, even when not needed…)

Virtualizing the desktop part of an IT infrastructure is even funnier. I first thought it was a joke ! In fact it seems we’re coming back to the terminal paradigm. IT managers don’t want to spend time on making useful, adapted and efficient configurations and manage hardware differences, they want everything to be uniform, uniformly accessible … Why don’t you even ask people to be all the same : same sex, same color, and so on ? Terminals have always used the least efficient denominator of network and servers capabilities, because as always, if you still have low end old machines, everyone else should be compatible with them (complete waste of resources…)

Anyway, I know you readers are not going to stop virtualizing everything (why not virtualize the OS on your Phone then ?) but please, please, pay more attention to what really needs virtualization (and brings real and important benefits) and what should continue to work on always cheaper, smaller, and power-efficient hardware.

I didn’t write about the risks, that are obviously much more important with less servers doing more « work » since I didn’t want this article to be even longer, you can easily conclude about what I think of this, especially when a strong demand goes now about being more redundant, more secure, and more fail-safe…  « Don’t put all your eggs in the same basket » says the idiom, even in French !

EmisFR rejoint Nancy Numérique

Après plusieurs mois de présence en 2005 et 2006 lorsque nous nous appelions encore Hybrid Perception, nous avions mis de côté, faute de temps et peut-être de convergence avec les objectifs et moyens de l’époque de Nancy Numérique notre participation au cluster.

Suite à une impulsion de Denys Levassort de COVALOR et à juste titre semble-t-il, il nous est apparu plus que judicieux de rejoindre « à nouveau » donc le cluster Nancy Numérique. La nouvelle dynamique insufflée par Nicolas Bauer et Daniel Vigneau (Cobiz) marque clairement un tournant pour le cluster.

Il regroupe à l’heure actuelle 33 membres et va se former sous statut associatif pour plus de visibilité et plus d’impact sur le bassin de vie de Nancy.

C’est avec plaisir donc que nous allons y participer, en particulier Stéphane Berthelot qui y représentera EmisFR, afin d’y apporter notre vision et notre expérience avec bien entendu un envie de partager nos connaissances et nos compétences en matière de développement sur mesure de projets type extranet / intranet et web 2.0 mais aussi de notre activité d’infogérance de serveurs dédiés ou de maintenance de parc informatique sur la région de Nancy (et également sur Paris via nos partenariats)

N’hésitez donc pas à venir participer aux réunions et présentations du cluster Nancy Numérique. Que vous soyez entreprise utilisatrice de l’informatique en quête de modernité et de partenaires compétents à proximité ou bien prestataire des TIC près de Nancy il y aura forcément au moins un des aspects du cluster qui vous fera progresser !

Nouveau Site EmisFR en ligne !

Vous n’aurez certainement pas manqué de le constater : le nouveau site EmisFR est en ligne depuis le 30 Mai. Tout n’est pas encore complètement rodé et certaines démos techniques y seront ajoutées par la suite (un petit peu de Google Apps, Twitter, et autres mais je garde la surprise d’ici-là …)

Bien entendu si vous constatez des comportements étranges ou anormaux sur des navigateurs qui ne datent pas de la préhistoire (comme IE6 qui serait comme boire du lait périmé depuis 9 ans …) vous pouvez nous en faire part ici.

Merci à nouveau à tous pour votre soutien pendant ces 5 années qui nous motivent toujours pour apporter de nouveaux projets, un nouveau site et des services adaptés et sur mesure.

Bonne lecture : http://www.emisfr.com