Installation de l'interface Web pour Thruk
- Installation de Centreon-Clib
- Installation de Centreon-Connector
- Installation de Centreon-engine
- Installation des plugins
- Installation du broker MK livestatus et de l'interface Web Thruk
- Installation de l'interface Web et finalisation de la configuration de Thruk
- Installation de PNP4nagios et intégration avec Thruk
Installation du serveur Web Apache
sudo apt-get install apache2 apache2-mpm-worker libapache2-mod-fcgid
Créons le fichier de configuration pour Thruk
sudo vi /etc/apache2/conf.d/thruk.conf
Il faut activer le mode rewrite du serveur Apache
sudo a2enmod rewrite
Nous ajouterons l'utilisateur système centreon-engine au groupe www-data afin que l'application Thruk puisse lire les données du broker.
sudo usermod -aG centreon-engine www-data
Redémarrez le serveur Web apache.
sudo service apache2 restart
Configuration de Thruk avec Apache
Nous allons créez l'utilisateur thrukadmin qui sera autoriser à se connecter sur l'interface Web de Thruk.
sudo htpasswd -c /home/thruk/Thruk/htpasswd.users thrukadmin New password: Re-type new password: Adding password for user thrukadmin
Connectez-vous en utilisateur thruk.
sudo su - thruk
Pour le fonctionnement du module mod_fcgid d'apache, il sera nécessaire de créer un fichier script fcgid_env.sh. L'intérêt de ce script est d'initialiser une variable d'environnement CATALYST_CONFIG.
vi /home/thruk/Thruk/fcgid_env.sh
#!/bin/bash # set omd environment export CATALYST_CONFIG="/home/thruk/Thruk" # load extra environment variables if [ -f /etc/sysconfig/thruk ]; then . /etc/sysconfig/thruk fi if [ -f /etc/default/thruk ]; then . /etc/default/thruk fi [ -e ~/.thruk ] && . ~/.thruk # execute fastcgi server exec /home/thruk/Thruk/script/thruk_fastcgi.pl
Affectez les droits d'exécution au script.
chmod +x /home/thruk/Thruk/fcgid_env.sh
Et pour un fonctionnement optimal de notre programme Thuk, il sera nécessaire de modifier le script thruk_fastcgi.pl, afin d'indiquez les bons chemins des librairies Perl.
vi /home/thruk/Thruk/script/thruk_fastcgi.pl
#!/usr/bin/env perl use strict; use warnings; use lib '/home/thruk/Thruk/local-lib/lib/perl5'; ################################################### # create connection pool # has to be done really early to save memory use lib '/home/thruk/Thruk/lib'; use Thruk::Backend::Pool; BEGIN { Thruk::Backend::Pool::init_backend_thread_pool(); } ###################################################
Création du fichier de configuration modifiable par l'interface Web. modification des droits pour thruk_local.conf (revenir en utilisateur pi)
Dernière configuration de Thruk
Modifions le fichier thruk.conf. Ensuite, ce fichier ne doit pas être modifiable par l'interface Web. le fichier thruk_local.conf est prévu à cet effet.
vi /home/thruk/Thruk/thruk.conf
Configuration du dossier cache
###################################### # var directory, used to store user settings var_path = /var/cache/thruk
création du dossier cache
sudo mkdir -p /var/cache/thruk sudo chown www-data: /var/cache/thruk
Activation de la gestion des logs
###################################### # log4perl config log4perl_conf = ./log4perl.conf
Création du fichier conf pour les logs
cp /home/thruk/Thruk/log4perl.conf.example /home/thruk/Thruk/log4perl.conf
Modification du chemin pour les logs
vi /home/thruk/Thruk/log4perl.conf
# normal log messages log4perl.appender.ThrukLog=Log::Dispatch::File log4perl.appender.ThrukLog.filename=/var/log/thruk/error.log
création du dossier log pour un suivi des erreurs éventuelles de Thruk.
sudo mkdir -p /var/log/thruk sudo chown www-data: /var/log/thruk
Il faut autoriser la configuration d'activation des plugins. Modifier les droits du dossier /home/thruk/Thruk/plugins/plugins-enabled
sudo chown -R www-data: /home/thruk/Thruk/plugins/plugins-enabled
Vous pouvez recharger la configuration apache.
sudo service apache2 reload
Connexion à l'interface
Utilisez un navigateur, saisissez l'adresse suivante : http://[IP serveur]/thruk.
Saisir thrukadmin mdp thrukadmin. Patientez quelques instants, le Raspberry n'est pas un foudre de guerre.
Saisir les données nécessaires au fonctionnement du Backends
Name : centengine Connection : /var/lib/centreon-engine/rw/live
Vous avez accès à la magnifique interface de Thruk !
Pb Internal Server
Le raspberry n'étant pas un foudre de guerre (processeur peu performant, I/O carte SD à la ramasse...), vous risquez d'avoir ce genre d'écran désagréable.
En fait, si vous regarder les logs d'apache, vous devez modifier le timeout de mod_fcgid en modifiant le paramètre IPCCommTimeout. Ci-dessous les logs d'apache
[Sat Mar 01 09:37:22 2014] [warn] [client 192.168.0.11] mod_fcgid: read data timeout in 120 seconds [Sat Mar 01 09:37:22 2014] [error] [client 192.168.0.11] Premature end of script headers: fcgid_env.sh
Modifier le paramètre IPCCommTimeout dans /etc/apache2/conf.d/thruk.conf et rechargez apache
IPCCommTimeout 240
sudo service apache2 reload
Il nous reste à voir la configuration des graphes de performance avec pnp4nagios, c'est ici.