Qu'est-ce que Thruk ?
Thruk est un une interface de visualisation qui se base sur les données de livestatusLivestatus. Elle permet de voir tous les éléments déclarés dans Shinken et de faire des actions sur ceci.
Installation via
des RPM- Télécharger les rpm sur le site de thruk correspondants à la version de CentOS installée (thruk, thruk-base libthruk, thruk-plugin-reporting): https://www.thruk.org/download.html
- Installer les paquets avec yum et pas rpm (yum permet d'installer les dépendances automatiquement). Il y a en tout 4 rpm à installer :
| Code Block |
|---|
yum localinstall <LISTE_RPM_THRUK> |
- Si tout se passe bien, sur http://localhost/thruk, une interface devrait être maintenant accessible. Par contre, on a des erreurs d'autorisation. Il faut configurer l'authentification avant de pouvoir se connecter.
Installation via un repo
un dépôt de paquets
RHEL / CentOS 7
Il faut s'assurer d'être sur la dernière version d'Apache.
Code Block language text theme Emacs yum update httpdAjouter le dépôt labs.consol.de au serveur :
Code Block language text theme Emacs rpm -Uvh "https://labs.consol.de/repo/stable/rhel7/i386/labs-consol-stable.rhel7.noarch.rpm"Installer les derniers paquets à jour :
Code Block language text theme Emacs yum install thruk- L'interface est accessible sur le port 80 à l'adresse http://NOM_DU_SERVEUR/thruk et les identifiants par défaut sont thrukadmin/thrukadmin
RHEL / Alma / Rocky 8
- Ajouter le repo labs.consol.de a votre serveur :
Il faut s'assurer d'être sur la dernière version d'Apache.
Code Block language text theme Emacs yum update httpdAjouter le dépôt labs.consol.de au serveur :
Code Block language text theme Emacs
rpm -Uvh "https://labs.consol.de/repo/stable/
rhel8/
x86_64/labs-consol-stable.
rhel8.noarch.rpm"
Installer les derniers paquets à
jour jour :
Code Block language text theme Emacs yum install thruk
- Si tout se passe bien, les paquets thruk-plugin-reporting, libthruk, thruk, thruk-base et mod_fcgid seront installés.
- L'interface est accessible sur le port 80 à l'adresse http://NOM_DU_SERVEUR/thruk et les identifiants par défaut sont thrukadmin/thrukadmin
Debian 13
Il faut s'assurer d'être sur la dernière version d'Apache.
Code Block language text theme Emacs apt update && apt install apache2Ajouter le dépôt build.opensuse.org au serveur :
Code Block language text theme Emacs curl -s "https://build.opensuse.org/projects/home:naemon/signing_keys/download?kind=gpg" -o /etc/apt/trusted.gpg.d/home-naemon.asc echo "deb [trusted=yes,allow-insecure=yes,signed-by=/etc/apt/trusted.gpg.d/home-naemon.asc] https://download.opensuse.org/repositories/home:/naemon/Debian_13 ./" > /etc/apt/sources.list.d/home-naemon.list apt updateInstaller les derniers paquets à jour :
Code Block language text theme Emacs apt install --allow-unauthenticated thruk- L'interface est accessible sur le port 80 à l'adresse http://NOM_DU_SERVEUR/thruk et et les identifiants par défaut sont thrukadmin/thrukadmin
- [ Recommandé ] Supprimer ou commenter le dépôt une fois l'installation terminée ( fichier /etc/apt/sources.list.d/home-naemon.list ).
Désactivation de SELinux
Avant toute chose, on désactive , si SELinux est installé sur le serveur ( par défaut sous les systèmes RedHat et ses dérivées ), il faut désactiver SELinux pour éviter d'avoir à le gérer pour le moment.
Par défaut, SELinux va empecher Thruk d'acceder accéder à ses fichiers :
Désactivation permanente : Modifier le fichier de configuration de SELinux et redémarrer le serveur
Code Block language text theme Emacs title /etc/selinux/config SELINUX=disabled
Désactivation temporaire :
Code Block language text theme Emacs setenforce 0
Authentification
L'authentification n'est pas gérée directement par Thruk mais au travers de d'Apache. Le fichier /etc/thruk/htpasswd contient les données utiles pour l'authentification des utilisateurs dans Thruk.
Dans l'exemple, on va définir un mot de passe pour l'utilisateur 'thrukadmin':
| Code Block | ||||
|---|---|---|---|---|
| ||||
htpasswd /etc/thruk/htpasswd thrukadmin |
Ajout d'un backend
Pour obtenir les statuts de Shinken, il faut déclarer un backend dans le fichier de configuration ( /etc/thruk/thruk_local.conf ). Thruk va utiliser ce backend pour récupérer les hôtes, checks ainsi que leurs statuts :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
#This one activates all problem/impact and criticity features. Don’t enable it unless all your backends are shinken. If not set, it will be automatically enabled when using only shinken backends.
enable_shinken_features = 1
#Determines whether html output from plugins is escaped or not.
escape_html_tags = 0
<Component Thruk::Backend>
<peer>
name = Shinken
type = livestatus
<options>
peer = 127.0.0.011:50000
</options>
</peer>
</Component> |
Le "peer" étant l'adresse du broker
Pour fonctionner, il faut aussi activer Livestatus sur le Broker côté Shinken ( voir la page Module Livestatus ).
Redémarrage d'Apache après ajout
RHEL / CentOS 7
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart httpd |
RHEL / Alma / Rocky 8
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart httpd |
Debian 13
| Code Block | ||||
|---|---|---|---|---|
| ||||
systemctl restart apache2 |