Celui-ci permet le stockage des événements du moteur NAGIOS vers une base de données. Ainsi on peut récupérer les événements comme les données de performances pour d’autres traitements comme la création de graphes.
La base de données privilégiée est la base MySQL, on peut aussi utiliser MariaDB.
NDOUTILS est composé de deux modules :
- NDOMOD qui est chargé en mémoire lors du lancement du moteur NAGIOS. Le module envoie les informations vers le second module selon le protocole de communication choisie. NDOMOD dispose de trois moyens de communication : le mode fichier, le mode pipe et le mode socket TCP. Nous utiliserons seulement le mode socket TCP beaucoup plus souple d’utilisation. Il est possible d’avoir plusieurs instances NDOMOD envoyant des données sur un module NDO2DB. Cette solution est utilisée dans les architectures distribuées.
- NDO2DB est le daemon permettant le stockages des données dans une base de type MySQL. Actuellement, le module n’autorise qu’une seule connexion à une base MySQL.
Principes
Architecture standalone
Le schéma de principe proposé est pour une installation d’un serveur de supervision en mode standalone avec NAGIOS et CENTREON. Le port par défaut du flux TCP entre NDOMOD et NDO2DB est le 5668.
Ci-dessus, le principe de fonctionnement de NDOUTILS. Le module NDOMOD lancé avec le moteur NAGIOS envoie les données événements de NAGIOS vers NDO2DB par l'intermédiaire du flux TCP. Celui-ci se chargera de stocker ces données dans la base CENTSTATUS. Parallèlement, Nagios envoie les données de performances dans un fichier PERFDATA. Le processus CENTSTORAGE se chargera de récupérer ses données. Celui-ci a deux fonctions principales, la première, stoker les données de performances dans CENTSTORAGE et la deuxième, créer les fichiers RRD qui serviront pour les graphes.
Architecture distribuée
Le schéma de principe proposé est une installation distribuée avec NAGIOS et CENTREON.
La différence avec le schéma de principe précédent se trouve dans l’ajout d’un poller. le module NDOMOD du poller envoie les données par le flux TCP 5668. Les deux flux des modules NDOMOD seront identifiés par le paramètre instance_name.