Installation de Smokeping sur Debian
SOMMAIRE 1 Installation 2 Configuration 3 Lancement
SmokePing est un logiciel libre et opensource écrit en Perl par Tobi Oetiker, le créateur de MRTG et RRDtool il permet de suivre votre latence du réseau et d’explorer les graphiques de manière interactive. Il est équipé d’une large gamme de plugin qui s’adapte aux différents service du réseau.
Mon but sera de présenter l’installation et la configuration de Smokeping en utilisant une sonde afin de mesurer la latence d’un service en particulier.
Installation
On lance l’installation de Apache qui est obligatoire pour pouvoir faire tourner Smokeping
apt-get install apache2
On lance l’installation de Smokeping
apt-get install smokeping
Configuration
Le dossier contenant les images des graphiques affiché dans l’interface web reste dans :
cd /var/www/smokeping
Les fichiers de configurations de Smokeping ainsi que l’interface du site se trouvent dans :
ls /etc/smokeping/config.d
Alerts Database General Presentation Probes Slaves Targets pathnames
General : Contient les informations de configuration générale comme le chemins du site, la personne responsable ainsi que l’adresse support.
Database : Cette section indique les spécifications des bases de données de type RRDtool à utiliser.
Presentation : Permet de gérer la présentation des pages et des graphiques.
Probes : Indique le type de sondes utilisé et variables utilisé en rapport avec le Target.
Target : Section permettant de préciser quels sont les hôtes et les services réseaux à tester ainsi que les noms des menu que l’on va composer et leur organisation.
Slaves : Optionnelle utilisé dans le cadre d’une configuration maitre esclave.
La première chose à faire est de configurer les paramètres généraux
nano /etc/smokeping/config.d/General 1. *** General ***
2. @include /etc/smokeping/config.d/pathnames 3. # Please edit this to suit your installation 4. owner = Befa
5. contact = befa@befa.fr
6. cgiurl = http://192.168.0.20/cgi-bin/smokeping.cgi 7. mailhost = smtp.xxx.fr
8. # specify this to get syslog logging 9. syslogfacility = local0
10.# each probe is now run in its own process
11.# disable this to revert to the old behaviour 12.# concurrentprobes = no
On peut commencer à configurer notre interface
nano /etc/smokeping/config.d/Targets 1. + DNS
2. menu = DNS
3. title = Etat des DNS primaire/secondaire 4.
5. ++ DNS1
6. probe = EchoPingDNS 7. menu = DNS1
8. title = Etat DNS Primaire (requete dns.befa.local) 9. dns_request = ad.befa.local
10. host = dns.befa.local 11.
12. ++ DNS2
13. probe = EchoPingDNS 14. menu = DNS2
15. title = Etat DNS Secondaire (requete dns2.befa.local) 16. dns_request = ad.befa.local
17. host = dns2.befa.local
EchopingDNS
Dans cet exemple je défini mon menu DNS par « + » puis 2 sous menu DNS1 et DNS2 défini par
« ++ » qui contiendront mes requêtes. On peut voir que j’utilise l’option dns_request, elle va me permettre d’effectué une requete sur mon serveur DNS qui lui demandera de résoudre ad.befa.local qui est mon serveur ldap.
J’utilise la sonde EchopingDNS qui sera paramétré dans le fichier suivant :
nano /etc/smokeping/config.d/Probes 1. *** Probes ***
2.
3. # Fping ping à 56 octets 4. + FPing
5. binary = /usr/bin/fping 6.
7. + EchoPingDNS # DNS (53/udp or tcp) servers 8. binary = /usr/bin/echoping
9. #nombre de processus lancé en même temps 10.forks = 5
11.#Permet de créer un décalage en cas d'utilisation de plusieurs sondes 12.offset = 50%
13.#Intervalle entre les pings 14.step = 300
15.
16.#+ EchoPing # uses TCP or UDP echo (port 7) 17.#+ EchoPingDiscard # uses TCP or UDP discard (port 9) 18.#+ EchoPingChargen # uses TCP chargen (port 19)
19.#+ EchoPingSmtp # SMTP (25/tcp) for mail servers 20.#+ EchoPingHttps # HTTPS (443/tcp) for web servers
21.#+ EchoPingHttp # HTTP (80/tcp) for web servers and caches 22.#+ EchoPingIcp # ICP (3130/udp) for caches
23.#+ EchoPingLDAP # LDAP (389/tcp) servers 24.#+ EchoPingWhois # Whois (43/tcp) servers
Fping
Pour une utilisation plus général le probe Fping permet de lancer de simple ping, il est intégré aussi à Smokeping. Le chemin de la sonde doit être toujours renseigné grâce à la variable « binary ». Par défaut le packet est de 56 octets si on ne renseigne rien, pour le renseigné on rajoute la variable
« packetsize ».
Pour plus d’information sur les Probes et sur les différentes variables possibles je vous renvoie vers la doc disponible ici.
Lancement
On relance smokeping
/etc/init.d/smokeping restart
On lance son navigateur favoris et se connecte sur l’interface de smokeping via le lien suivant si vous l’avez paramétré de la même manière que moi: http://192.168.0.20/cgi-bin/smokeping.cgi. Il suffit d’attendre quelques minutes selon notre paramétrage pour voir apparaitre les premiers graphes.
Reste à placer votre serveur à un endroit stratégique afin d’obtenir les latences de vos services de manière utile