Speedtest Tracker, ou comment surveiller votre débit Internet automatiquement

Speedtest Tracker, ou comment surveiller votre débit Internet automatiquement

Tout le monde n'a pas encore la chance d'être raccordé à la Fibre Optique ou d'avoir un abonnement pour profiter des débits élevés qu'offre ce type de connexion. Pour ma part, c'est très récent et ne date que d'il y a quelques semaines !

Dans la vie de tous les jours, en étant raccordé à la fibre, il est possible de regarder des films ou séries en streaming en très haute qualité, de jouer à des jeux en ligne sans latence, de pouvoir télécharger des programmes ou mises à jour dans des temps réduits, ... Sans la fibre, toutes ces tâches sont possibles, mais en prenant son mal en patience ou en acceptant une dégradation du service en question...
Dans le cadre professionnel, cela permet de télécharger des fichiers depuis ou vers un serveur dans des délais courts. Par exemple, il me fallait environ 30 minutes chaque semaine pour télécharger un ensemble de fichiers qui font environ 1 Go, ce qui me prend aujourd'hui moins d'1 minute !

Que l'on soit raccordé ou non à la Fibre Optique, on peut vouloir surveiller sa bande passante, que ce soit pour vérifier qu'elle est stable dans le temps, ou pour trouver les créneaux moins utilisés sur lesquels planifier des chargements ou téléchargements. C'est là qu'interviennent des services de test de débit Internet, comme Speedtest d'Ookla, nPerf ou encore Fast de Netflix, des services en ligne permettant de tester la vitesse de sa connexion Internet.

C'est bien, mais ce sont des services en ligne, et comme à notre habitude, nous cherchons ici à vous faire découvrir des services que vous pouvez auto-héberger. Un outil s'est démarqué du lot, par sa simplicité, Speedtest Tracker, développé par Henry Whitaker ! Alors il s'appuie quand même sur les services d'Ookla, mais il faut bien que le test se connecte à un serveur externe pour être capable de mesurer vos débits descendants et montants.

GitHub - henrywhitaker3/Speedtest-Tracker: Continuously track your internet speed
Continuously track your internet speed. Contribute to henrywhitaker3/Speedtest-Tracker development by creating an account on GitHub.

Pour mettre en place cet outil, nous allons utiliser l'image Docker mise à disposition par le développeur, à l'aide du fichier docker-compose.yaml suivant :

version: '3'
services:
    speedtest:
        container_name: speedtest
        image: henrywhitaker3/speedtest-tracker:dev
        ports:
            - 8765:80
        volumes:
            - ./config:/config
        environment:
            - TZ=Europe/PARIS
            - OOKLA_EULA_GDPR=true  # Paramètre obligatoire à 'true' pour accepter les conditions d'utilisation des services Ookla. Si ce paramètre n'est pas renseigné, le conteneur ne démarrera pas.
        logging:
            driver: "json-file"
            options:
                max-file: "10"
                max-size: "200k"
        restart: unless-stopped

Par défaut, l'interface web est accessible par tous. Il est possible de configurer une authentification en rajoutant la variable d'environnement AUTH=true. Dans ce cas, les identifiants par défaut seront admin@admin.com / password et il faudra vous rendre dans les réglages changer ce dernier. Cela restreindra l'interface publique aux graphiques et tables de résultats, et permettra de limiter au seul administrateur le bouton de lancement d'un test ainsi que l'accès à la configuration.

Attention ! Depuis les dernières versions, le paramètre pour accepter les règles GDPR est sans effet. Il faut donc se connecter dans le conteneur pour lancer une commande interactive pour les accepter.

Pour cela, connectez-vous à l'intérieur du conteneur avec la commande

docker exec -it speedtest

Puis acceptez les conditions avec la commande

php /config/www/artisan speedtest:eula

Parmi les éléments qui peuvent être configurés, on retrouve la possibilité de personnaliser la fréquence des test (par défaut à 1h), de choisir d'afficher ou non les valeurs minimales, maximales et moyennes des débits ainsi que la largeur des graphiques (demi-page ou largeur de la page). On peut mettre en place des notifications sur Slack ou Telegram, en personnalisant quelles notifications recevoir ou encore les seuils d'alerte. Il est également possible de sauvegarder ou restaurer les paramètres et tests de Speedtest Tracker.

Après quelques tests, vous obtiendrez les résultats sous forme de graphiques ou de tableau :


Conclusion

Mettre en place ce type d'outil ne prend pas beaucoup de temps mais peut vous rendre service pour surveiller les débits de votre connexion Internet ou encore trouver le bon moment pour effectuer des opérations nécessitant de la bonne passante.

Si vous avez des questions, n'hésitez pas à laisser un commentaire ou venir échanger avec nous sur le groupe Telegram de la communauté.