Qu'est-ce que Thruk ?

Thruk est un 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 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 :
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

rpm -Uvh "https://labs.consol.de/repo/stable/rhel7/i386/labs-consol-stable.rhel7.noarch.rpm"
  • Installer les derniers paquets à jour :
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

Désactivation de SELinux

Avant toute chose, on désactive SELinux pour éviter d'avoir à le gérer pour le moment.

Par défaut, SELinux va empecher Thruk d'acceder à 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 de 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.01:50000
        </options>
    </peer>
</Component>

Le "peer" étant l'adresse du broker


Pour fonctionner, il faut aussi activer Livestatus sur le Broker côté Shinken. Documentation Livestatus disponible ici.