FAN 2.4

[Français]

Bonjour,

je suis fier de vous annoncer la disponibilité de la nouvelle monture FAN 2.4/

C’est la nouvelle version stable de FAN . L’iso est téléchargeable sur http://www.fullyautomatednagios.org/wordpress/download/

Les nouveautés :

[English]

I’m very proud to announce the availability of a new version of FAN : 2.4.

This version of FAN is in stable status. You can download FAN 2.4 iso here : http://www.fullyautomatednagios.org/wordpress/download/

Changes :

Get Trend on HP EVA Storage Array with check_wmi_plus

Hi all,

I am inspired on cacti evaperf to monitor HP EVA Storage Array and i wrote an ini file for check_wmi_plus plugin. You can use it with Nagios, Shinken, Centreon Engine, Icinga…It’s a free and easy solution to monitor the HP EVA Storage Array

So I suppose check_wmi_plus plugin is installed on your monitoring engine and “Command View EVA” is installed and working on Windows Server.

The WMI Class used :

  • Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup
  • Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics
  • Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection
  • Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray
  • Win32_PerfRawData_EVAPMEXT_HPEVAStorageController

You can test the “HP WMI Storage Providers” service is running

/bin/wmic -U "login"%"password" //Host 'Select Name from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController'

If your wmic command gets you this :

ERROR: Retrieve result data.

Solution :

Stop Winmgmt service
Restart HPWMISTOR service
Start Winmgmt service

So, here my config file ini for check_wmi_plus : checkhpeva.ini

[checkhpeva listphysicaldiskgroup]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup
display=Name

[checkhpeva physicaldiskgroup]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAPhysicalDiskGroup where Name="{_arg1}"
display=DriveLatencyus
display=DriveQueueDepth
display=ReadKBPers
display=ReadLatencyus
display=ReadReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=DriveLatencyus||DriveLatencyus
perf=DriveQueueDepth||DriveQueueDepth
perf=ReadKBPers|KB/s|ReadKBPers
perf=ReadLatencyus||ReadLatencyus
perf=ReadReqPers|/s|ReadReqPers
perf=WriteKBPers|KB/s|WriteKBPers
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers

[checkhpeva listhostportstatistics]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics
display=Name|#

[checkhpeva hostportstatistics]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostPortStatistics where Name="{_arg1}"
display=AvQueueDepth
display=ReadKBPers
display=ReadLatencyus
display=ReadReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=AvQueueDepth||AvQueueDepth
perf=ReadKBPers|KB/s|KB_Read_From_Cache_Per_Second
perf=ReadLatencyus||ReadLatencyus
perf=ReadReqPers|/s|ReadReqPers
perf=WriteKBPers|KB/s|KB_Write_Per_Second
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers
[checkhpeva listhostconnection]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection
display=Name|#

[checkhpeva hostconnection]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAHostConnection where Name="{_arg1}"
display=QueueDepth
perf=QueueDepth||{Name} Average_Queue_Depth

[checkhpeva liststoragearray]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray
display=Name|#

[checkhpeva storagearray]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageArray where Name="{_arg1}"
display=TotalhostKBPers
display=TotalhostReqPers
perf=TotalhostKBPers|KB/s|Total_Host_KB_Per_Second
perf=TotalhostReqPers|/s|Total_Host_Requests_Per_Second

[checkhpeva liststoragecontroller]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController
display=Name|#

[checkhpeva storagecontroller]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAStorageController where Name="{_arg1}"
display=PercentDataTransferTime
display=PercentProcessorTime
perf=PercentDataTransferTime|%|PercentDataTransferTime
perf=PercentProcessorTime|%|PercentProcessorTime
  [checkhpeva listvirtualdisk]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk
display=Name|#

[checkhpeva virtualdisk]
query=Select * from Win32_PerfRawData_EVAPMEXT_HPEVAVirtualDisk where Name like "%{_arg1}%"
display=ReadHitKBPers
display=ReadHitLatencyus
display=ReadHitReqPers
display=ReadMissKBPers
display=ReadMissLatencyus
display=ReadMissReqPers
display=WriteKBPers
display=WriteLatencyus
display=WriteReqPers
perf=ReadHitKBPers|KB/s|ReadHitKBPers
perf=ReadHitLatencyus||ReadHitLatencyus
perf=ReadHitReqPers|/s|ReadHitReqPers
perf=ReadMissKBPers|KB/s|ReadMissKBPers
perf=ReadMissLatencyus||ReadMissLatencyus
perf=ReadMissReqPers|/s|ReadMissReqPers
perf=WriteKBPers|KB/s|WriteKBPers
perf=WriteLatencyus||WriteLatencyus
perf=WriteReqPers|/s|WriteReqPers

 

