21
2014
Installation et configuration de Thruk sur FAN 2.4
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.
Pour que nagios prenne en compte les hosts et services créé par thruk, il faut ajouté les deux fichiers cfg au fichier de configuration de nagios. Pour cela, il faut ajouter les lignes suivantes au fichier /etc/nagios/nagios.cfg :
cfg_file=/etc/nagios/thruk_bp_templates.cfg
cfg_file=/etc/nagios/thruk_bp_generated.cfg
Cela ne suffira pas si vous utilisez centreon ou autre pour la configuration de nagios car pour cette exemple, centreon écrase à chaque nouvelle conf le fichier nagios.cfg.
Pour remédier à ce problème, j’ai créé un petit script à ajouter dans le fichier init de nagios (/etc/init.d/nagios)
grep ‘thruk’ $NagiosCfgFile > /dev/null
retval=$?
if [ "$retval" != 0 ]
then
printf "cfg_file=/etc/nagios/thruk_bp_templates.cfg" >> $NagiosCfgFile
printf "\ncfg_file=/etc/nagios/thruk_bp_generated.cfg" >> $NagiosCfgFile
fi
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,
Articles similaires
Publicité :)
Articles récents
- Memento VI – Boostez Votre Productivité avec Vi : Trucs et Astuces à Connaître
- Configuration de Nginx pour Obtenir l’IP Réelle des Visiteurs avec CloudFlare
- Récupérer les informations d’un Ordinateur Terra à partir du numéros de série avec Python
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc…
- Failed to Start File System Check – Vcenter 7
Mot-clefs
Commentaires récents
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Grep – Extraire toutes les adresses IP d’un fichier text, Json, etc… dans
- Rotation des logs avec logrotate dans
- Hôte déconnecté sur le Vcenter. Impossible de se connecter à l’ESX. dans
- Pourquoi mon interface vlan ne veut pas devenir up ? dans
Bonjour,
Merci pour ce tuto.
J’ai actuellement une configuration de Thruk avec Shinken qui est fonctionnel.
J’ai configuré Centreon avec Thruk sur 2 serveur distict. mais ça ne marche pas.
Pour la conf ‘/etc/thruk/thruk_local.conf’ est-il nécessaire de renseigner le fichier ‘resource_file = /etc/nagios/resource.cfg’ ?
Comment faudrait-il le faire étant donné que la conf est sur un server distant ?
Merci pour votre reponse