logo rss

SmokePing sur Debian : Supervision de la latence réseau et de la perte de paquets

SmokePing logo

Ce guide explique comment installer et configurer SmokePing sur Debian afin de surveiller la latence réseau, la perte de paquets et le jitter dans le temps.

SmokePing fournit des graphiques détaillés permettant de visualiser les variations du temps de réponse (RTT) et de détecter les instabilités ou micro-coupures d’une connexion Internet.

Si vous suspectez des problèmes de fiabilité avec votre fournisseur d’accès à Internet (FAI) ou si vous souhaitez mettre en place une supervision continue de la latence, SmokePing constitue une solution open source légère et efficace.

Environnement de test et versions

  • Système d’exploitation : Debian 13 (Trixie)
  • SmokePing : 2.8.2

Installer SmokePing sur Debian

Installez SmokePing sur Debian à partir des dépôts officiels :

  • Mettre à jour l’index des paquets :
apt update
  • Installer SmokePing et ses dépendances :
apt install smokeping

Une fois installé, le service SmokePing ainsi que la configuration Apache sont activés automatiquement.

Accédez ensuite à l’interface web :

http://A.B.C.D/smokeping/

Par défaut, SmokePing collecte les données toutes les 300 secondes. Après un ou deux cycles de collecte, les premiers graphiques de latence devraient apparaître.

Les graphiques SmokePing affichent des mesures de latence Internet telles que le temps d'aller-retour maximal, l'écart type, la perte de paquets et le temps d'aller-retour médian.
SmokePing vue Charts

Configurer les cibles SmokePing sur Debian

Dans cette section, nous configurons les cibles SmokePing afin de surveiller des serveurs DNS externes et de comparer leur latence dans le temps.

Pour cet exemple, nous allons superviser Cloudflare DNS (1.1.1.1), Google DNS (8.8.4.4) et créer une entrée MultiHost afin de visualiser leurs métriques de latence combinées.

  • Modifier le fichier /etc/smokeping/config.d/Targets pour définir les hôtes à superviser :
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
         Here you will learn all about the latency of our network.

+ Local

menu = Local
title = Local Network
#parents = owner:/Test/James location:/

++ LocalMachine

menu = Local Machine
title = This host
host = localhost
#alerts = someloss

++ CloudflareDNS

menu = Cloudflare DNS
title = Cloudflare DNS server
host = 1.1.1.1

++ GoogleDNS

menu = Google DNS
title = Google DNS server
host = 8.8.4.4

++ MultiHost

menu = Multihost Google and CloudFlare
title = CloudflareDNS and Google DNS
host = /Local/CloudflareDNS /Local/GoogleDNS
  • Redémarrer le service SmokePing afin d’appliquer la nouvelle configuration des cibles :
root@server:~# systemctl restart smokeping.service
  • Après un ou deux cycles de collecte (par défaut : 300 secondes), les nouveaux graphiques de latence devraient apparaître dans l’interface web :
Interface SmokePing affichant des graphiques de latence du réseau local, y compris Cloudflare DNS, Google DNS et une vue combinée de plusieurs hôtes.
SmokePing vue Local

Configurer la sonde FPingContinuous dans SmokePing

SmokePing prend en charge plusieurs types de sondes selon la méthode de supervision souhaitée. La liste complète des sondes disponibles est documentée sur le site officiel : documentation des sondes SmokePing.

Dans cette section, nous configurons la sonde FPingContinuous. Par rapport à la sonde par défaut FPing, elle améliore la scalabilité et fournit des mesures de latence plus régulières lors de la supervision de plusieurs cibles.

Contrairement à la sonde FPing standard, FPingContinuous exécute fping en mode continu et transmet les résultats directement à SmokePing. Cela réduit la surcharge liée au lancement des processus et améliore la détection de la perte de paquets, du jitter et des instabilités réseau de courte durée.

Page de documentation SmokePing affichant la section « Probes » dans le menu de navigation.
Documentation SmokePing — section « Probes » dans le menu latéral.
  • Copier la configuration de la sonde FPingContinuous depuis la documentation officielle :
Exemple de configuration de la sonde FPingContinuous dans SmokePing avec les paramètres binary, hostinterval, pings, step et timeout.
Exemple de bloc de configuration de la sonde FPingContinuous dans la documentation officielle.
  • Modifier le fichier /etc/smokeping/config.d/Probes et ajouter la section de sonde suivante (conserver les sondes existantes) :
*** Probes ***

+ FPing

binary = /usr/bin/fping

+ FPingContinuous

binary = /usr/bin/fping # mandatory
hostinterval = 1.5
offset = 50%
#packetsize = 5000
packetsize = 64
pings = 20
# sourceaddress = 192.168.0.1
step = 300
timeout = 1.5
tos = 0x20
usestdout = false
  • Modifier le fichier /etc/smokeping/config.d/Targets afin d’associer la sonde FPingContinuous à un hôte spécifique à superviser :
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
         Here you will learn all about the latency of our network.

+ Local

menu = Local
title = Local Network
#parents = owner:/Test/James location:/

++ GoogleDNS

menu = Google DNS
title = Google DNS server
probe = FPingContinuous
host = 8.8.4.4

Cette configuration remplace la sonde par défaut FPing et applique FPingContinuous uniquement à la cible Google DNS.

  • Enfin, redémarrer le service SmokePing afin d’appliquer la nouvelle configuration de la sonde :
systemctl restart smokeping

Dépannage et mode debug de SmokePing

Si SmokePing ne démarre pas ou ne collecte pas correctement les données, vous pouvez l’exécuter en mode debug afin d’identifier les erreurs de configuration.

  • Commencez par arrêter le service systemd :
systemctl stop smokeping
  • Puis lancez SmokePing manuellement en mode debug :
smokeping --debug

Les erreurs d’analyse de configuration ainsi que les problèmes liés aux sondes s’afficheront directement dans le terminal.

  • Répertoire de travail de SmokePing :
ls /run/smokeping/
  • Consulter les journaux du service :
journalctl -u smokeping