Save checkhpeva.ini file in check_wmi_plus.d directory. FYI, I dont want to be able the test on warn/critical criteria. it is an improvement to do 🙂

Create Nagios command :

define command{
  command_name                    check_hpeva_hostconnection
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s allhostconnection -a $ARG3$
  ;$ARG1$                         Compte
  ;$ARG2$                         Mot de passe
  ;$ARG3$                         physicaldiskgroup
}

define command{
  command_name                    check_hpeva_hostportstatistics
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s hostportstatistics -a $ARG3$
  ;$ARG1$                         Compte
  ;$ARG2$                         mot de passe
  ;$ARG3$                         hostportstatistics
}

define command{
  command_name                    check_hpeva_physicaldiskgroup
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s physicaldiskgroup -a $ARG3$
  ;$ARG1$                         Compte
  ;$ARG2$                         Mot de passe
  ;$ARG3$                         physicaldiskgroup
}

define command{
  command_name                    check_hpeva_storagearray
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s storagearray -a $ARG3$
  ;$ARG1$                         Compte
  ;$ARG2$                         Mot de passe
  ;$ARG3$                         storagearray
}

define command{
  command_name                    check_hpeva_storagecontroller
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s storagecontroller -a $ARG3$
  ;command_example                        !Administrateur!mdp!exemple
  ;$ARG2$                         Mot de passe
  ;$ARG3$                         storagecontroller
}

define command{
  command_name                    check_hpeva_virtualdisk
  command_line                    $USER1$/check_wmi_plus.pl -H $HOSTADDRESS$ -u "$ARG1$" -p "$ARG2$" -m checkhpeva -s virtualdisk -a $ARG3$
  ;$ARG1$                         Compte
  ;$ARG2$                         Mot de passe
  ;$ARG3$                         storagearray
}

Read this PDF here for more informations on wmi counter.

Screenshoot : Create services and you can display graph with pnp4nagios or Centreon

 

 

En attendant centreon 2.4, thruk propose son panorama view

Pour ceux qui suivent le projet de Centreon de près, la prochaine version 2.4 intègrera les widgets et bien plus encore. Une fonctionnalité très attendue pour ma part car on pourra afficher des graphes, l’état des services sur un même tableau de bord avec la possibilités de filtrer sur plusieurs critères, la rotation de plusieurs dashbord… Le but étant d’utiliser un seul et même outil pour personnaliser sa supervision via des tableaux de bord.

Néanmoins, si vous êtes impatient comme moi et que vous regardez un peu ce que propose les autres outils, j’ai dernièrement testé le panorama view de Thruk. C’est un nouveau plugin qui est apparu en version 1.36 de (sorti le 19 juil 2012) qui ressemble beaucoup au dashbord que propose Icinga. Ce plugin vous permet de créer autant de dashbord que vous voulez et de rajouter des widgets.Personnellement, j’apprécie beaucoup le fait qu’on peut déplacer et redimensionner ses widgets à foison.

Parmi les widgets fournis, on retrouvera :

  • l’état des ses hosts et services
  • la disponibilité des hosts et services (sous forme d’un camembert)
  • la métrologie provenant des graphes pnp
  • les métrics et graphes de ModGearman

Mais voilà en tant qu’utilisateur de Centreon, j’aurai bien aimé que mes graphes RRD s’affichent sous Thruk et heureusement que mon ami Tensibai a fourni un patch très intéressant : la possibilité d’afficher les graphes RRD via l’autologin key (un peu comme un cookie de session) et en fournissant le host et le service en paramètre.

Son utilisation est très simple; voici un petit howto pour l’activer :

  • Modifier la configuration d’un utilisateur pour activer l’autologin key
  • Allez dans Configuration>Users, choisissez notre utilisateur (pour ma part : nagiosadmin), puis dans l’onglet dans l’onglet “Centreon Authentification”
  • Générer un autologin key, puis sauvegarder

Pour générer un graphe automatiquement, il va falloir utiliser une url bien particulière :

http://IP/centreon/include/views/graphs/generateGraphs/generateImage.php?username=<USER>&akey=<KEY>&hostname=<HOST>&service=<SERVICE>

Remplacer <USER> <KEY> <HOST> <SERVICE> par vos propres valeurs.

Maintenant dans Thruk en allant le panorama view, il faut utiliser le widget Pnp Graph

