NagiosDigger est une interface web permettant d’exploiter les différents évènements se trouvant dans le fichier nagios.log. Vous pourrez donc établir des statistiques et garder un historique sur de très longue périodes.
Pour faire fonctionner NagiosDigger, il vous faudra une base mysql et le plugin php jpgraph.
sudo apt-get install libphp-jpgraph
wget http://www.vanheusden.com/nagiosdigger/nagiosdigger-0.9.tgz tar -xvzf nagiosdigger-0.9.tgz mv nagiosdigger-0.9 nagiosdigger
Une fois les sources récupérées, nous allons copier le répertoire NagiosDigger à un emplacement de votre serveur web. Pour notre exemple nous déposerons ça dans /usr/local et nous nous appuierons des accès apache de Nagios.
cp -R nagiosdigger/ /usr/local/
Nous allons créer un fichier de configuration pour déclarer un alias au serveur Web et un accès sécurisé.
cd /etc/apache2/conf.d vi nagiosdigger.conf Alias /nagiosdigger "/usr/local/nagiosdigger" <Directory "/usr/local/nagiosdigger"> # SSLRequireSSL Options None AllowOverride None Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory>
mysql -h mysqlhost -uroot -p --execute="CREATE DATABASE nagiosdigger;"
mysql -h mysqlhost -uroot -p --execute="GRANT INSERT,SELECT ON nagiosdigger.* TO nagiosdigger_user@localhost IDENTIFIED BY 'nagiosdigger_pw';" mysql -h mysqlhost -uroot -p --execute="flush privileges;"
mysql -h mysqlhost -uroot -p nagiosdigger_db < /path/to/nagiosdigger/create_tables.sql
Il faut aller modifier les 2 fichiers suivants :
Dans import_nagios_logging,
$dbi_type="mysql"; $dbi_host="localhost"; $dbi_user="nagiosdigger_user"; $dbi_pass="nagiosdigger_pw"; $dbi_name="nagiosdigger"; $dbi_table="logs";
Dans config.ini.php,
$db_hostname = 'localhost'; $db_user='nagiosdigger_user'; $db_pass='nagiosdigger_pw'; $db_db='nagiosdigger'; $db_table='logs';
Il est impératif de modifier la méthode de rotation des logs
Dans nagios.cfg,
log_rotation_method=n
Ensuite, il y a 2 méthodes possible pour importer le log nagios dans NagiosDigger
J’ai plus une préférence pour celle-ci. Elle permet que nagios se concentre sur son rôle et évite surtout une chute de performance sur les grosses architectures.
Insérer cette commande dans votre crontab,
30 * * * * cat /usr/local/nagios/var/nagios.log | /usr/local/nagiosdigger/import_nagios_logging 2>&1 >> /var/log/nagiosdigger.log
Redémarrage de la crontab,
/etc/init.d/cron restart
* Par Eventhandler
Dans nagios.cfg,
global_service_event_handler=global_service_event_handler
Nous allons copier l’eventhandler fournit par NagiosDigger dans le répertoire /usr/local/nagios/libexec/eventhandlers
cp /usr/local/nagiosdigger/global_service_event_handler /usr/local/nagios/libexec/eventhandlers
Dans commands.cfg, Nous allons définir la commande faisant appelle à cet eventhandler
define command { command_name global_service_event_handler command_line /usr/local/nagios/libexec/eventhandlers/global_service_event_handler "$TIMET$" "$HOSTNAME$" "$SERVICEDESC$" "$SERVICESTATE$" "$SERVICESTATETYPE$" "$SERVICEATTEMPT$" "$SERVICEOUTPUT$" }