Vous êtes ici:

Menu


Installation de l'interface Web pour Thruk

Stacks Image 1426
Nous ferons une entorse à ma règle de serveur light pour l'instant, n'ayant pas réussi l'installation de Thruk avec Lighttpd, mous utiliserons Apache. Naturellement, je suis preneur d'information pour Lighttpd.

- 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
AddHandler fcgid-script .sh IPCCommTimeout 120 Options FollowSymLinks AllowOverride All order allow,deny allow from all # required for apache 2.4 Require all granted Options FollowSymLinks allow from all # required for apache 2.4 Require all granted Options FollowSymLinks allow from all # required for apache 2.4 Require all granted # redirect to a startup page when there is no pidfile yet RewriteEngine On RewriteCond %{REQUEST_METHOD} GET RewriteCond %{REQUEST_URI} !^/thruk/startup.html RewriteCond %{REQUEST_URI} !^/thruk/side.html RewriteCond %{REQUEST_URI} !^/thruk/.*\.(css|png|js) RewriteCond %{REQUEST_URI} ^/thruk RewriteCond /var/cache/thruk/thruk.pid !-f RewriteRule ^(.*)$ /thruk/startup.html?$1 [R=302,L,NE,QSA] Alias /thruk/documentation.html /home/thruk/Thruk/root/thruk/documentation.html Alias /thruk/startup.html /home/thruk/Thruk/root/thruk/startup.html AliasMatch ^/thruk/(.*\.cgi|.*\.html) /home/thruk/Thruk/fcgid_env.sh/thruk/$1 AliasMatch ^/thruk/plugins/(.*?)/(.*)$ /home/thruk/Thruk/plugins/plugins-enabled/$1/root/$2 Alias /thruk/themes/ /home/thruk/Thruk/themes/themes-enabled/ Alias /thruk /home/thruk/Thruk/root/thruk Options ExecCGI AuthName "Thruk Monitoring" AuthType Basic AuthUserFile /home/thruk/Thruk/htpasswd.users Require valid-user Order Deny,Allow Allow from all Satisfy any
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.
Stacks Image 6613
Authentification pour Thruk
Saisir thrukadmin mdp thrukadmin. Patientez quelques instants, le Raspberry n'est pas un foudre de guerre.
Stacks Image 6718
Première vue, création du Backends
Saisir les données nécessaires au fonctionnement du Backends
Stacks Image 6725
saisie du Backends
Name : centengine
Connection : /var/lib/centreon-engine/rw/live
Stacks Image 6728
Redémarrage du Daemon, cela peut -être long.
Vous avez accès à la magnifique interface de Thruk !
Stacks Image 6731
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.
Stacks Image 14356
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.
comments powered by Disqus
 Vous êtes ici: