====== DashBoard ====== ===== Introduction ===== Le "Dashboard" est une interface de visualisation des événements détectés. Il fait partie de la solution de supervision Vigilo. Le Dashboard représente les événements classés par priorité, et permet sur chaque événement d'obtenir des informations supplémentaires, ou d'effectuer des traitements (prise en compte, association d'un ticket d'incident, fermeture, etc.) A l'origine, le Dashboard est le résultat d'un besoin d'interface de visualisation des événements Nagios exprimé par l'équipe d'exploitation réseau CS. Il a ensuite été adapté à Vigilo. Le Dashboard répond donc à un besoin fonctionnel réel, et ce depuis environ 10 ans. Mais le code et l'architecture logicielle ont aujourd'hui besoin d'un important travail de remise à jour. Nous entreprenons en ce moment même la réécriture du Dashboard grâce à des technologies plus modernes, en conservant les mêmes fonctionnalités. Cette version du Dashboard est toutefois pleinement fonctionnelle et apporte toujours une interface intéressante à Nagios. Le Dashboard actuel est architecturé autour de deux scripts Perl et d'une base de données MySQL. * Le premier, appelé DashboardInjector.pl, écoute sur le réseau et convertit des trames dans son format vers des insertions MySQL. Le format est un format simple, basé sur du texte, et plus précisément du CSV. * Le second, appelé alarms-form.pl, est l'interface web en CGI, qui présente les données de la base MySQL. Les dépendances de l'application sont : * Apache (1.x ou 2.x), * perl (5.6 ou supérieur), * MySQL (3.23 ou supérieur). Les scripts s'appuient sur une bibliothèque Perl fournie (TrpHelpers.pm) et un fichier de configuration appelé dashboard.cfg, au format INI. ===== Installation ===== Installation du CGI : * Installer le fichier ''cgi-bin/alarms-form.cgi'' dans le répertoire des CGI d'Apache, * Créer le répertoire ''/usr/share/dashboard/'' et y copier le contenu du répertoire ''share'', * Créer le répertoire ''/etc/dashboard'' et y copier le fichier de configuration ''config/dashboard.cfg'', * Configurer Apache pour réaliser un alias de l'URL '/dashboard' vers le répertoire ''/usr/share/dashboard''. Le fichier ''dashboard.httpd.conf'' contient un exemple de configuration. * Installer la librairie Perl ''perl/TrpHelpers.pm'' dans un chemin accessible à Perl (en général ''/usr/lib/perl5/'') * Éditer le fichier /etc/dashboard.cfg pour régler les paramètres d'accès à la base MySQL * Créer la base MySQL à l'aide du schéma ''dashboard.sql'' fourni. Installation de l'injecteur réseau : * Créer le répertoire ''/usr/lib/dashboardinjector/'' et y copier le fichier DashboardInjector.pl et le fichier PerlDaemon.pm * Installer le script d'init ''dashboardinjector.sh'' dans /etc/init.d. (en retirant l'extension .sh) * Installer le fichier de configuration de ce script d'init, ''dashboardinjector'', dans ''/etc/default'' (Debian) ou ''/etc/sysconfig'' (Red Hat, Mandriva, SuSE). * Activer le lancement du script d'init avec le système (''update-rc.d'' sur Debian, ''chkconfig'' sur Red Hat, Mandriva et SuSE).