Monitorer vos serveurs Linux facilement

monitorix-logo

La supervision de serveurs et de réseaux est un marché énorme qui rapporte plusieurs milliards d’euros à ses principaux acteurs. Mais les petits geeks que nous sommes peuvent aussi monitorer leur homeserver, leur VPS ou leur serveur dédié sans pour autant avoir à se ruiner.

Il existe de nombreux logiciels de monitoring Open Source ou gratuit qui assurent la supervision de serveurs mais il sont souvent difficile à mettre en place et à configurer, ce qui est vite contraignant lorsqu’on a un seul serveur ou quelques machines à surveiller et administrer.

Après avoir comparer une dizaine de solutions de supervision d’infrastructure, j’ai trouvé le logiciel de monitoring parfait pour superviser une dizaine de serveurs: Monitorix !

Avoir un serveur c’est cool, mais savoir ce qu’il se passe dessus c’est encore mieux !

Monitorer son serveur Linux

Au début, mon besoin était simple: être capable de surveiller la bande passante des serveurs IpTv de notre partenaire IpTv.

monitorix overview

monitorix overview

 

Monitorix, monitoring facile

Il existe plusieurs solutions de monitoring gratuites et qui fonctionnent bien: Nagios, Zabbix, Cacti, MRTG, …

Ces logiciels sont couramment utilisés dans les grandes entreprises ou par les Lord of Monitoring, mais ils sont compliqués à installer, et encore plus à paramétrer. En plus, ils sont généralement gourmands en ressources (CPU et mémoire), ce qui n’est pas vraiment pratique lorsqu’on souhaite monitorer un pauvre petit VPS.

N’ayant pas le temps à perdre pour me former sur les Nagios Fork, j’ai cherché un logiciel de monitoring qui pouvait répondre à mes besoins:

  • Facile d’installation
  • Pas ou peu de paramétrage
  • Centraliser l’accès aux statistiques des serveurs supervisés
  • Econome en ressources système
  • Gratuit et Open Source
  • Interface ergonomique pour visualiser les données collectées
  • Installation sur les Linux Debian et Ubuntu

En faisant une recherche google avec une faute de frappe, je suis tombé par hasard sur le logiciel de supervision Monitorix.

Monitorix est un logiciel de supervision de ressources et de systèmes fonctionnant sur les systèmes d’exploitation Linux développé par Jordi Sanfeliu.

Monitorix réalise à la fois la collecte des données (via un démon développé en Perl) et l’affichage des données collectées (via son propre serveur Web).

Après une lecture rapide de ses spécifications il s’avère correspondre exactement à ce que je cherche: une solution de supervision rapide à installer, simple à paramétrer et agréable à utiliser.

Je passe ensuite sur les captures d’écrans du logiciel Monitorix et là encore, agréable surprise, l’interface est plutôt soignée.

monitorix screenshot

monitorix screenshot

Bon c’est beau sur le papier tout çà mais qu’en est-il réellement ? Trève de suspens, Monitorix est un logiciel de monitoring qui répond parfaitement à tous mes critères.

Installer le logiciel de monitoring Monitorix

L’installation de Monitorix est relativement simple sur les systèmes Linux Debian et Ubuntu.

apt-get update
apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl
wget http://www.monitorix.org/monitorix_3.9.0-izzy1_all.deb
dpkg -i monitorix*.deb
apt-get -f install

 

En exécutant ces 4 lignes en root, vous venez d’installer Monitorix. Plutôt cool non ?

Vous pouvez désormais vous connecter sur l’url suivante pour accéder à l’interface de Monitorix: http://votre.ip.serveur:8080/monitorix/

Vous arriverez alors sur cette page d’accueil qui vous permet de sélectionner les données de monitoring à consulter.

monitorix home

monitorix home

Configurer le logiciel de monitoring Monitorix

Il n’y a qu’un seul fichier de configuration à éditer pour configurer le software de monitoring Monitorix: /etc/monitorix/monitorix.conf

Après chaque modification de ce fichier, il faut redémarrer le service de Monitorix:

service monitorix restart

 

Pour faciliter le paramétrage, une documentation complète de Monitorix est disponible mais voici quelques informations sur les paramètres qui sont le plus utile dans Monitorix.

Paramètres généraux de Monitorix

  • title: description libre du serveur
  • hostname: le hostname du serveur
  • refresh_rate: nombre de secondes pour le rafraichissement automatique des pages
  • temperature_scale: permet de choisir Celsius ou Fahrenheit
  • max_historic_years: nombre d’années de données à archiver
  • ipv6_disabled: pour ne pas monitorer les ip v6
  • base_url: prefix d’url pour accéder à l’interface web (par défault Monitorix utilise /monitorix)
  • base_cgi: prefix d’url du script cgi de Monitorix (par défault /monitorix-cgi)

Paramètres du serveur HTTP de Monitorix

  • enabled: pour activer l’interface Web de Monitorix
  • host: pour binder le serveur web sur une interface spécifique
  • port: pour changer le port d’écoute du serveur HTTP de Monitorix
  • hosts_deny: pour interdire des adresses IP
  • hosts_allow: pour autoriser des adresses IP

Paramètres d’authentification HTTP de Monitorix

  • enabled: pour activer l’authentification sur l’interface Web
  • msg: pour personnaliser le message d’authentification
  • htpasswd: chemin du fichier contenant les logins et password (par défault /var/lib/monitorix/htpasswd)

Configurer plusieurs serveurs dans Monitorix

L’intérêt de Monitorix est qu’il permet également de monitorer plusieurs serveurs. Pour cela il faut éditer la section <multihost>.

  • enabled: pour activer le multihost
  • remotehost_list: nom des différents serveurs
  • remotehost_desc: description et adresse de chaque serveur à superviser

Autres paramètre de configuration de Monitorix

De nombreux autres paramètres permettent d’activer des collecteurs et de les configurer. Leur utilisation est simple et documentée sur le site de Monitorix.

Pour voir à quoi ressemble un fichier de configuration de Monitorix, vous pouvez télécharger mon fichier de configuration de Monitorix ici:

Leave a Reply

Your email address will not be published. Required fields are marked *