Dans le champ Graph, il faut utiliser l’url de Centreon avec fournissant les bons paramètres de <USER> <KEY> <HOST> <SERVICE>

A la fin, cela ressemble à ça chez moi :

Vous n’êtes pas convaincu : essayer donc de faire vos propres test sur le site : http://demo.fullyautomatednagios.org/thruk/

 

Capacity planning avec Centreon, c’est possible

Voici un petit article qui va intéresser plus d’un sur la mise en place du capacity planning sous Centreon. On le retrouve aussi sous le nom de forecasting ou prediction quand on fait des recherches sous cacti ou rrdtool…

Rentrons dans le vif du sujet, je me suis inspiré de cet article et voici un exemple pour vous illustrer sa mise en oeuvre. Je vous passe les commentaires sur les algorithmes utilisés mais vous pouvez les lire ici et encore ici

Pour commencer, je vais prendre l’exemple de mon hôte qui s’appelle srv1 et son service Linux_FileSystem_/data_Usage. J’ai 2 données de performances used et size pour ce service

Nous allons créer 3 virtual metric dans Centreon>Views>Graphs>Metrics, il faudra sélectionner pour les 3, le hôte srv1 et le service Linux_FileSystem_/data_Usage

Voici la première : D2

  • Nom : D2 (c’est un nom arbitraire qu’on peux changer mais à changer aussi dans predict)
  • Type : VDEF
  • RPN Function : used,LSLSLOPE
  • Metric Unit : B
  • Les seuils : on n’est pas obligé de remplir

la seconde : H2

  • Nom : H2 (c’est un nom arbitraire qu’on peux changer mais à changer aussi dans predict)
  • Type : VDEF
  • RPN Function : used,LSLINT
  • Metric Unit : B
  • Les seuils : on n’est pas obligé de remplir

La dernière : predict

  • Nom : predict (un nom arbitraire qu’on peux changer aussi)
  • Type : CDEF
  • RPN Function : used,POP,D2,COUNT,*,H2,+
  • Metric Unit : B
  • Les seuils : on n’est pas obligé de remplir
  • Hidden : ne pas cocher

Quand tout est fait, aller admirer votre graphe dans les Views en sélectionnant l’hôte et le service associé. La donnée predict n’est pas affichée par défaut, il faut cliquer sur un graphe pour voir apparaître le choix des Components

Elle n’est pas belle la vie…

Version 2.3 de FAN

Je suis fier de vous annoncer la sortie de FAN 2.3, l’ISO est toujours disponible sur le site officiel dans la rubrique Download en 32 et 64 bits : http://www.fullyautomatednagios.org/wordpress/download/

L’annonce officielle : http://www.fullyautomatednagios.org/wordpress/2012/03/06/fan-2-3-available/

Au programme, les logiciels phares ont été mis à jour notamment :

  • Centreon 2.3.3
  • Nagvis 1.6.3
  • L’OS qui est passé en centos 5.7

Au niveau de la mise à jour de la version 2.2 -> 2.3, une page est dédiée à ce sujet. Il y a eu un gros travail de fait pour le passage à Nagvis 1.6. La mise à jour des maps se fait de manière transparente lorsqu’on update le rpm.

Dans la configuration du distribué, une nouvelle fonctionnalité fait son apparition : la possibilité de réceptionner des trap SNMP par un poller. Cette fonction n’est pas très bien connue des utilisateurs de Centreon et souvent pas assez documenté sur son utilisation. Vous allez donc pouvoir l’utiliser avec FAN, tout est expliquer ici : http://www.fullyautomatednagios.org/wordpress/how-to-manage-trap-by-a-poller/

Au niveau de la sauvegarde, le paquet rpm fan-backup a été remis à jour afin de fonctionner sous les différentes install de FAN, l’infos de trouve dans la FAQ.

Il y a aussi quelques fix au niveau des bugs qui ont été remontés. Je vous invite à lire le changelog pour plus de détail.

 

Thruk une alternative au cgi de Nagios

Vous connaissez très certainement les CGI de Nagios, l’interface web très sobre (même si elle a un peu évoluée) qui présente l’état des indicateurs de supervision. Elle a beaucoup de défaut, voici un petit panel :

  • ses très faibles performances lorsqu’on a des dizaines de milliers de services à afficher
  • non conçue pour le mode distribué. Elle peut l’être avec un peu de gymnastique entre nsca et du mode passif. Bref un gros bordel à configurer
  • s’appuie sur des fichiers locaux pour récupérer l’état des services, d’où sa lenteur
  • ne possède pas de filtres avancés (genre je veux tous les services hard, avec notification, qui sont en CRITICAL dont aucun downtime n’est planifié)
  • génère de la latence à Nagios

