Voici une procédure permettant d’installer Thruk sur FAN 2.2 et plus.
Thruk est une interface Web pour Nagios et autres fork comme Naemon, Icinga… Ce qu’il a de bien par rapport à Centreon, c’est son plugin Business Process qui permet d’avoir une vue macroscopique de son infrastructure et de pouvoir générer des rapports sur le taux de disponibilité de vos applications et services.
Attention : L’installation de Thruk ne remplace pas Centreon. Vous pourrez utiliser les deux interfaces WEB.
Vous avez une demo dispo ici : http://www.thruk.org/demo.html
Regardez cette partie : (Business Process et Reporting)
Dans un premier temps il faut préparer l’envoi des status de nagios vers thruk. Pour cela, nous allons installer livestatus.
Intaller mk_livestatus :
Aller un petit yum :
yum install mk-livestatus
Une fois installé, il faut renseigner le nouveau broker dans la conf de Nagios :
Se logger dans Centreon et aller dans Configuration > Monitoring Engine > main.cfg, et editer le fichier Nagios CFG actif :
Cliquer sur l’onglet Data > “Add a new broker module”
Pour les versions x86_64 mettre :
· /usr/lib64/mk-livestatus/livestatus.o /var/log/nagios/rw/live
pour i386 :
· /usr/lib/mk-livestatus/livestatus.o /var/log/nagios/rw/live
Sauvegarder la configuration, l’exporter et redémarrer Nagios.
Installer thruk
Télécharger la dernière version ici : http://www.thruk.org/download.html
Activer le repo epel
yum localinstall –enablerepo=epel –nogpgcheck thruk-1.26-1.rhel5.x86_64.rpm
La dépendance mod_fcgid devrait être également installée.
Configuration
Editez le fichier /etc/thruk/thruk_local.conf et vérifier la configuration:
use_frames = 1
statusmap_default_type=circle
statusmap_default_groupby = parent
<Component Thruk::Backend>
<peer>
name = Core
type = livestatus
<options>
peer = 127.0.0.1:6557
resource_file = /etc/nagios/resource.cfg
</options>
<configtool>
core_conf = /etc/nagios/nagios.cfg
obj_check_cmd = /usr/bin/nagios -v /etc/nagios/nagios.cfg
obj_reload_cmd = /etc/init.d/nagios reload
</configtool>
</peer>
</Component>
#####################################
# Business Process
<Component Thruk::Plugin::BP>
# Results will be send back by using the spool folder.
# This folder should point to the ‘check_result_path’ of your core.
spool_dir = /dev/shm
# Save objects to this file. Content will be overwritten.
objects_save_file = /etc/nagios/thruk_bp_generated.cfg
# User maintained file containing templates used for business process services.
objects_templates_file = /etc/nagios/thruk_bp_templates.cfg
# Command to apply changes to the objects_save_file
objects_reload_cmd = /etc/init.d/nagios reload
# hooks which will be executed before or after saving.
#pre_save_cmd =
#post_save_cmd =
# Refresh interval defines how often business processes
# will be recalculated and refreshed. (in minutes)
refresh_interval = 1
</Component>
Editez le fichier /etc/thruk/cgi.cfg et Remplacer tous les thrukadmin par nagiosadmin
default_user_name=nagiosadmin
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
Editez le fichier /etc/httpd/conf.d/thruk.conf et remplacer cette ligne : (Pour que vous puissiez vous authentifier avec l’utilisateur nagiosadmin sur thruk)
AuthUserFile /etc/thruk/htpasswd
par
AuthUserFile /etc/nagios/htpasswd.users
Configurer la communication entre nagios et thruk :
Installer xinetd
yum install xined
Créer le fichier /etc/xinetd.d/livestatus et mettre à l’intérieur :
service livestatus
{
type = UNLISTED
port = 6557
socket_type = stream
protocol = tcp
wait = no
# limit to 100 connections per second. Disable 3 secs if above.
cps = 100 3
# Disable TCP delay, makes connection more responsive
flags = NODELAY
user = root
server = /usr/bin/unixcat
server_args = /var/log/nagios/rw/live
# configure the IP address(es) of your Nagios server here:
# only_from = localhost 192.168.0.254
disable = no
}
Démarrer le service xinetd :
service xinetd start
Redémarrer Nagios et apache :
/etc/init.d/nagios stop
/etc/init.d/httpd restart
/etc/init.d/nagios start
Configurer le plugin Business process :
Creer le fichier /etc/nagios/thruk_bp_templates.cfg et y placer :
define host {
name thruk-bp-template
address none
use generic-host
active_checks_enabled 0
check_command check_thruk_bp
register 0
}
define service {
name thruk-bp-node-template
use generic-service
active_checks_enabled 0
check_command check_thruk_bp
register 0
}
define command {
command_name check_thruk_bp
command_line thruk -a bp $_HOSTTHRUK_BP_ID$
}
Attention au template utilisé (generic-host et generic-service). Il faut absolument qu’il soit complet. Ceci permet de créer des services liés aux Business process. Si le template n’est pas bien configuré, nagios ne voudra plus démarrer après avoir créé et sauvegardé un BP.
Redémarrer Nagios et apache :
/etc/init.d/nagios stop
/etc/init.d/httpd restart
/etc/init.d/nagios start
Connectez vous sur http://@_IP_FAN_SERVER/thruk/ et utilisez votre compte nagiosadmin:
Note : Pour info, une fois créé un business process se situe dans : /etc/thruk/bp/ et les rapports dans : /var/lib/thruk/reports/
Liens :
http://www.fullyautomatednagios.org/
Bon courage,