<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nagios Exchange on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/nagios-exchange/</link><description>Recent content in Nagios Exchange on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Tue, 08 Jan 2019 12:45:34 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/nagios-exchange/index.xml" rel="self" type="application/rss+xml"/><item><title>Superviser des appliances HPE StoreVirtual VSA (LeftHand) avec Nagios/Centron/Shinken</title><link>https://blog.zwindler.fr/2019/01/08/superviser-des-appliances-hp-storevirtual-vsa-lefthand-os-avec-nagios-centron-shinken/</link><pubDate>Tue, 08 Jan 2019 12:45:34 +0000</pubDate><guid>https://blog.zwindler.fr/2019/01/08/superviser-des-appliances-hp-storevirtual-vsa-lefthand-os-avec-nagios-centron-shinken/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/02/hp_vsa-1.webp" alt="Featured image of post Superviser des appliances HPE StoreVirtual VSA (LeftHand) avec Nagios/Centron/Shinken" /&gt;&lt;h2 id="superviser-des-lefthand-"&gt;Superviser des Lefthand ?
&lt;/h2&gt;&lt;p&gt;Dans une vie antérieure (article dans mes tiroirs depuis fin 2015 a priori XD), j’ai eu à gérer, &lt;em&gt;on premise&lt;/em&gt;, du stockage hautement disponible HPE VSA pour mes clusters VMware.&lt;/p&gt;
&lt;p&gt;Si vous êtes ici, c’est sûrement parce que vous aussi, vous avez acheté des LeftHand (StoreVirtual P4000) et/ou des HPE VSA, et que vous voulez les superviser.&lt;/p&gt;
&lt;p&gt;La plupart des tâches d’administration se font depuis la CMC (Centralized Management Console), mais clairement ce n’est pas hyper pratique. La section 7 du manuel StoreVirtual traite de la supervision en général : h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c04581885-1.pdf (lien mort, pas sauvegardé par Internet Archive).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/02/hpvsa_ftp.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Heureusement, la documentation explicite clairement qu’il est possible d’activer SNMP pour externaliser tout ça.&lt;/p&gt;
&lt;p&gt;A noter, je n’ai pas pu m&amp;rsquo;empêcher de glousser en lisant cette petit phrase dans un manuel d’administration un peu plus ancien, qui dit que vous ne pouvez pas changer, ni même supprimer (#Sécurité), les communautés par défaut :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2018/12/sanmon.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Section 7 du manuel d’administration &lt;a class="link" href="http://www.hp.com/ctg/Manual/c01865545.pdf" target="_blank" rel="noopener"
&gt;http://www.hp.com/ctg/Manual/c01865545.pdf&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="nagios--centreon--shinken"&gt;Nagios / Centreon / Shinken
&lt;/h2&gt;&lt;p&gt;Pour superviser mes machines dans mes DC « on-premise », j’utilisais Centreon. Tout naturellement je me suis tourné vers Nagios Exchange pour voir s’il n’y avait pas déjà des gens qui avaient fait le travail.&lt;/p&gt;
&lt;p&gt;2 plugins ont attirés mon attention :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/check_lefthand-2Epl/details" target="_blank" rel="noopener"
&gt;exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/check_lefthand-2Epl/details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/check_lhc/details" target="_blank" rel="noopener"
&gt;exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/check_lhc/details&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prérequis"&gt;Prérequis
&lt;/h2&gt;&lt;p&gt;Le plus récent et le plus téléchargé, &lt;strong&gt;check_lhc&lt;/strong&gt;, nécessite le téléchargement de MIB. Je les avaient trouvé sur &lt;strong&gt;circitor&lt;/strong&gt; (ex. &lt;a class="link" href="http://www.circitor.fr/Mibs/Html/L/LEFTHAND-NETWORKS-NUS-COMMON-CLUSTERING-MIB.php" target="_blank" rel="noopener"
&gt;www.circitor.fr/Mibs/Html/L/LEFTHAND-NETWORKS-NUS-COMMON-CLUSTERING-MIB.php&lt;/a&gt;), puis de les déposer dans votre serveur Nagios/Centreon/Shinken&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/usr/share/snmp/mibs/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;J’avais également trouvé des ressources sur le site d’HPE, mais comme ils passent leur temps à le refaire les 3 liens que j’avais sauvegardés sont maintenant HS. Voilà voilà.&lt;/p&gt;
&lt;p&gt;En gros, ce que ça disait, c’est que les MIB sont contenues dans l’installeur, celui qui est utilisé pour instancier les VSA la première fois.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/01_storevirtual.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/02_storevirtual.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Fallait le savoir&amp;hellip;&lt;/p&gt;
&lt;h2 id="configurer-snmp"&gt;Configurer SNMP
&lt;/h2&gt;&lt;p&gt;Comme les deux plugins utilisent SNMP, on va&amp;hellip; l’activer. &lt;strong&gt;#ThanksCaptainObvious&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Depuis la CMC, on peut donc configurer nos StoreVirtual pour qu’elles acceptent des connexions SNMP et configurer une communauté (voir &lt;a class="link" href="http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c04581885-1.pdf" target="_blank" rel="noopener"
&gt;le manuel d’admin, page 93&lt;/a&gt;). Clairement, ce n’est pas sorcier.&lt;/p&gt;
&lt;p&gt;Dans le &lt;strong&gt;Management Group&lt;/strong&gt;, on a un menu &lt;strong&gt;Event&lt;/strong&gt;, dans lequel on peut configurer un serveur SMTP (pratique pour recevoir les mails qui m’informe que mon cluster est à plat et que mes données sont définitivement corrompues et que je peux aller pointer à &lt;em&gt;Paul Emploi&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Et, &lt;strong&gt;SNMP&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/11/03_storevirtual.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="checker"&gt;Checker
&lt;/h2&gt;&lt;p&gt;Maintenant que vous avez activé SNMP (avec une communauté bien complexe, readonly et des restrictions IP à vos seuls serveurs de supervision, on est d’accord), on peut voir si ça marche.&lt;/p&gt;
&lt;p&gt;Personnellement j’ai préféré &lt;strong&gt;check_lefthand&lt;/strong&gt;, car la doc est plus fournie et les options plus nombreuses .&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;./check_lefthand.pl -H 10.10.10.16 -C hyperdifficultcommunity
Cowardly exiting, not instructed to check anything!
check_lefthand.pl -H -C [-t timeout] [-p port]
Additional Options:
--module-space
report the available space on each &amp;#39;module&amp;#39; within a management group
--module-status
report on the various status elements for each &amp;#39;module&amp;#39; within a management group
--volume-space
report the available space on each volume within a management group
--volume-status
report on the various status elements for each volume within a management group
--cluster-space
report the available space for each cluster within a management group
--cluster-status
report the status of each cluster within a management group
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les deux alertes que j’ai mises en place sont l’état du clusters, et le status de mes volumes (synchronisés ou pas entre les 2 salles).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;centreon$ ./check_lefthand.pl -H 10.10.10.16 -C hyperdifficultcommunity --cluster-status
OK - mgmt group: MyAwesomeHPVSA 5/5 Cluster Managers Active.
centreon$ ./check_lefthand.pl -H 10.10.10.16 -C public --volume-status
OK - mgmt group: MyAwesomeHPVSA 4 Volumes with valid replication and Data Protection.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A noter, tout n’est pas parfait. Dans certains cas, j’ai remarqué que l’alerte ne se déclenchait pas quand des nœuds étaient DOWN, car le compteur « total » de nœuds décrémentait en même temps que les nœuds tombaient (ce qui est très bête&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mais c’est quand même un début :)&lt;/p&gt;
&lt;h2 id="bonus--rage"&gt;Bonus : Rage
&lt;/h2&gt;&lt;p&gt;Ouais, je sais&amp;hellip;HPE VSA (maintenant HPe StoreVirtual VSA), quoi. L’alternative « géniale » de HPE à VSAN.&lt;/p&gt;
&lt;p&gt;Ne me blâmez pas&amp;hellip; A l’époque, on m’avait donné le choix entre 2 appliances physiques NetApps &lt;strong&gt;plus chères&lt;/strong&gt; et &lt;strong&gt;même pas hautement disponibles&lt;/strong&gt; (actif/passif) et donc les fameuses HPE VSA Storevirtual. Et puis sur le papier, ça paraissait robuste. C’est basé sur un produit éprouvé, les Lefthands (appliances physiques) et un OS Linux.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What could go wrong?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maintenant que je ne m’en occupe plus, je peux dire que c’est grâce à ce superbe outil que j’aurai fais un week end non-stop quasiment sans dormir au téléphone avec des techs HPE et VMware de tout autour du monde (mais je me suis fait payer plus de 25 heures d’astreinte &lt;strong&gt;#youpi&lt;/strong&gt;) parce que les nœuds tombaient les uns après les autres sans raison apparente.&lt;/p&gt;
&lt;p&gt;Pour les curieux, c’était un problème de hotspare qui se mettait en veille et bloquaient les nodes, les uns après les autres, dès qu’une commande « refresh storage usage » était lancée par l’ESXi (automatique ou manuel).&lt;/p&gt;
&lt;p&gt;C’est aussi mon record personnel &lt;strong&gt;du ticket support le plus longtemps&lt;/strong&gt;, tout constructeur/éditeur confondu. Les chiffres sont impressionnants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un mois pour trouver un workaround (désactiver les hotspares, #genious)&lt;/li&gt;
&lt;li&gt;plus de 200 emails&lt;/li&gt;
&lt;li&gt;5 mises à jours (dont 4 inutiles)&lt;/li&gt;
&lt;li&gt;3 interventions le soir sur la prod&lt;/li&gt;
&lt;li&gt;Et last but not least : &lt;strong&gt;2 ans&lt;/strong&gt; pour trouver le fix (alors que le problème était détecté puisqu’on savait qu’il suffisait de désactiver les hotspares).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;b&gt;DEUX&amp;hellip; ANS&amp;hellip;&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Au final, je ne suis même pas vraiment sûr que le problème soit fixé.&lt;/p&gt;
&lt;p&gt;Je ne suis plus sûr de rien, à part du niveau de compétence de HPE sur le sujet des serveurs et du stockage.&lt;/p&gt;
&lt;p&gt;Mais qui peut les blâmer, ce n’est pas leur cœur de métier après tout. &lt;strong&gt;#ohwait&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Configurer NSCA pour Centreon Engine</title><link>https://blog.zwindler.fr/2017/11/21/configurer-nsca-pour-centreon-engine/</link><pubDate>Tue, 21 Nov 2017 12:45:26 +0000</pubDate><guid>https://blog.zwindler.fr/2017/11/21/configurer-nsca-pour-centreon-engine/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/11/centreon-nsca.webp" alt="Featured image of post Configurer NSCA pour Centreon Engine" /&gt;&lt;h2 id="petit-rappel-de-ce-quest-nsca"&gt;Petit rappel de ce qu’est NSCA
&lt;/h2&gt;&lt;p&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Addons/Passive-Checks/NSCA--2D-Nagios-Service-Check-Acceptor" target="_blank" rel="noopener"
&gt;NSCA&lt;/a&gt;, pour &lt;strong&gt;Nagios Service Check Acceptor&lt;/strong&gt;, est un couple de binaires serveur et client permettant de réaliser les checks passifs avec Nagios. Le check passif est à l’initiative du serveur supervisé, alors qu’a contrario le check actif est déclenché par le serveur superviseur.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/11/nsca.png.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Au delà de la question de philosophie (j’ai rencontré de fervents défenseurs du check passif avec que je suis plutôt pour ne pas faire confiance au serveur surveillé pour qu’il nous dise qu’il va mal), il y a clairement des cas d’usage où les checks passifs sont bien plus indiqués.&lt;/p&gt;
&lt;p&gt;Si vous voulez aller plus loin sur le sujet actif vs passif, je vous propose d’aller lire &lt;a class="link" href="https://wooster.checkmy.ws/2014/05/monitoring-interne-externe-actif-passif/" target="_blank" rel="noopener"
&gt;l’article en Français de Olivier Jan&lt;/a&gt;, fondateur de &lt;a class="link" href="https://checkmy.ws/fr/" target="_blank" rel="noopener"
&gt;Check My Website&lt;/a&gt; et figure assez connue de la supervision open source FR.&lt;/p&gt;
&lt;h2 id="bon-alors-pourquoi-tu-fais-du-nsca-"&gt;Bon alors pourquoi tu fais du NSCA ?
&lt;/h2&gt;&lt;p&gt;Un bon exemple de usecase où les checks passifs sont clairement indiqués sont les événements applicatifs. Pour une raison ou pour une autre, un traitement applicatif (par exemple de type batch) a échoué. Je pourrais aller vérifier régulièrement les traitements en erreur mais l’ordonnanceur de nagios ne me permet pas de faire un polling plus fin qu’une minute, et en plus la plupart du temps, je vérifierai juste que tout est OK pour rien.&lt;/p&gt;
&lt;p&gt;En revanche, l’application, si elle est fiable, sait quand il y a eu une erreur et est capable de me le dire, uniquement quand cela arrive. Le check passif est dans ce cas parfaitement indiqué.&lt;/p&gt;
&lt;p&gt;Dans le cadre de la migration de ma supervision d’un Centreon 2.4 vers un CES 3.3 (un article est à venir, je ne fais rien dans l’ordre&amp;hellip;), il a été nécessaire de reconfigurer NSCA sur la nouvelle plateforme. La plateforme CES 3.3 étant basée sur un CentOS 6 ainsi que Centreon Engine et non plus Nagios directement, de nombreuses documentations ne sont plus à jour. Et pour cause, NSCA n’a pas pratiquement évolué depuis 2007 (une version sortie en 2011 et une mineure sortie de nulle part fin 2016).&lt;/p&gt;
&lt;p&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Addons/Passive-Checks/NSCA--2D-Nagios-Service-Check-Acceptor/details#rev-3575" target="_blank" rel="noopener"
&gt;Ce commentaire sur Nagios Exchange&lt;/a&gt; en est assez révélateur :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The NSCA addon has been ignored and neglected for years. For passive checks, try NRDP instead.&lt;/p&gt;
&lt;p&gt;I can’t imagine why NSCA is still a featured plugin on the Nagios Exchange when it hasn’t received an update in over 3 years.&lt;/p&gt;
&lt;p&gt;The NSCA addons work, but they are buggy, crash too often and will lead to false positives on your Nagios server.&lt;/p&gt;
&lt;p&gt;The 2.9 branch and 2.7 branch are not compatible. The 2.7 branch is still in wide use due to these compatibility issues, but it hasn’t received an update since 1997. The 2.9 branch hasn’t received an update since 2012.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ambiance.&lt;/p&gt;
&lt;h3 id="aparté-compatibilité"&gt;Aparté compatibilité
&lt;/h3&gt;&lt;p&gt;Comme l’indique le commentaire ci dessus que je n’ai malheureusement pas lu, les branches 2.9 et 2.7 ne sont pas compatibles. Ne vous fatiguez pas à essayer de les faire communiquer, ça ne fonctionnera pas. Vous verrez les connexions arriver mais aucun message passer côte serveur de supervision.&lt;/p&gt;
&lt;p&gt;Bon, il faut voir le bon côté des choses, ça me permet de vous offrir en fin d’article une superbe section debugging ;-).&lt;/p&gt;
&lt;h2 id="comment-linstaller-"&gt;Comment l’installer ?
&lt;/h2&gt;&lt;p&gt;On récupère les sources, directement depuis le serveur Centreon :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;wget https://github.com/NagiosEnterprises/nsca/releases/download/nsca-2.9.2/nsca-2.9.2.tar.gz
tar xzf nsca-2.9.2.tar.gz
cd nsca-2.9.2
./configure --prefix=/usr/share/centreon/ --with-trusted-path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/share/centreon/bin:/usr/lib/nagios/plugins
make all
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Les sources sont partiellement compilées avec les nouveaux chemins par défauts de CES, qui n’ont plus rien avoir avec ceux de Nagios (historiques).&lt;/p&gt;
&lt;p&gt;On copie le binaire « serveur » dans le dossier de Centreon Engine (pour rester cohérent avec l’ancien système de stockage des fichiers Nagios plus qu’autre chose, il peut être mis n’importe où).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp src/nsca /usr/share/centreon/bin/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On n’utilise pas le fichier de configuration disponible dans &lt;strong&gt;sample-config/nsca.cfg&lt;/strong&gt; car trop de paramètres ne sont plus en phase. Il est plus simple d’en créer directement un avec tous les bons paramètres :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat &amp;gt; /etc/centreon-engine/nsca.cfg &amp;lt;&amp;lt; EOF
log_facility=daemon
pid_file=/var/run/nsca.pid
server_port=5667
nsca_user=centreon-engine
nsca_group=centreon-engine
debug=0
command_file=/var/lib/centreon-engine/rw/centengine.cmd
alternate_dump_file=/var/lib/centreon-engine/rw/nsca.dump
aggregate_writes=0
append_to_file=0
max_packet_age=30
decryption_method=1
EOF
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A noter, la &lt;strong&gt;encryption/decryption_method&lt;/strong&gt; par défaut et l’absence de mot de passe font de cette solution quelque chose de très peu sécurisé. Je vous invite à consulter &lt;a class="link" href="https://github.com/NagiosEnterprises/nsca/blob/master/SECURITY.md" target="_blank" rel="noopener"
&gt;la page suivante pour plus de détails&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En revanche on peut utiliser la configuration par défaut pour avoir le client NSCA sur la machine (utile pour tester).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cp sample-config/send_nsca.cfg /etc/centreon-engine/send_nsca.cfg
chown centreon-engine:centreon-engine /etc/centreon-engine/send_nsca.cfg
cp src/send_nsca /usr/lib/nagios/plugins/
chown centreon-engine:centreon-engine /usr/lib/nagios/plugins/send_nsca
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On créé ensuite un script de démarrage. On est encore sur System V et des scripts d’init car CES 3.3 n’est pas livré sur une CentOS 7 mais une 6. A noter, il est également possible de l’installer via xinetd si vous préférez ou que vous en avez l’habitude. Moi je préfère l’avoir comme un service à part.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/init.d/nsca
#!/bin/sh
### BEGIN INIT INFO
# Provides: nsca
# Required-Start: $local_fs $remote_fs $syslog $named $network $time
# Required-Stop: $local_fs $remote_fs $syslog $named $network
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/Stop the Nagios Service Check Acceptor (nsca) daemon
### END INIT INFO
DAEMON=/usr/share/centreon/bin/nsca
NAME=nsca
DESC=&amp;#34;Nagios Service Check Acceptor&amp;#34;
CONF=/etc/centreon-engine/nsca.cfg
OPTS=&amp;#34;--daemon -c $CONF&amp;#34;
PIDFILE=&amp;#34;/var/run/nsca.pid&amp;#34;
. /etc/init.d/functions
test -f $DAEMON || exit 0
# support a default file
if [ -f /etc/default/nsca ]; then
. /etc/default/nsca
fi
case &amp;#34;$1&amp;#34; in
start)
echo &amp;#34;Starting $DESC&amp;#34; &amp;#34;$NAME&amp;#34;
daemon --pidfile $PIDFILE $DAEMON $OPTS
;;
stop)
echo &amp;#34;Stopping $DESC&amp;#34; &amp;#34;$NAME&amp;#34;
killproc -p $PIDFILE $NAME
;;
restart)
$0 stop
$0 start
;;
status)
status_of_proc -p $PIDFILE $DAEMON $NAME
;;
*)
echo &amp;#34;Usage: $N {start|stop|restart|status}&amp;#34;
exit 1
;;
esac
exit 0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On rend le script exécutable, on l’ajoute au démarrage, et on le lance :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;chmod +x /etc/init.d/nsca
chkconfig --level 235 nsca on
/etc/init.d/nsca start
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="test"&gt;Test
&lt;/h2&gt;&lt;h3 id="sur-le-serveur-centreon"&gt;Sur le serveur Centreon
&lt;/h3&gt;&lt;p&gt;Pour valider que tout fonctionne, on peut se créer un service &lt;strong&gt;nsca_test&lt;/strong&gt; sur l’hôte par défaut (Centreon-Server). Ne pas oublier d’autoriser les checks passifs sur ce service dans sa configuration !&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;su - centreon-engine
echo -e &amp;#34;Centreon-Server\tnsca_test passif\t2\tNE PAS TENIR COMPTE&amp;#34; | /usr/lib/nagios/plugins/send_nsca -H 127.0.0.1 -c /etc/centreon-engine/send_nsca.cfg
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="sur-un-client"&gt;Sur un client
&lt;/h3&gt;&lt;p&gt;Maintenant que notre test fonctionne, le mieux c’est quand même de tester en vrai que notre serveur superviser peut déclencher une alerte et que le serveur la récupère. Pour ce faire vous pouvez créer un petit script qui vous servira à valider que tout fonctionne.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /usr/lib/nagios/libexec/test_nsca.sh
#!/bin/bash
#test_nsca.sh
echo -e &amp;#34;srv_supervise\tmon_service_passif\t2\tmessage&amp;#34; | /usr/lib/nagios/libexec/send_nsca -H 200.140.20.186 -c /etc/nagios/send_nsca.cfg
su - nagios
/usr/lib/nagios/libexec/test_nsca.sh
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="debugging"&gt;Debugging
&lt;/h2&gt;&lt;p&gt;Et oui ! Des fois ça ne fonctionne pas&amp;hellip; Lorsque côté client vous avez « 0 packet sent », pas la peine de se fatiguer, c’est côté client que ça coince dans ce cas là. Le format des séparateurs ou le nombre de champs n’est peut être pas le bon.&lt;/p&gt;
&lt;p&gt;En revanche, si vous recevez « 1 data packet(s) sent to host successfully. », c’est que c’est bien parti et c’est côté serveur de supervision qu’il faut regarder.&lt;/p&gt;
&lt;p&gt;J’ai retrouvé un article sur &lt;a class="link" href="https://support.nagios.com/kb/article.php?id=83" target="_blank" rel="noopener"
&gt;le support de Nagios qui donne quelques pistes&lt;/a&gt;, bien qu’elles soient light&amp;hellip;&lt;/p&gt;
&lt;p&gt;On peut commencer par demander à NSCA de loguer quelque chose. Oui parce que par défaut, le serveur NSCA ne logue rien du tout&amp;hellip; Dans &lt;strong&gt;rsyslog.conf&lt;/strong&gt;, ajouter &lt;strong&gt;daemon.debug&lt;/strong&gt; pour &lt;strong&gt;/var/log/messages&lt;/strong&gt; :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/rsyslog.conf
[...]
*.info;mail.none;authpriv.none;cron.none;daemon.debug /var/log/messages
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dans la configuration de nsca, on peut aussi passer en mode debug (pas très bavard malheureusement).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/centreon-engine/nsca.cfg
[...]
debug=1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour prise en compte, rechargez les deux démons :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;service nsca restart
service rsyslog restart
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="erreur-de-décalage-de-temps-entre-les-serveurs"&gt;Erreur de décalage de temps entre les serveurs
&lt;/h3&gt;&lt;p&gt;Par défaut, les paquets plus vieux de 30 secondes sont ignorés. Ceci peut poser problème dans le cas où les serveurs de temps ne sont pas à jour.&lt;/p&gt;
&lt;p&gt;Côté client, on a le message suivant :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1 data packet(s) sent to host successfully.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Côté serveur, on a le message suivant dans /var/log/messages (si debug=1 et daemon.debug dans rsyslog.conf)&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Nov 14 16:00:03 sup02 nsca[6786]: Handling the connection...
Nov 14 16:00:04 sup02 nsca[6786]: End of connection...
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Alors qu’on devrait avoir :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Nov 14 15:51:14 sup02 nsca[1721]: Handling the connection...
Nov 14 15:51:15 sup02 nsca[1721]: SERVICE CHECK -&amp;gt; Host Name: &amp;#39;srv_supervise&amp;#39;, Service Description: &amp;#39;mon_service_passif&amp;#39;, Return Code: &amp;#39;2&amp;#39;, Output: &amp;#39;TEST TEST TEST DGE DGE DGE&amp;#39;
Nov 14 15:51:15 sup02 nsca[1721]: Attempting to write to nagios command pipe
Nov 14 15:51:15 sup02 nsca[1721]: End of connection...
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Le paramètre à modifier dans ce cas là (même si le mieux serait de corriger les serveurs de temps&amp;hellip;) est &lt;strong&gt;max_packet_age&lt;/strong&gt; dont la valeur par défaut est 30. Vous pouvez la monter jusqu’à 900 (15 minutes) ou bien la positionner à 0 pour accepter tous les paquets, quelque soit leur age.&lt;/p&gt;</description></item><item><title>check_emc_rlp : supervision des LUNs dans le RLP sur baies VNX EMC²</title><link>https://blog.zwindler.fr/2017/04/25/plugin-de-supervision-rlp-emc%C2%B2-check_emc_rlp/</link><pubDate>Tue, 25 Apr 2017 12:00:51 +0000</pubDate><guid>https://blog.zwindler.fr/2017/04/25/plugin-de-supervision-rlp-emc%C2%B2-check_emc_rlp/</guid><description>&lt;img src="https://blog.zwindler.fr/2017/04/check_emc_rlp03.webp" alt="Featured image of post check_emc_rlp : supervision des LUNs dans le RLP sur baies VNX EMC²" /&gt;&lt;h2 id="dans-la-série-"&gt;Dans la série &amp;hellip;
&lt;/h2&gt;&lt;p&gt;&amp;hellip; plugins pour les outils de supervision Nagios(r) like et « Nagios(r) compatibles » (Icinga, Naemon, Shinken, …), je met à disposition un script que j’ai écris il y a quelques années et qui permet de vérifier et de grapher que vous disposez toujours des LUNs dans le RLP (Reserved LUN Pool). Je l’ai appelé sobrement check_emc_rlp et j’en parle aussi dans &lt;a class="link" href="https://blog.zwindler.fr/2017/04/18/naviseccli-pour-piloter-ses-baies-emc-vnx-depuis-linux/" &gt;cet article à propos de NaviSecCli&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Mon problème initial était que j’avais plusieurs fois eu mes snapshots bloqués lors de l’utilisation un peu trop intensive du LUN source. Il n’y avait plus de place sur les LUNs dans le RLP, ce qui a pour effet de bloquer le snapshot et donc la base de préproduction que j’avais dessus. Un petit script qui vérifie qu’il y a toujours au moins 1 LUN non utilisé par LUN snapshoté permet de garder un peu de marge avant plantage.&lt;/p&gt;
&lt;p&gt;Voilà ce que donne ce &lt;code&gt;check_emc_rlp&lt;/code&gt; une fois mis en place dans Centreon :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/04/check_emc_rlp04.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le script nous informe qu’il reste suffisamment de LUN dans le RLP lorsqu’il y a des snapshots actifs&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/04/check_emc_rlp01.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La courbe de performance (PERFDATA Nagios) indique ici qu’il reste 3 LUN par LUN snapshoté (12 en fait en tout), et qu’on remonte à 6 par LUN à minuit (moment où on rafraichit notre préproduction et que les snapshots se vident)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2017/04/check_emc_rlp03.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;La vue agrégée avec à la fois le nombre de LUN disponibles dans le RLP ainsi que le remplissage des LUN utilisés pour stocker le différentiel, par LUN snapshoté. Ce qui est intéressant ici c’est qu’on voit bien l’évolution du remplissage et le moment où la baie décide qu’elle a besoin d’un nouveau LUN en provenance du RLP&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Comme d’habitude pour le téléchargement et la documentation, c’est sur &lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/EMC-Clarion/check_emc_rlp/details" target="_blank" rel="noopener"
&gt;Nagios Exchange&lt;/a&gt; et &lt;a class="link" href="https://github.com/zwindler/check_emc_rlp" target="_blank" rel="noopener"
&gt;Github&lt;/a&gt; que ça se passe.&lt;/p&gt;
&lt;p&gt;Pour rappel, vous trouverez aussi mes autres plugins Nagios dans le &lt;a class="link" href="https://github.com/zwindler/" target="_blank" rel="noopener"
&gt;même repository Github.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Plugin de supervision check_wlst_sessions (WebLogic 9+)</title><link>https://blog.zwindler.fr/2016/11/09/plugin-check_wlst_sessions-weblogic-9/</link><pubDate>Wed, 09 Nov 2016 13:00:18 +0000</pubDate><guid>https://blog.zwindler.fr/2016/11/09/plugin-check_wlst_sessions-weblogic-9/</guid><description>&lt;img src="https://blog.zwindler.fr/2016/10/check_wlst_sessions-1.webp" alt="Featured image of post Plugin de supervision check_wlst_sessions (WebLogic 9+)" /&gt;&lt;p&gt;Dans la série : plugin pour les outils de supervision Nagios(r) like et « Nagios(r) compatibles » (Icinga, Naemon, Shinken, &amp;hellip;), je met à disposition un script que j’ai écris il y a quelques années et qui permet de vérifier et de grapher que vous n’avez pas atteint un certain nombre de sessions concurrentes dans le serveur d’application Java WebLogic d’Oracle.&lt;/p&gt;
&lt;p&gt;Mon problème initial était que je n’arrivais pas à avoir de manière simple le nombre de sessions sur une JVM WbLogic. Je pouvais compter le nombre de processus/threads, mais ça ne correspond pas forcément à un nombre d’utilisateurs actifs.&lt;/p&gt;
&lt;p&gt;Or, l’éditeur du progiciel nous avait fourni un sizing en fonction d’un nombre d’utilisateurs. Il était donc important d’avoir ce chiffre de manière fiable.&lt;/p&gt;
&lt;p&gt;Il existait un plugin similaire pour la version 8 du serveur d’application (&lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Weblogic/check_weblogic_sessions/details" target="_blank" rel="noopener"
&gt;développé par Sergei Haramundanis&lt;/a&gt;), mais qui utilisait un module Weblogic.Admin, déprécié dans la version 10 que j’utilise.&lt;/p&gt;
&lt;p&gt;Je me suis donc basé sur le WebLogic Scripting Tool (WLST) qui permet d’administrer et de récupérer des informations des serveurs WebLogic via des commandes Python interprété par Java (-_-« ). En fait, on peut réaliser l’ensemble des opérations disponibles dans la console WebLogic (l’AdminServer) en script.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/10/check_wlst_sessions3.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La documentation du WLST est &lt;a class="link" href="http://docs.oracle.com/cd/E13222_01/wls/docs90/config_scripting/reference.html" target="_blank" rel="noopener"
&gt;disponible à l’URL suivante&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Voilà ce que ça donne, une fois mis en place :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/10/check_wlst_sessions2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/10/check_wlst_sessions-1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Comme d’habitude pour le téléchargement et la documentation, c’est sur &lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/Java-Applications-and-Servers/Weblogic/check_wlst_sessions/details" target="_blank" rel="noopener"
&gt;Nagios Exchange&lt;/a&gt; et &lt;a class="link" href="https://github.com/zwindler/check_wlst_sessions" target="_blank" rel="noopener"
&gt;Github&lt;/a&gt; que ça se passe.&lt;/p&gt;
&lt;p&gt;Pour rappel, vous trouverez aussi mes autres plugins Nagios dans le &lt;a class="link" href="https://github.com/zwindler/" target="_blank" rel="noopener"
&gt;même repository Github.&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Plugin check_mem_ng.sh compatible RHEL 7+</title><link>https://blog.zwindler.fr/2015/07/16/plugin-check_mem_ng-sh-compatible-rhel-7/</link><pubDate>Thu, 16 Jul 2015 12:28:35 +0000</pubDate><guid>https://blog.zwindler.fr/2015/07/16/plugin-check_mem_ng-sh-compatible-rhel-7/</guid><description>&lt;img src="https://blog.zwindler.fr/2010/04/nyanonymous2.webp" alt="Featured image of post Plugin check_mem_ng.sh compatible RHEL 7+" /&gt;&lt;p&gt;Si vous utilisez Nagios(r) ou un des produits compatibles, vous « graphez » probablement l’usage de la RAM sur vos serveurs Linux.&lt;/p&gt;
&lt;p&gt;Il existe plusieurs méthodes pour le faire : via SNMP, via NRPE, &amp;hellip; Un des scripts que j’utilisais en production sur l’ensemble de mes Linux (qui m’avait plu par sa simplicité) était &lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem-2Esh/details" target="_blank" rel="noopener"
&gt;check_mem.sh&lt;/a&gt;. Je l’exécutais à distance à l’aide de NRPE.&lt;/p&gt;
&lt;p&gt;Cependant, depuis la version 7 de RedHat, un changement dans la commande « free » remontait un résultat erroné (changement du nombre de colonnes).&lt;/p&gt;
&lt;p&gt;J’en ai donc profité pour le réécrire, corrigeant ainsi le « bug » et en ajoutant quelques fonctionnalités qui me manquaient, comme des valeurs par défaut, des options supplémentaires et une meilleure gestion des perfdata(*).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/graph.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le nouveau mode de graphiques &amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Je l’ai laissé compatible avec les installations check_mem.sh existantes. En théorie, vous avez juste à remplacer le script et tout devrait fonctionner comme avant, sans dépendances supplémentaires ou modification de configuration côté client et côté serveur.&lt;/p&gt;
&lt;p&gt;C’est ici que ça se passe :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/zwindler/check_mem_ng" target="_blank" rel="noopener"
&gt;Page Github du plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://exchange.nagios.org/directory/Plugins/System-Metrics/Memory/check_mem_ng-2Esh/details" target="_blank" rel="noopener"
&gt;Page Nagios Exchange&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour rappel, vous trouverez aussi mes autres plugins Nagios dans le &lt;a class="link" href="https://github.com/zwindler" target="_blank" rel="noopener"
&gt;même repository Github&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;(*)pour mon usage. Mais je donne aussi la possibilité de conserver les perfdata historique à l’aide de la variable &lt;strong&gt;PERFDATA_LEGACY&lt;/strong&gt; que vous pouvez positionner à &lt;strong&gt;1&lt;/strong&gt;, ou utiliser l’option &lt;strong&gt;check_mem_ng.sh -l&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/07/graph_legacy.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip; et le mode legacy&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>