Qu'est-ce que Thruk ?

Thruk est une interface de visualisation qui se base sur les données de Livestatus. Elle permet de voir tous les éléments déclarés dans Shinken et de faire des actions sur ceci.

Installation via un dépôt de paquets

RHEL / CentOS 7

  • Il faut s'assurer d'être sur la dernière version d'Apache.

    yum update httpd
  • Ajouter le dépôt labs.consol.de au serveur :

    rpm -Uvh "https://labs.consol.de/repo/stable/rhel7/i386/labs-consol-stable.rhel7.noarch.rpm"
  • Installer les derniers paquets à jour :

    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

  • Il faut s'assurer d'être sur la dernière version d'Apache.

    yum update httpd
  • Ajouter le dépôt labs.consol.de au serveur :

    rpm -Uvh "https://labs.consol.de/repo/stable/rhel8/x86_64/labs-consol-stable.rhel8.noarch.rpm"
  • Installer les derniers paquets à jour :

    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


Debian 13

  • Il faut s'assurer d'être sur la dernière version d'Apache.

    apt update && apt install apache2
  • Ajouter le dépôt build.opensuse.org au serveur :

    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 update
  • Installer les derniers paquets à jour :

    apt install --allow-unauthenticated 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
  • [ 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, 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'accéder à ses fichiers :

  • Désactivation permanente : Modifier le fichier de configuration de SELinux et redémarrer le serveur

    SELINUX=disabled
  • Désactivation temporaire :

    setenforce 0

Authentification

L'authentification n'est pas gérée directement par Thruk mais au travers 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':

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 :

#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.1: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

systemctl restart httpd

RHEL / Alma / Rocky 8

systemctl restart httpd

Debian 13

systemctl restart apache2