Mode d'emploi pour utiliser speedtest sans usr/pwd admin d'influxdb
Prérequis :
une database dédiée configurée sous influxdb, avec son user/pwd dédié.
Télécharger le fichier speedtest2.tar (à la fin du message). Il contient :
Dockerfile : fichier de commande pour générer la nouvelle image
InfluxdbSpeedtest.py : fichier de lancement du test, très légèrement modifié (on fait un simple 'ping' de la base influxdb)
SpeedTest_Net_Server_List.xml : en prime la liste des serveurs utilisés, avec leurs identifiants. Pour amélioration du dashboard grafana (source github)
Etat avant modification :
image
root@ds918blam:/volume1/docker/speedtest# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
...
atribe/speedtest-for-influxdb-and-grafana latest 99c2c10d1e41 16 months ago 111MB
...
container
root@ds918blam:/volume1/docker/speedtest# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
...
bc4340b44afd atribe/speedtest-for-influxdb-and-grafana:latest "python -u /src/infl…" 3 days ago Up 43 hours speedtest
...
On arrete le container speedtest en cours
root@ds918blam:/volume1/docker/speedtest# docker stop speedtest
speedtest
On construit la nouvelle image /!\ ne pas oublier le "." (point) à la fin de la commande /!\
root@ds918blam:/volume1/docker/speedtest# docker build -f Dockerfile --rm --tag speedtest2 .
Sending build context to Docker daemon 959kB
Step 1/2 : FROM atribe/speedtest-for-influxdb-and-grafana:latest
---> 99c2c10d1e41
Step 2/2 : COPY ./InfluxdbSpeedtest.py /src/influxspeedtest/
---> 08847e4b7b5e
Successfully built 08847e4b7b5e
Successfully tagged speedtest2:latest
on vérifie que l'image speedtest2 a bien été créée (on a toujours l'ancienne)
root@ds918blam:/volume1/docker/speedtest# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
speedtest2 latest 08847e4b7b5e 15 seconds ago 111MB
...
atribe/speedtest-for-influxdb-and-grafana latest 99c2c10d1e41 16 months ago 111MB
...
on met à jour le docker-compose.yaml pour prendre en compte cette nouvelle image
root@ds918blam:/volume1/docker/speedtest# cat docker-compose.yaml
version: "2.1"
services:
speedtest2:
image: speedtest2:latest
container_name: speedtest2
volumes:
- ./config.ini:/src/config.ini
restart: unless-stopped
mem_limit: 256M
network_mode: bridge
on met à jour le fichier config.ini pour modifier le user/pwd à utiliser
root@ds918blam:/volume1/docker/speedtest# cat config.ini
[GENERAL]
# Duree en secondes entre deux mesures
# Delay = 3600
Delay = 10800
[INFLUXDB]
Address = xxx.xxx.xxx.xxx
Port = 8086
Database = nas_speedtest
#Username = admin
#Password = admin
Username = speedtestuser
Password = speedtestpwd
Verify_SSL = True
[SPEEDTEST]
# Leave blank to auto pick server
Server =
[LOGGING]
# Valid Options: critical, error, warning, info, debug
Level = debug
On peut enfin lancer le nouveau container avec la nouvelle image :
root@ds918blam:/volume1/docker/speedtest# docker-compose up -d
Creating speedtest2 ... done
on attend une petite minute et on vérifie que tout est en place :
root@ds918blam:/volume1/docker/speedtest# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
498d69abfe03 speedtest2:latest "python -u /src/infl…" About a minute ago Up About a minute speedtest2
...
root@ds918blam:/volume1/docker/speedtest# docker logs speedtest2
Loading Configuration File config.ini
Configuration Successfully Loaded
2021-01-07 13:22:38,148 - DEBUG: Testing connection to InfluxDb using provided credentials
2021-01-07 13:22:38,341 - DEBUG: Successful connection to InfluxDb
2021-01-07 13:22:38,341 - INFO: Starting Speed Test For Server None
2021-01-07 13:22:38,357 - DEBUG: Setting up SpeedTest.net client
2021-01-07 13:22:38,586 - DEBUG: Picking the closest server
2021-01-07 13:23:08,886 - INFO: Selected Server 16676 in Paris
2021-01-07 13:23:08,887 - INFO: Starting download test
2021-01-07 13:23:13,306 - INFO: Starting upload test
2021-01-07 13:23:16,028 - DEBUG: [{'measurement': 'speed_test_results', 'fields': {'download': 741713644.1996006, 'upload': 549366763.0788989, 'ping': 5.709, 'server': '16676', 'server_name': 'Paris'}, 'tags': {'server': '16676', 'server_name': 'Paris', 'server_country': 'France'}}]
2021-01-07 13:23:16,242 - DEBUG: Data written to InfluxDB
2021-01-07 13:23:16,242 - INFO: Download: 741.71Mbps - Upload: 549.37Mbps - Latency: 5.709ms
2021-01-07 13:23:16,242 - INFO: Waiting 10800 seconds until next test
et je retrouve ce test dans mon dashboard (je n'ai pas mis à jour le fuseaux horaire ...) :
Le fichier tar à télécharger :speedtest2.tar
Remarque : effectué sous DSM7 Beta. Pas de raison que ce soit différent sous DSM6
Si il y a une coquille quelque part, merci de me la signaler.
Bruno78