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.

Authentification pour Thruk
Saisir thrukadmin mdp thrukadmin. Patientez quelques instants, le Raspberry n'est pas un foudre de guerre.

Première vue, création du Backends
Saisir les données nécessaires au fonctionnement du Backends

saisie du Backends
Name : centengine Connection : /var/lib/centreon-engine/rw/live

Redémarrage du Daemon, cela peut -être long.
Vous avez accès à la magnifique interface de Thruk !

Détail des services de notre Raspberry
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.

Pb Internal Server Error avec Thruk
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.