MonitorerSaLigneInternet

De Wiki Mdd


Dans les deux cas, il faut

  • un ordi chez soi qui tourne en permanence (par exemple un raspberry pi)
  • un serveur distant

Monitorer son débit descendant :

Sur le raspberry pi

installer iperf


sudo apt install iperf


Ouvrir le port 5001 de sa box vers le raspberry pi. Lancer le serveur iperf sur le raspberry pi

iperf -sD

Pour lancer au démarrage, tapez

crontab -e

et entrez la ligne suivante

@reboot iperf -sD
Sur le serveur distant

installer iperf

sudo apt install iperf

Créer un répertoire iperf et y aller

mkdir ~/iperf && cd ~/iperf

Créer un fichier test_iperf.sh (attention à bien changer le nom ou l'ip pour correspondre à celle de la maison....)

#!/bin/bash
result=$(iperf -f k -c chezmoi.chezmoi.net |grep '/sec' |awk '{print $7}')
date=$(date)
echo $date - $result >> ~/iperf/result_perf.log

Le rendre exécutable

chmod +x ~/iperf/test_iperf.sh

Lancer cette commande toutes les 10 minutes

crontab -e

et entrer (en remplaçant USER par le bon utilisateur)

5,15,25,35,45,55 /home/USER/iperf/test_iperf.sh

Laissez tourner quelques heures, et vous verrez dans le fichier ~/iperf/result_perf.log plusieurs lignes, avec la date et l'heure, et votre débit en kb/s.

Variante

Si vous souhaitez stocker la valeur dans une base de données, par exemple pour faire des graphes, dans le script, c'est la valeur de $result qu'il faut stocker

Monitorer son débit descendant :

C'est exactement la même chose, mais à l'envers :) Lancez iperf en mode serveur sur le serveur distant, créez le script sur votre ordi/rpi à la maison, et mettez le en cron.

Les deux seules différences :

  • mettez bien l'url/ip du serveur distant dans le script, pour ne pas faire de test sur soi même
  • changez légèrement le cron pour que les tests de débit montant/descendant ne se lancent pas en même temps. Par exemple
*/10 /home/USER/iperf/test_iperf.sh