MonitorerSaLigneInternet
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 :[modifier]
Sur le raspberry pi[modifier]
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[modifier]
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[modifier]
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 :[modifier]
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