Weathermap4RRD : faire des cartes de monitoring
1 Introduction
Vous aimez bien regarder les cartes sur le site de Free ou d’OVH?? Vous aimeriez avoir les mêmes pour votre réseau?? C’est ce que nous allons faire dans cet article, qui s’adresse principalement aux administrateurs réseau. Pour cet article, nous allons nous baser sur Cacti et sur une variation du Weathermap original?: Weathermap4RRD. Ce fork ne se base pas sur MRTG comme le Weathermap original et nous allons utiliser cette différence.
Fait établi?: les admins sont des loutres. Donc, nous détestons faire 2 fois la même tâche lassante?: les machines sont là pour le faire pour nous. Ici, je considère que notre Cacti est en état de marche, qu’il mesure différents liens sur différents sites. Il produit donc des fichiers RRA (Round Robin Archive, c’est dans ces fichiers que Cacti stocke ses mesures) avec lesquels il génère ses graphes que nos décideurs pressés aiment contempler. Ce sont ces fichiers que nous allons utiliser?: ils contiennent tous les données dont va se servir Weathermap4RRD. Une seule mesure et (au moins) deux sorties graphiques, génial non??
2 Installation
ien de plus simple sur une Debian (ou sur une distribution apt-enabled)?:
apt-get |
apt-get install weathermap4rrd |
Oui, c’est tout?: nous verrons la configuration de Weathermap et des graphiques une fois que nous aurons bien en vue notre plan d’attaque.
3 Configuration
Je vais ici réutiliser des données réelles, seuls les noms ont été changés. La topologie du réseau est la suivante?: un datacenter à Paris, un site distant à Lyon et un autre site distant à Bordeaux. La liaison entre Paris et Lyon a un débit de 10?Mb et celle entre Paris et Bordeaux a un débit de 2?Mb. On aura donc 3?lieux à placer et 2?lignes à tracer sur le graphique?: Paris/Lyon et Paris/Bordeaux.
Partie nécessaire et fastidieuse, il faut repérer dans Cacti les noms des RRA qui correspondent aux mesures effectuées pour chacun des sites.
Pour cela, nous allons utiliser l’interface web de Cacti. Dans la console, section "?Data Sources?", sélectionnez (en utilisant au besoin la recherche) la source de données correspondant au débit réseau de chacun des sites. L’info qui nous intéresse est le "?Data Source Path?", par exemple <path_rra>/routeur_lyon_254_traffic_in_334.rrd.
Sur une Debian, le <path_rra> par défaut est /var/lib/cacti/rra/.
Cette opération est à effectuer pour chacun des lieux à représenter et pour chacune des interfaces qui est le départ d’une ligne. C’est long, mais ce n’est à faire qu’une seule fois. Nous avons toutes les infos nécessaires pour commencer.
Chaque graphique a son fichier de configuration, nous utiliserons /etc/weathermap4rrd/weathermap4rrd.sites.conf dans notre cas.
Pour le graphe, on va choisir un fond de carte (Google images nous aidera grandement à le trouver) pour que notre graphique soit plus parlant et plus agréable à regarder.
Le fichier de conf /etc/weathermap4rrd/weathermap4rrd.sites.conf :
Petit test pour vérifier que tout se passe bien?:
weathermap4rrd |
weathermap4rrd -c /etc/weathermap4rrd/weathermap4rrd.sites.conf |
Et notre résultat se trouve alors dans /var/www/weathermap/weathermap_sites.png. Nous pouvons procéder à quelques ajustements de positions ou autres vérifications cosmétiques.
PAMARCH?? Pas de panique, utilisons le switch –debug sur la ligne de commande pour avoir plus d’infos sur ce qui se passe. Le plus dur est fait, mais il faut maintenant actualiser ces données automatiquement et les présenter au monde.
3.1 Publier les graphiques
On aura vite fait de définir un virtualhost pour notre indien?:
Il nous faut aussi un petit script pour regénérer tout ça?:
On créera l’entrée suivante dans la crontab?:
crontab -e |
*/2 * * * * /opt/scripts/weathermap.sh |
Pour recréer les graphes toutes les 2 minutes, même si Cacti polle par défaut toutes les 5 minutes, on aura des données tout de même plus "?à jour?" de cette façon.
Comble du charme, ce script crée une miniature avec convert (du package ImageMagick) à 25% de la taille de l’original, qui ira parfaitement compléter la page (très basique) à utiliser en index de notre vhost?:
<html> <head><title>Utilisation du reseau</title></head> <body> <center><h1>Utilisation du réseau</h1> <em>(données actualisées toutes les 5 minutes)</em> </center> <p>France/data<br><a href="weathermap_sites.png"> <img src="weathermap_sites_t.png" border="0"></a></p> </body> </html>
Voilà?! C’est fini pour cet article qui vous aura, je l’espère, donné envie de faire la même chose chez vous.
4 Ressources
http://www.unixgarden.com/index.php/administration-systeme/1086