<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>EyesOfNetwork on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/eyesofnetwork/</link><description>Recent content in EyesOfNetwork on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Wed, 15 Sep 2010 08:47:41 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/eyesofnetwork/index.xml" rel="self" type="application/rss+xml"/><item><title>Installer 3 plugins Nagios dans EON 1.2, coupé d’Internet, level 3</title><link>https://blog.zwindler.fr/2010/09/15/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-3/</link><pubDate>Wed, 15 Sep 2010 08:47:41 +0000</pubDate><guid>https://blog.zwindler.fr/2010/09/15/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-3/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/09/icone_EON.webp" alt="Featured image of post Installer 3 plugins Nagios dans EON 1.2, coupé d’Internet, level 3" /&gt;&lt;p&gt;Pour le dernier plugin, &lt;a class="link" href="http://labs.consol.de/lang/en/nagios/check_mssql_health/" target="_blank" rel="noopener"
&gt;check_mssql_health&lt;/a&gt;, j’ai vraiment dû faire face à de gros ennuis. Ce script Perl, très bien fait une fois installé, permet de vérifier à peu près tout ce qu’on pourrait vouloir vérifier dans une base de donnée MS SQL. C’est vraiment très impressionnant, et assez bien documenté une fois qu’on est sur le site officiel, heureusement en anglais (certains sites ne référencent que la partie allemande de l’aide, ce qui peut s’avérer particulièrement inutile quand on ne connait pas plus d’Allemand que quelques paroles de Rammstein).&lt;/p&gt;
&lt;p&gt;Même si c’est probablement dû à mon cas particulier, j’ai souvent dû faire face à des documentations incomplètes pour l’installation des différents composants. J’ai passé un bon moment à tâtonner, chercher de la doc à droite à gauche, tester, râler&amp;hellip; C’est pourquoi un passage en revue de tous les aspects de la chaine me parait utile.&lt;/p&gt;
&lt;p&gt;D’abord, commençons par redire qu’il s’agit d’un script Perl. Pour fonctionner, celui-ci nécessite plusieurs choses. D’abord, il utilise un module Perl permettant de communiquer avec des bases de données. Mais ce module nécessite bien sûr d’un client de base de données, et enfin, ce client de base de données nécessite les bibliothèque qui vont bien pour s’installer.&lt;/p&gt;
&lt;p&gt;Voyons cela plus en détails&amp;hellip; Le &lt;strong&gt;plugin check_mssql_health&lt;/strong&gt; nécessite du module &lt;strong&gt;DBD::Sybase&lt;/strong&gt;, qui est en fait un module permettant de s’interfacer avec des base de données Sybase, en passant par l’intermédiaire d’un client fournit par Sybase. On pourrait se dire que c’est un choix curieux sachant qu’on veut communiquer avec une base MSSQL, mais en fait, le module permet également d’utiliser un autre client, &lt;strong&gt;FreeTDS&lt;/strong&gt; (qui est une réimplémentation ce précédent client), qui gère également les bases &lt;strong&gt;MSSQL 2000 ou supérieure&lt;/strong&gt; (le vCenter 2.5 utilise une base de données MS SQL Server 2005 Express).&lt;/p&gt;
&lt;p&gt;La première chose à faire est d’installer le client &lt;strong&gt;FreeTDS&lt;/strong&gt;. Pour ce faire, il faut d’abord ajouter les paquets suivant avec Yum :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# yum install unixODBC
# yum install unixODBC-devel
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Si vous vous en tenez à la documentation de &lt;strong&gt;FreeTDS&lt;/strong&gt;, vous ne lirez nulle part qu’il faut installer &lt;strong&gt;unixODBC-devel&lt;/strong&gt;, et si vous ne le faites pas, le script d’installation continuera inlassablement à vous indiquer que vous n’avez pas installé &lt;strong&gt;unixODBC&lt;/strong&gt; (alors que si!).&lt;/p&gt;
&lt;p&gt;Une fois que ceci est fait, il faut télécharger &lt;a class="link" href="http://www.freetds.org/software.html" target="_blank" rel="noopener"
&gt;les sources de freetds&lt;/a&gt;, car le DVD d’EyesOfNetwork qui nous sert de répository local ne contient pas le paquet pour l’installer. Pour fonctionner correctement, notre script Perl nécessitera au moins la version 6.2 de FreeTDS, sachant que je n’ai testé que la version que la 8.2. De préférence, choisir la version dite &lt;strong&gt;stable&lt;/strong&gt;.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# tar xvzf freetds-stable.tgz
#cd freetds-[version_stable]
# ./configure
# make
# make install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Maintenant que FreeTDS est installé, il faut le configurer. Si on lit la documentation de check_mssql_health, il est indiqué que pour des raisons de sécurité, il vaut mieux passer le protocole de communication de FreeTDS de la version 4.2 (par défaut) à la version 8.0. Pour ma part, ce n’est pas un conseil, c’est une obligation. check_mssql_health n’a jamais fonctionné tant que je n’ai pas modifié de paramètre. Et ce n’est pas plus mal, quand on sait que cette version 4.2 du protocole envoie votre mot de passe en clair sur le réseau, lors des authentifications avec la base de données (O_o).&lt;/p&gt;
&lt;p&gt;Pour changer cette version de protocole, éditez le fichier &lt;strong&gt;/etc/freetds.conf&lt;/strong&gt; pour qu’il ressemble à ça :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[global]
#TDS protocol version
tds version = 8.0
[...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Maintenant que nous disposons du client, que celui-ci est correctement configuré, il faut installer les dépendances Perl. Par rapport à la dernière fois, il ne m’en manquait que deux :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DBD::Sybase
&lt;ul&gt;
&lt;li&gt;DBI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Par contre, avant de pouvoir installer &lt;strong&gt;DBD::Sybase&lt;/strong&gt;, il est nécessaire de le configurer (contrairement aux autres modules Perl installés jusqu’à présent). Dans les fichiers d’aide &lt;strong&gt;README&lt;/strong&gt; et &lt;strong&gt;README.freetds&lt;/strong&gt; contenus dans l’archive &lt;strong&gt;DBD::Sybase&lt;/strong&gt;, il est indiqué que le chemin vers FreeTDS doit être connu par le script &lt;strong&gt;Makefile.PL&lt;/strong&gt;. Cette valeur doit normalement être renseignée en enregistrant le chemin vers FreeTDS dans la variable d’environnement SYBASE.&lt;/p&gt;
&lt;p&gt;Pour des raisons qui me sont totalement inconnues, je n’ai jamais réussi à faire fonctionner ce script avec cette méthode. La variable n’était jamais prise en compte, et même si l’installation continuait, le module n’était pas fonctionnel, puisqu’il n’avait pas accès au client. Pour contourner ce problème, j’ai utilisé une solution radicale et pas très élégante. Dans &lt;strong&gt;Makefile.PL&lt;/strong&gt;, j’ai remplacé les lignes&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Sub configure{
my $sybase_dir = $ENV{SYBASE};
[...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;par&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Sub configure{
my $sybase_dir = &amp;#39;[chemin_vers_freetds]&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Après cela, l’installation du module s’est déroulée sans encombres, et le script à pu être compilé :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# tar xvzf check_mssql_health_[version].tar.gz
# cd check_mssql_health_[version]
# ./configure --prefix&amp;#39;/srv/eyesofnetwork/nagios-3.0.6&amp;#39; --with-nagios-group=eyesofnetwork
# make
# make install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois encore, il est important de ne pas mettre de &lt;strong&gt;/&lt;/strong&gt; final dans le chemin indiqué dans la ligne &lt;strong&gt;./configure&lt;/strong&gt;. Une fois les commandes exécutées avec succès, le script est installé dans le dossier &lt;strong&gt;/srv/eyesofnetwork/nagios-3.0.6/libexec&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ca y est ? Non&amp;hellip;&lt;/p&gt;
&lt;p&gt;Même si maintenant tout est correctement configuré et installé côté plugin, il est encore nécessaire de configurer votre base MSSQL pour qu’elle accepte les connexions. Je ne traiterai pas de l’aspect création d’un utilisateur avec des droits suffisant pour lire l’état de la base, je ne suis vraiment pas un expert, et j’imagine qu’on trouve de très bon tutos sur le net, expliquant bien chaque type de droit, et la manière de bien le faire. Vous pouvez soit chercher du côté de MS SQL Server Management Studio, soit effectuer les autorisations manuellement via le tuto du &lt;a class="link" href="http://labs.consol.de/lang/en/nagios/check_mssql_health/" target="_blank" rel="noopener"
&gt;site de mssql_health_check&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pour que la base accepte les connexions distantes de notre client FreeTDS, il faut d’abord s’assurer que le pare feu Windows laisse bien entrer les connexions &lt;strong&gt;TCP&lt;/strong&gt; sur le port &lt;strong&gt;1433&lt;/strong&gt;, et que le serveur les accepte, lui aussi.&lt;/p&gt;
&lt;p&gt;Pour se faire, il suffit d’utiliser l’utilitaire &lt;strong&gt;SQL Server Configuration Manager&lt;/strong&gt;, installé par défaut avec la base de données, puis d’aller dans &lt;strong&gt;Configuration du réseau SQL Server 2005/Protocole pour [nom_base_données]/TCP/IP&lt;/strong&gt;. Dans l’onglet &lt;strong&gt;Protocoles&lt;/strong&gt;, choisir &lt;strong&gt;Oui&lt;/strong&gt; pour la valeur &lt;strong&gt;Activer&lt;/strong&gt;. Le serveur doit ensuite être redémarré pour que les modifications soient bien prises en compte.&lt;/p&gt;
&lt;p&gt;Ouf&amp;hellip; Il ne reste plus qu’à lancer vos sondes depuis Nagios, maintenant!&lt;/p&gt;</description></item><item><title>Installer 3 plugins Nagios dans EON (Eyes of Network) 1.2, coupé d’Internet, level 2</title><link>https://blog.zwindler.fr/2010/09/08/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-2/</link><pubDate>Wed, 08 Sep 2010 12:16:33 +0000</pubDate><guid>https://blog.zwindler.fr/2010/09/08/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-2/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/09/icone_EON.webp" alt="Featured image of post Installer 3 plugins Nagios dans EON (Eyes of Network) 1.2, coupé d’Internet, level 2" /&gt;&lt;p&gt;Maintenant que la première partie (check_esxi_wbem.py) s’est passée sans encombres, nous allons pouvoir passer à quelque chose d’un peu plus fun : &lt;a class="link" href="http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-esxi-vsphere-4-and-vcenter-server" target="_blank" rel="noopener"
&gt;check_esx3&lt;/a&gt;. Je rappelle que cet article n’est utile que pour les gens qui se tirent vraiment une balle dans le pied, en utilisant pour des raisons divers un Eyes Of Network 1.2 (EON) et qui n’ont pas accès à Internet sur leur machine de supervision.&lt;/p&gt;
&lt;p&gt;Comme son nom l’indique, il s’agit d’un plugin Nagios pour superviser des produits VMware à partir de la version 3. Comme son nom ne l’indique pas, il s’agit d’un plugin en Perl. Joie et bonne humeur, CPAN.org nous voilà&amp;hellip;&lt;/p&gt;
&lt;p&gt;[Edit]Si vous avez une version de ce plugin antérieure à mai 2010, vous serez peut être heureux d’apprendre que la communauté à retravaillé ce script. Il semblerait que celui ci souffrait de redondances lors des requêtes. Après avoir jeté un œil aux remarques de la communauté, l’éditeur du script a effectué les modifications, et sur une machine peu performante, j’arrive à avoir des gains très significatifs entre les deux versions (2 secondes au lieu de 6 pour une sonde sur l’usage cpu/mémoire), ce qui la soulage beaucoup. Peut être que les gains ne seront pas aussi important pour des machines plus récentes, mais ça ne peut pas faire de mal de mettre ce plugin à jour&amp;hellip;[/Edit]&lt;/p&gt;
&lt;p&gt;Si vous êtes familier avec Perl, vous saurez que les scripts en Perl utilisent souvent des modules qui peuvent eux même dépendre d’autres modules, et ainsi de suite. Pour régler simplement ces problèmes de dépendance, il existe d’autres modules Perl qui permettent d’automatiser ce processus, en gérant récursivement les dépendances et en les téléchargeant sur Internet, un peu comme un gestionnaire de paquets. Seulement voilà, nous sommes offline, pas d’Internet sur notre serveur de supervision! Damnation&amp;hellip;&lt;/p&gt;
&lt;p&gt;Bon, commençons par le plus simple&amp;hellip; Il arrive que ces modules Perl nécessitent des paquets rpm pour fonctionner. Ici c’est le cas pour notre script, qui nécessite au moins les outils suivants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gcc&lt;/li&gt;
&lt;li&gt;libxml2&lt;/li&gt;
&lt;li&gt;libxml2-devel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour éviter de devoir se payer l’installation des dépendances des rpms à la main, je vous invite à vous reporter sur « l’astuce » du dépôt local de RPM, disponible &lt;a class="link" href="https://blog.zwindler.fr/2015/04/11/tutoriel-migrer-facilement-son-blog-de-wordpress-com-vers-un-hebergement-mutualise-ovh/" &gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ça, c’est fait. Passons maintenant aux modules Perl nécessaires qui ne sont pas préinstallés sur notre EON 1.2 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nagios::Plugin
&lt;ul&gt;
&lt;li&gt;Class::Accessor&lt;/li&gt;
&lt;li&gt;Config::Tiny&lt;/li&gt;
&lt;li&gt;Math::Calc::Units&lt;/li&gt;
&lt;li&gt;Params::Validate
&lt;ul&gt;
&lt;li&gt;Module::Build
&lt;ul&gt;
&lt;li&gt;ExtUtils::CBuilder&lt;/li&gt;
&lt;li&gt;ExtUtils::Manifest&lt;/li&gt;
&lt;li&gt;ExtUtils::ParseXS&lt;/li&gt;
&lt;li&gt;TestHarness&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Attribute::Handlers&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;VIPerlToolkit
&lt;ul&gt;
&lt;li&gt;XML::LibXML
&lt;ul&gt;
&lt;li&gt;XML::SAX&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Class:MethodMaker&lt;/li&gt;
&lt;li&gt;SOAP::Lite
&lt;ul&gt;
&lt;li&gt;URI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Wa-hou&amp;hellip; Sacrée liste&amp;hellip; Vous aurez remarqué que j’ai respecté une hiérarchie entre les modules. Ce sont les niveaux de dépendances. Ainsi, XML::LibXML nécessite XML::SAX pour pouvoir fonctionner, et XML::SAX doit donc être installé avant XML::LibXML.&lt;br&gt;
La plupart des modules Perl listés ci-dessus sont disponibles en téléchargement sur le site Internet CPAN.org, et le VI Perl Toolkit est disponible sur le site de téléchargement de VMware.&lt;/p&gt;
&lt;p&gt;Je n’ai pas trouvé de moyen d’installer ces modules d’une seule commande sans passer par Internet. On aurait pu imaginer un genre de mécanisme de repository local, comme pour l’astuce avec Yum, qui se chargerait de tout installer d’un coup, où au moins une partie. J’ai quand même du mal à y croire et si quelqu’un à la solution, je serai très content d’avoir votre retour là dessus.&lt;/p&gt;
&lt;p&gt;A la place, j’ai du installer un à un tous les modules en respectant l’ordre des dépendances. Comme si ça ne suffisait pas, la procédure pour installer un module Perl diffère selon le module d’installation que son développeur à choisit -_-.&lt;/p&gt;
&lt;p&gt;Si vous trouvez un fichier Makefile.PL dans l’archive téléchargée, c’est que le module utilise le module Perl Makefile pour faire les installation :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# tar xvzf [module_perl].tar.gz
# cd module_perl
# perl Makefile.PL
# make
# make test
# make install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Mais si en revanche vous trouvez un fichier Build.PL, c’est que le module s’installe grâce au module Perl Module::Build (qui est d’ailleurs dans les listes des modules non présents de base dans EON)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# tar xvzf [module_perl].tar.gz
# cd module_perl
# perl Build.PL
# ./Build
# ./Build install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Deux possibilités : soit vous le savez, soit vous tâtonnez comme un idiot jusqu’à trouver les bonnes commandes. J’ai choisi la seconde solution, je vous le déconseille, donc&amp;hellip;&lt;/p&gt;
&lt;p&gt;Une fois tous les modules installés, il ne reste plus qu’à utiliser ./check_esx3 en temps qu’utilisateur &lt;strong&gt;nagios&lt;/strong&gt;. Plus de détails sur l’utilisation de ce script franchement génial sur &lt;a class="link" href="http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-esxi-vsphere-4-and-vcenter-server" target="_blank" rel="noopener"
&gt;le site d’OP5&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="la-même-chose-avec-un-centos-5"&gt;La même chose avec un CentOS 5
&lt;/h2&gt;&lt;p&gt;Sur un CentOS classique (avec le DVD par défaut), la liste des dépendances manquantes sans Internet est malheureusement plus longue. Jugez par vous même&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Builder-0.05&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nagios-Plugin-0.36&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Math-Calc-Units-1.07&lt;/li&gt;
&lt;li&gt;Config-Tiny-2.14&lt;/li&gt;
&lt;li&gt;Params-Validate-1.06
&lt;ul&gt;
&lt;li&gt;Module-Build-0.4001
&lt;ul&gt;
&lt;li&gt;ExtUtils-ParseXS-3.15&lt;/li&gt;
&lt;li&gt;ExtUtils-MakeMaker-6.62&lt;/li&gt;
&lt;li&gt;ExtUtils-Manifest-1.60&lt;/li&gt;
&lt;li&gt;ExtUtils-CBuilder-0.280205
&lt;ul&gt;
&lt;li&gt;PathTools-3.33&lt;/li&gt;
&lt;li&gt;IPC-Cmd-0.78
&lt;ul&gt;
&lt;li&gt;Locale-Maketext-Simple-0.21&lt;/li&gt;
&lt;li&gt;Module-Load-Conditional-0.50
&lt;ul&gt;
&lt;li&gt;Module-Load-0.22&lt;/li&gt;
&lt;li&gt;Module-CoreList-2.68&lt;/li&gt;
&lt;li&gt;Params-Check-0.36
&lt;ul&gt;
&lt;li&gt;Perl-OSType-1.002
&lt;ul&gt;
&lt;li&gt;Test-Simple-0.98&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Test-Harness-3.25&lt;/li&gt;
&lt;li&gt;Module-Metadata-1.000009&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Class-Accessor-0.34&lt;/li&gt;
&lt;li&gt;Attribute-Handlers-0.93&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SOAP-Lite-0.714&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;URI-1.60&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Class-MethodMaker-2.18&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;XML-LibXML-2.0002&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XML-SAX-0.99
&lt;ul&gt;
&lt;li&gt;XML-SAX-Base-1.08&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Module-Implementation-0.06&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Try-Tiny-0.11&lt;/li&gt;
&lt;li&gt;Test-Fatal-0.010&lt;/li&gt;
&lt;li&gt;Test-Requires-0.06&lt;/li&gt;
&lt;li&gt;Module-Runtime-0.013&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour le fun, voici ma « procédure d’installation » hors ligne pour ce plugin (160 lignes, quand même !).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;for i in `ls -1`; do tar xzf $i; done
/Builder-0.05
perl Makefile.PL
make
make install
cd ../ExtUtils-MakeMaker-6.62
perl Makefile.PL
make
make install
cd ../PathTools-3.33
perl Makefile.PL
make
make install
cd ../Test-Simple-0.98
perl Makefile.PL
make
make install
cd ../Perl-OSType-1.002
perl Makefile.PL
make
make install
cd ../Locale-Maketext-Simple-0.21
perl Makefile.PL
make
make install
cd ../Params-Check-0.36
perl Makefile.PL
make
make install
cd ../Module-Load-0.22
perl Makefile.PL
make
make install
cd ../Module-CoreList-2.68
perl Makefile.PL
make
make install
cd ../ExtUtils-Manifest-1.60
perl Makefile.PL
make
make install
cd ../Module-Load-Conditional-0.50
perl Makefile.PL
make
make install
cd ../IPC-Cmd-0.78
perl Makefile.PL
make
make install
cd ../ExtUtils-CBuilder-0.280205
perl Makefile.PL
make
make install
cd ../ExtUtils-ParseXS-3.15
perl Makefile.PL
make
make install
cd ../Attribute-Handlers-0.93
perl Makefile.PL
make
make install
cd ../Math-Calc-Units-1.07
perl Makefile.PL
make
make install
cd ../Config-Tiny-2.14
perl Makefile.PL
make
make install
cd ../Class-Accessor-0.34
perl Makefile.PL
make
make install
cd ../URI-1.60
perl Makefile.PL
make
make install
cd ../SOAP-Lite-0.714
perl Makefile.PL
make
make install
cd ../Class-MethodMaker-2.18
perl Makefile.PL
make
make install
cd ../XML-SAX-Base-1.08
perl Makefile.PL
make
make install
yum install libxml2 libxml2-devel
cd ../XML-LibXML-2.0002
perl Makefile.PL
make
make install
cd ../XML-NamespaceSupport-1.11
perl Makefile.PL
make
make install
#ou yum install perl-XML-NamespaceSupport.noarch
cd ../XML-SAX-0.99
perl Makefile.PL
make
make install
cd ../Test-Harness-3.25
perl Makefile.PL
make
make install
cd ../Module-Metadata-1.000009
perl Makefile.PL
make
make install
cd ../Try-Tiny-0.11
perl Makefile.PL
make
make install
cd ../Test-Fatal-0.010
perl Makefile.PL
make
make install
cd ../Test-Requires-0.06
perl Makefile.PL
make
make install
cd ../Nagios-Plugin-0.36
perl Makefile.PL
make
make install
cd ../Archive-Tar-2.02
perl Makefile.PL
make
make install
cd ../ExtUtils-Install-2.04
perl Makefile.PL
make
make install
cd ../Module-Build-0.4001
perl Makefile.PL
make
make install
cd ../Module-Runtime-0.013
perl Makefile.PL
./Build
./Build install
cd ../Module-Implementation-0.06
perl Makefile.PL
make
make install
cd ../Params-Validate-1.06
perl Build.PL
./Build
./Build install
yum install perl-Crypt-SSLeay.x86_64
cd ..
tar xzf VMware-vSphere-SDK-for-Perl-4.0.0-161974.x86_64.tar.gz
cd vmware-vsphere-cli-distrib/
perl Makefile.PL
make
make install
cd ..
#necessite aussi le module perl UUID (prérequis, pas optionnel) mais fonctionne quand même sans
tar xzf check_vmware_api-1aae4f6.tar.gz &amp;amp;&amp;amp; check_vmware_api-1aae4f6
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Installer 3 plugins Nagios dans EON 1.2, coupé d’Internet, level 1</title><link>https://blog.zwindler.fr/2010/09/03/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-1/</link><pubDate>Fri, 03 Sep 2010 12:47:18 +0000</pubDate><guid>https://blog.zwindler.fr/2010/09/03/installer-3-plugins-nagios-dans-eon-1-2-coupe-dinternet-level-1/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/09/icone_EON.webp" alt="Featured image of post Installer 3 plugins Nagios dans EON 1.2, coupé d’Internet, level 1" /&gt;&lt;p&gt;J’aimerai vous faire partager certains de mes déboires pour installer 3 malheureux plugins Nagios sur mes deux &lt;a class="link" href="http://www.eyesofnetwork.com/?page_id=48&amp;amp;lang=fr" target="_blank" rel="noopener"
&gt;EyesOfNetwork&lt;/a&gt; en production. Évidemment, dans un environnement bien maitrisé, connecté à Internet, ce serait risible d’écrire un article pour si peu. Malheureusement, EyesOfNetwork, surtout dans sa version 1.2, impose certaines limitations, et le fait d’être coupé d’Internet en impose encore plus.&lt;/p&gt;
&lt;p&gt;Bon alors, c’est sûr, cet article ne va pas toucher beaucoup de monde. Le nombre d’utilisateurs d’EyesOfNetwork 1.2 (2.15 FTW!) dans un environnement offline ne doit pas atteindre des sommets, et la plupart de ces personnes-là sont probablement capables de se débrouiller seules. Mais bon, qui sait&amp;hellip;&lt;/p&gt;
&lt;p&gt;Comme vous le savez très certainement si vous avez décidé de lire la suite de cet article, Nagios, ou plutôt son cœur, a pour but d’ordonnancer une série de vérifications à effectuer sur votre matériel et les services qui en dépendent. Ces vérifications sont faites, non pas par Nagios lui-même, mais par une foultitude de petits scripts et autres outils (sondes, ou plugins).&lt;/p&gt;
&lt;p&gt;Et c’est là toute la force de Nagios : Si un équipement ou un service un peu exotique n’a pas son plugin pré-installé avec Nagios, qu’à cela ne tienne! Un utilisateur de la communauté a probablement écrit un plugin lui correspondant. Et au pire, vous pouvez toujours en modifier un similaire si vos besoins ne sont pas satisfait, ou même en écrire un autre (en utilisant SNMP, une api spécifique au produit&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Pour mes besoins personnels, j’ai voulu ajouter les trois sondes suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20131212160532/https://communities.vmware.com/docs/DOC-7170" target="_blank" rel="noopener"
&gt;check_esxi_wbem.py (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;) (vérification du hardware d’un serveur VMware ESXi)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20110529065507/http://git.op5.org/git/?p=nagios/op5plugins.git;a=blob_plain;f=check_esx3.pl;hb=HEAD" target="_blank" rel="noopener"
&gt;check_esx3 (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; (outils très complet pour superviser plusieurs variables tels que la charge CPU, mémoire, réseau, pour toutes les VMs, Serveurs, Fermes VMware)&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20241008021558/https://labs.consol.de/nagios/check_mssql_health/" target="_blank" rel="noopener"
&gt;check_mssql_health (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; (sonde de vérifications diverses pour les bases de données Microsoft SQL Server 2000 ou mieux, utile pour la base MSSQL Express d’un petit vCenter, par exemple)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dans ce premier article, le vais commencer simple, avec &lt;strong&gt;check_esxi_wbem.py&lt;/strong&gt;, histoire de se mettre en jambe. Déjà, il peut être intéressant de savoir à quoi sert de plugin. Vous l’aurez surement remarqué si jamais vous disposez d’un serveur VMware, il existe un onglet dans le client vSphere (ou VI Client pour Infrastructure) qui permet de superviser en temps réel une série de paramètres hardware de votre serveur. Habituellement, on irait chercher ses paramètres en discutant aimablement avec le serveur en SNMP de l’hyperviseur (comme pour ESX, par exemple).&lt;/p&gt;
&lt;p&gt;Cependant, (je ne sais pas si c’est une limitation complète ou juste pour la version gratuite), VMware à simplement désactivé le support de SNMP dans ESXi. Je dis bien « désactivé », car pour ceux qui connaissent un peu ou qui ont lu mes précédents articles, ESXi n’est en fait qu’une distrib Linux minimaliste (Busybox modifié), mais pas minimaliste au point de ne pas supporter SNMP ! Je n’ai pas essayé, mais les premiers liens dans Google pour la recherche « activer snmp esxi » vous indiqueront très certainement comment faire.&lt;/p&gt;
&lt;p&gt;Bon&amp;hellip; SNMP est désactivé, mais vSphere client arrive bien à avoir des informations, lui!?! Comment fait il ? Tout simplement comme tout le reste de ce qu’il fait : en utilisant l’API VMware pour donner des ordres aux hyperviseurs (création de VM, allumage/extinctions de VMs, du serveur, ajout d’un disque virtuel&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Dans votre pseudo-console de configuration de ESXi (si si, l’espèce de mocheté, jaune et grise, après l’install!), vous aurez probablement déjà vu la ligne « Restart Management Agents ». &lt;strong&gt;Management agents&lt;/strong&gt; fait référence à un démon (au sens Unix du terme, hein&amp;hellip;) appelé &lt;strong&gt;hostd&lt;/strong&gt;. En fait, ce n’est ni plus ni moins qu’un serveur web un peu spécial. Il est utilisé par le client vSphere pour commander le serveur ESXi via des requêtes HTTPS sur le port 8333. Mais là où ça nous intéresse, c’est que les outils vCLI et PowerCLI utilisent le démon, avec le même protocole. En théorie, il est donc possible de faire tout ce qu’on peut faire dans le client vSphere (dont le monitoring du hardware du serveur) en ligne de commandes.&lt;/p&gt;
&lt;p&gt;Je vois déjà les yeux de tous les « scripteurs fous » s’allumer de désir. Calmez vos ardeurs, gens du monde du libre, la version non licenciée de ESXi (comprendre « gratuite ») est bridée aux actions en lecture seule pour tout ce qui est scripting. Oui, c’est très frustrant!&lt;/p&gt;
&lt;p&gt;Relativisons cependant, pour lire l’état d’un serveur, « Lecture Seule » reste suffisant. En partant de ce principe, la communauté nous a pondu un script en python, qui nous permet de superviser le hardware nos ESXi! Cependant, pour fonctionner, ce script nécessite l’installation d’un module python complémentaire, que nous allons devoir télécharger depuis un autre réseau, puisque nous sommes offline sur notre EON 1.2! Le module à télécharger s’appelle &lt;a class="link" href="http://sourceforge.net/projects/pywbem/files/" target="_blank" rel="noopener"
&gt;pywbem&lt;/a&gt;. Une fois copié sur votre EON, l’installation est plutôt simple (d’où le level 1, il n’y a jamais de challenge au level 1).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# tar xvzf pywbem-[version].tar.gz
# cd pywbem-version
# python setup.py build
# python setyp.py install
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Une fois ce module installé, le script peut être utilisé. Pour ceux qui débutent avec EON, l’ensemble des outils sont installés dans le répertoire &lt;strong&gt;/srv/eyesofnetwork/&lt;/strong&gt;, ce qui n’est pas du tout un dossier d’installation « standard » pour la plupart des outils que nous voudront installer plus tard, d’où d’éventuels micmacs lors des installations. Le script check_esxi_wbem.py est donc à placer dans le dossier &lt;strong&gt;/srv/eyesofnetwork/nagios-[version]/plugins/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Certaines personnes préfèrent séparer les plugins officiels (ceux fournit lors de l’install de Nagios) des plugins additionnels, et préfèrent les installer dans le dossier &lt;strong&gt;/srv/eyesofnetwork/nagios/libexec&lt;/strong&gt;. A vous de décider une fois pour toutes, dès le début, puis de s’y tenir après. C’est vrai que c’est plus « propre », mais est-ce vraiment utile ?&lt;/p&gt;
&lt;p&gt;Maintenant, vous pouvez admirer le résultat (il est préférable de tester le script avec l’utilisateur &lt;strong&gt;nagios&lt;/strong&gt;, pour éviter les bêtes problèmes de droits) :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# su nagios
$ ./check_esxi_wbem.py [@IP_serveur_ESXi] [login_ESXi] [password_ESXi] [dell | hp]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Le dernier paramètre doit impérativement être dell ou hp, car le script ne gère que ces deux constructeurs (à l’heure actuelle), et va chercher des informations qui sont spécifiques au constructeur choisit.&lt;/p&gt;
&lt;p&gt;Une fois que le retour de la sonde est correct&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ exit
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Bon&amp;hellip; pourquoi je râle ? Après tout, ce n’était pas si dur, juste un petit module de rien du tout à installer ! Rigolez si vous voulez, le prochain level ne sera pas aussi marrant&amp;hellip;&lt;/p&gt;
&lt;p&gt;Ah oui, pour finir, j&amp;rsquo;aimerais rappeler le petit tuyau d’Huggy :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pour profiter de TOUTES les informations sur le hardware de votre serveur, votre ESXi (dans sa version 4, je ne suis pas trop sûr que ça soit encore exact) doit avoir être été installé avec la version de l’iso d’ESXi spécifique à votre constructeur.&lt;br&gt;
Ainsi, pour un serveur HP, si vous avez la version « normale » d’ESXi 4.0 ou 4.0 U1, vous n’aurez par exemple pas l’état des disques du RAID, ce qui est dommage, vous en conviendrez.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Configurer Yum pour qu’il fouille ici plutôt qu’ailleurs (repository local)</title><link>https://blog.zwindler.fr/2010/07/02/configurer-yum-pour-quil-fouille-ici-plutot-quailleur/</link><pubDate>Fri, 02 Jul 2010 14:01:28 +0000</pubDate><guid>https://blog.zwindler.fr/2010/07/02/configurer-yum-pour-quil-fouille-ici-plutot-quailleur/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/07/logo_yum_yum.webp" alt="Featured image of post Configurer Yum pour qu’il fouille ici plutôt qu’ailleurs (repository local)" /&gt;&lt;p&gt;Dans ma vie de tous les jours, installer des paquets compatibles avec ma version d’EyesOfNetwork (rappel: CentOS modifié) sans accès à Internet a été une petite souffrance. D’abord, vous êtes content quand vous avez trouvé qu’un paquet RPM pour CentOS (pour Red Hat Package manager) s’installe tout bêtement avec la commande « rpm -hiv [path_du_rpm.rpm] ». Après, vous vous amusez follement à installer les paquets qu’il vous manque un par un, en en trouvant par chance sur Internet qui ont la bonne version. Enfin ça c’est la méthode brutale. Ça marche, mais bon, ça marche surtout dans des cas simple avec des paquets pas trop regardant au niveau dépendances. Si jamais vous devez installer une version plus récente de la libxml sans aucun compilateur C, ça devient tout de suite un peu fastidieux&amp;hellip;&lt;/p&gt;
&lt;p&gt;Si comme moi vous êtes « heureux » de travailler offline, vous serez peut être quand même content d’apprendre comment installer des RPMs depuis un média quelconque (DVD de votre distrib, avec tous les paquets optionnels dessus, par exemple), comme si celui ci allait sur Internet.&lt;/p&gt;
&lt;p&gt;Pas besoin d’être parfait pour être perfectionniste. Si vous voulez un tuto détaillé où qui fait tout bien dans les règles de l’art, vous trouvez probablement sur le web d’autres tutos écrit par des gens plus au point que moi (j’avais un lien à donner mais je n’arrive pas à le retrouver, bien sûr). Cela dit, ce que je propose est une méthode simple et efficace, et même si ce n’est pas tout à fait la même chose, le problème et la façon de le résoudre seront assez similaires.&lt;/p&gt;
&lt;p&gt;Voyons donc plutôt une méthode rapide, sans entrer dans des considération trop techniques. Une fois l’ISO connecté (notamment dans le cas d’une machine virtuelle) ou le DVD inséré dans votre lecteur de galettes (EyesOfNetwork ou tout autre distrib utilisant Yum/des RPM), il faut le monter :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;mount /dev/hdc /media/cdrom
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Super! Maintenant que c’est fait, on va éditer les fichiers de configuration de Yum pour lui expliquer que le Net c’est mal. Pour cela, ouvrir avec votre éditeur de texte préféré (pour moi comme je suis en ssh ça sera VI, mais rien ne vous empêche de vous éclater avec sed et des regexp, si vous trouvez ça fun) &lt;strong&gt;/etc/yum.repos.d/CentOS-Base.repo&lt;/strong&gt;, et pour chaque entrée (nom de dépôt délimité par [nom_dépôt]) ajouter &lt;strong&gt;enabled = 0&lt;/strong&gt; (ou modifier le cas échéant).&lt;/p&gt;
&lt;p&gt;Maintenant que c’est fait, on va dire à Yum qu’il doit chercher localement en modifiant les lignes contenant &lt;strong&gt;enabled = 0&lt;/strong&gt; par &lt;strong&gt;enabled = 1&lt;/strong&gt; en éditant le fichier /etc/yum.repos.d/CentOS-Media.repo&lt;/p&gt;
&lt;p&gt;Enfin, tapez&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;rpm-import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Maintenant, vous pouvez tenter des « yum update », « yum install gcc », et tout s’installera en douceur. Ce très cher yum se chargera de vous débarrasser de cette tâche aussi harassante qu’inutile qui est de chercher à résoudre manuellement des dépendances entre paquets!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;« Et là, le miracle s’accomplit »&lt;br&gt;
« Ça vous épate hein? »&lt;br&gt;
[Les inconnus - Jésus II, le retour]&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Recyclage de plugins Nagios pour nourrir Cacti</title><link>https://blog.zwindler.fr/2010/06/30/reutiliser-ses-plugins-nagios-pour-cacti/</link><pubDate>Wed, 30 Jun 2010 17:39:13 +0000</pubDate><guid>https://blog.zwindler.fr/2010/06/30/reutiliser-ses-plugins-nagios-pour-cacti/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/06/Supervision-Metrologie.webp" alt="Featured image of post Recyclage de plugins Nagios pour nourrir Cacti" /&gt;&lt;p&gt;Aujourd’hui j’aimerais revenir sur ce que j’aifaits, et ça va parler de Nagios et de Cacti. Je plante le décor&amp;hellip;&lt;/p&gt;
&lt;p&gt;Je suis censé finir la mise en place du monitoring des réseaux que j’administre. L’an dernier, mon prédécesseur avait fait une grosse partie de l’aspect c**ant dans le monitoring, créer les templates des équipements et des services qui vont bien, puis rentrer une à une toutes les machines. Pour ce faire, il a utilisé une distribution appelée EyesOfNetwork. En gros, il s’agit d’un frontend pour Nagios (principalement) qui se compose d’une distrib CentOS modifiée, d’un Lamp, d’un Mysql, d’un Nagios et d’un Cacti, le tout enrobé dans une interface graphique (plus ou moins pratique). Pour de plus amples informations je vous conseille d’aller jeter un œil &lt;a class="link" href="http://www.eyesofnetwork.com/?lang=fr" target="_blank" rel="noopener"
&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J’ai pas mal bossé sur les divers plugins qui étaient utilisés par la communauté pour monitorer VMWare, notamment les VM et les hosts. En voici deux que je conseille tout particulièrement, même si j’ai pas mal galéré pour installer la multitude de dépendances offline (et oui, je travaille coupé du monde) et que d’autres plugins sont probablement très bien aussi :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="http://www.op5.com/support/documentation/how-to/400-monitoring-vmware-esx-3x-esxi-vsphere-4-and-vcenter-server" target="_blank" rel="noopener"
&gt;check_esx3&lt;/a&gt; pour avoir accès à tout ce qui est CPU, RAM, Disques, &amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://web.archive.org/web/20131212160532/https://communities.vmware.com/docs/DOC-7170" target="_blank" rel="noopener"
&gt;check_esxi_wbem.py (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt; pour les checks hardware&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J’en parlerai probablement un peu plus une autre fois&amp;hellip;&lt;/p&gt;
&lt;p&gt;Bon, mais une fois que j’ai intégré avec succès ces plugins à mon Nagios préféré, je me suis penché vers le Cacti d’EyesOfNetwork pour générer mes beaux graphiques. Une fois que j’ai réussi à comprendre l’interface graphique de Cacti (ça m’a pris un peu de temps, mais une fois qu’on est tombé &lt;a class="link" href="https://web.archive.org/web/20210117095431/https://docs.cacti.net/manual:087" target="_blank" rel="noopener"
&gt;sur cette page de la documentation officielle (lien mort, j&amp;rsquo;utilise Internet Archive)&lt;/a&gt;, et plus particulièrement sur la partie &amp;ldquo;data input methods&amp;rdquo;, rien ne peut plus vous arrêter, plus d’excuses), j’ai compris que j’allais devoir trouver un moyen simple d’adapter mes bons vieux plugins Nagios. Mais comment faire?&lt;/p&gt;
&lt;p&gt;Pour ceux qui n’auraient pas totalement percuté où je veux en venir, je vais tout de suite mettre le doigt là où ça fait mal. Prenons l’exemple d’une bête vérification que va chercher la charge CPU de votre ESXi préféré :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Une sortie Nagios est de cette forme CHECK_ESX3 OK cpu_usage=33.33 % | cpu_usage=33.33%;80;90&lt;/li&gt;
&lt;li&gt;Une sortie compatible avec Cacti c’est&amp;hellip; 33.33&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mais WTF me direz vous ! Bon j’exagère un peu. On peut spécifier plusieurs sorties comme ceci « cpu_usage:33.33 mem_usage:2311 ». Toujours est il que c’est très moche et que l’on va devoir sortir notre boite à outils.&lt;/p&gt;
&lt;p&gt;Ma première idée a été &lt;code&gt;sed&lt;/code&gt;. Pourquoi sed? Pourquoi pas. Sur le moment ça m’a paru une bonne idée de juste donner à manger à Cacti le path de mon script Nagios. Bon même si je ne suis pas forcément très à l’aise avec les regexp, un petit bruteforce des possibilités envisageables m’a permis de me remettre dans le bain et de produire un truc correct qui marche notamment pour le script check_esx3 dans le cadre d’un appel à un serveur ESX(i) pour obtenir le « cpu usage »&amp;hellip;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/bin/perl &amp;lt;path_cacti&amp;gt;/scripts/ln-s_to_nagios/plugins/check_esx3 -H xxx.xxx.xxx.xxx -u user -p pass -l cpu -s usage | sed &amp;#39;s/.*=([0-9]*.[0-9]*).*/1/&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Il est très possible que cette solution ne soit pas la meilleure que l’on puisse trouver, mais j’étais content de moi, car dans mon shell, ça marchait très bien. Les experts qui me lisent sont en train de se dire « qu’il est naïf ! ». Effectivement&amp;hellip; ça ne marche pas du tout. Je ne sais pas si c’est le lien symbolique ou le pipe qui bloque, mais cacti ne trouve pas ce qu’il faut, et enregistre misérablement un &lt;strong&gt;NaN&lt;/strong&gt; toutes les 5 minutes.&lt;/p&gt;
&lt;p&gt;Du coup, je me suis tourné vers ma 2ème passion dans la vie, et j’ai écrit un mini script perl dont le but ultime était d’appeler le script check_esx3, puis de récupérer la sortie et d’y appliquer la même regexp. Alors si vous voulez faire comme moi et que vous ne vous êtes pas trop demandé comme Cacti fonctionne, je vais vous épargner un petit moment « débogage en aveugle ».&lt;/p&gt;
&lt;p&gt;En fait, Cacti utilise le cron pour ordonnancer toutes les 5 minutes ses checks, et c’est bien normal si on y réfléchit un peu. Du coup, le cron exécute avec l’utilisateur cacti, mais dans un tout autre contexte que le contexte courant. Au début naïvement j’avais écrit un script du genre :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/usr/bin/perl
$res = `./check_esx3 blablabla`;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;« Ça n’est pas du tout la bonne réponse ! » Il faut absolument mettre des chemins absolus, et ne pas utiliser de liens symboliques. Une fois que vous aurez respecté ces indications, vous devriez pouvoir adapter vos scripts préférés pour qu’ils soient compatibles Cacti.&lt;/p&gt;
&lt;p&gt;Juste un p’ti lien vers un script qui marche pour l’exemple cité dans l’article &lt;a class="link" href="misc/esx_host_cpu.pl" &gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Un dernier questionnement : est ce que le mieux ça ne serait pas d’utiliser le module PNP pour Nagios, plutôt que de multiplier inutilement vos checks (et d’adapter vos scripts)? A suivre.&lt;/p&gt;</description></item></channel></rss>