Bref, on peut en citer encore mais je vais m’arrêter là. C’est pourquoi je préfère utiliser Thruk. Une application web codée en perl et qui a l’avantage d’être performante et très rapide.

Ses atoûts :

  • elle s’appuie sur livestatus pour récupérer l’état des services et host. Livestatus étant un broker voulant d’être très rapide
  • Encore grâce à Livestatus, thruk peut afficher les indicateurs de plusieurs Nagios. Elle fonctionne donc très bien avec le mode distribuée
  • Possède des filtres avancés
  • Permet de sauvegarder en tant que favoris ces propres tableaux de bord
  • On peut changer son apparence. Il y a les thèmes Vautour, le Nagios Classic (tout moche !), Nuvola
  • Compatible avec Icinga et Shinken
  • s’installe facilement avec OMD

Bon, y a pas que des avantages je vous dirai, j’ai noté quelques inconvénients mais ça reste très soft :

  • des dépendances à Perl à satisfaire si vous voulez pas que l’installeur vous insulte. Mais il propose aussi de les télécharger et les installer pour vous 😉
  • en terme de mise à jour, il faut faire quelques manip pour retrouver ses favoris, les logos, sa configuration
  • intégrer thruk avec Apache nécessite l’installation de fast-cgi ou
  • Thruk c’est un démon supplémentaire. Bon ok celui-là c’est pas réellement un inconvénient.

 

Voici quelques screenshots :

Vous n’êtes pas convaincu, alors voici une démo. Login nagiosadmin / nagiosadmin

Quelques doc pour l’installer :

Lancer des scénarios avec Centreon Web Application Analytics

Centreon Web Application Analytics est un plugin très intéressant que j’ai trouvé sur la forge communautaire de Centreon.

Il permet de lancer des scénarios Web grâce à Selenium. Comment cela fonctionne :

Son exécution se déroule techniquement en 3 étapes :

  • Nagios exécute la sonde check_centreon_waa avec comme paramètre le scénario web fourni sous forme de fichier
  • La dite sonde se connecte au serveur Selenium et demande l’exécution des actions du scénario
  • Le serveur Selenium lance sur la machine un navigateur web (Firefox) pour effectuer les actions

L’enregistrement du scénario web se fait à partir du module Selenium IDE qu’il faut installer dans son firefox.

La doc d’installation et de configuration est présente sur http://forge.centreon.com/projects/centreon-web-application-analytics/wiki

$ ./check_centreon_waa -c 60 -w 50 -d /var/lib/centreon_waa/ -t 01-webtest-lkco.gezen.fr -r localhost:4444
CHECKWEB OK - Execution time = 9.93s Test Ok 6/6 |'time'=9.93s;50;60;0; 'availability'=100%;;;0;100

 

L’intégration dans Centreon permet de sortir les graphes suivants :

 

Les plus par rapport à cucumber-nagios :

  • L’interface conviviale de Selenium IDE pour créer et tester ces scénarios Web
  • Le plugin sait communiquer avec un selenium server via un port TCP. On peut donc dédier une machine (VM par ex) uniquement pour le Selenium Server (machine virtuelle java) afin de ne pas installer le tout sur un poller Nagios
  • L’utilisation du serveur X virtuel Xvfb pour le lancement de firefox

Bientôt, j’écrirai une petite doc pour l’installation des outils pour FAN.

 

Sortie de FAN 2.0

Good News, on l’attendait depuis un certain temps et c’est avec une grande joie que FAN (Fully Automated Nagios) est disponible en version 2.0. Dans la distribution spécialisée dans la supervision Nagios, on y retrouve les logiciels suivants :

  • Nagios 3.0.6
  • Centreon 2.0.2
  • Nagvis 1.4.4
  • NdoUtils 1.4-b8
  • et encore pleins d’autres dans le [changelog|http://fannagioscd.sourceforge.net/drupal/?q=node/7|en]

La mise à jour de FAN 1.1 vers FAN 2.0 est désormais disponible. Le travail acharné des développeurs de FAN ont permis la réalisation d’un script de mise à jour. Il permet de mettre à jour tous les outils de supervision mais aussi toutes les données de Centreon. Il est à noter que le script ne migre pas les données Nagios associées aux :

  • Host Extended Infos
  • Service Extended Infos

On peut retrouver toutes les infos ici :

Un cadeau Noël qui fera certainement des heureux chez nos admin systèmes….