Le but de cet article est de vous présenter une solution pour autoriser l'accès à MK livestatus au réseau TCP/IP. De ce fait, nous pourrons interfacer des pollers distants à une cartographie Nagvis.
Cet article est inspiré de deux excellents articles trouvés sur la toile, le premier sur le forum de Centreon et le deuxième sur le wiki de Monitoring-fr.org. Merci à leurs auteurs.
Cet article est inspiré de deux excellents articles trouvés sur la toile, le premier sur le forum de Centreon et le deuxième sur le wiki de Monitoring-fr.org. Merci à leurs auteurs.
Attention Mk Livestatus n'est plus compatible avec les nouvelles version de Centreon-engine.
1 Pré Requis
Pour ce type d'installation, nous aurons besoin du super deamon xinetd. L'utilitaire socat est optionnel, il permet de vérifier le bon fonctionnement de la configuration xinetd. Vous devez avoir une configuration MK livestatus opérationnelle sur vos poller comme indiqué dans cet article.
apt-get install php5-sqlite graphviz sqlite3 xinetd socat
2 Configuration xinetd
Créez le fichier /etc/xinetd.d/livestatus en fonction de votre configuration. Autorisez l’adresse de boucle locale pour les tests et l’adresse du serveur distant où est installé Nagvis.
2.1 Nagios
service livestatus { type = UNLISTED port = 6557 socket_type = stream protocol = tcp wait = no # limit to 100 connections per second. Disable 3 secs if above. cps = 100 3 # set the number of maximum allowed parallel instances of unixcat. # Please make sure that this values is at least as high as # the number of threads defined with num_client_threads in # etc/mk-livestatus/nagios.cfg instances = 500 # limit the maximum number of simultaneous connections from # one source IP address per_source = 250 # Disable TCP delay, makes connection more responsive flags = NODELAY user = centreon-engine server = /usr/local/nagios/bin/unixcat server_args = /usr/local/nagios/var/rw/live # configure the IP address(es) of your Nagios server here: only_from = 127.0.0.1 [IP serveur distant où est installé nagvis] disable = no }
2.2 Centreon-Engine
service livestatus { type = UNLISTED port = 6557 socket_type = stream protocol = tcp wait = no # limit to 100 connections per second. Disable 3 secs if above. cps = 100 3 # set the number of maximum allowed parallel instances of unixcat. # Please make sure that this values is at least as high as # the number of threads defined with num_client_threads in # etc/mk-livestatus/nagios.cfg instances = 500 # limit the maximum number of simultaneous connections from # one source IP address per_source = 250 # Disable TCP delay, makes connection more responsive flags = NODELAY user = centreon-engine server = /usr/local/centreon-engine/bin/unixcat server_args = /var/lib/centreon-engine/rw/live # configure the IP address(es) of your Nagios server here: only_from = 127.0.0.1 [IP serveur distant où est installé nagvis]] disable = no }
Redémarrez le service xinetd pour prendre en compte la configuration.
service xinetd restart
3 Vérification du fonctionnement
Vérifiez le fonctionnement de notre broker en utilisant la boucle locale de TCP. On utilisera l'utilitaire socat. Vous devriez avoir un résultat avec des données.
echo "GET hosts" | socat - TCP4:127.0.0.1:6557,crnl
4 Configuration d'un hôte distant avec Nagvis
Nous utiliserons l'interface Nagvis de notre serveur de supervision. Connectez-vous en admin. Sélectionnez le menu Options / Gérer les Backends. Ajouter un backend
Choisir le type de backend, cliquez sur mklivestatus
Saisissez les informations ci-dessous et sauvegardez. Vous pouvez utilisez ce backend dans vos cartes.
socket : tcp:172.16.209.177:6557 timeout : 10000
5 Configuration d'un hôte distant avec Thruk
Connectez-vous sur votre interface Thruk et cliquez sur Config Tool puis sur Backends/Sites. Cliquez sur Add new connection
Saisissez les informations ci-dessous et sauvegardez. Vous pouvez testez votre backend avec le bouton test.
Name : satellite Type : livestatus Connection : 172.16.209.177:6557 Hidden : no