Monitoreo de la velocidad de Internet en casa o lugar de trabajo.
Autor: | Carlos Jenkins |
---|---|
Email: | carlos@jenkins.co.cr |
Fecha: | 9 de Octubre 2014 |
https://github.com/carlos-jenkins/frog-croak/
Frog Croak es una herramienta que permite a los usuario monitorear y analizar la velocidad de su conexión a Internet en el tiempo. Lo componen dos elementos:
Para un demo en vivo visitar: http://speed.jenkins.co.cr/
Se requiere un servidor web:
wget https://github.com/carlos-jenkins/frog-croak/archive/master.zip -O frog-croak.zip unzip frog-croak.zip mv frog-croak-master/viewer/ [install path]
Se configura por medio del archivo config.json:
{ "data": "data.csv", "lang" : "en", "title": "Internet Speed Test Log", "organization": "My Organization", "download_contracted": 5.0, "download_guaranteed": 0.8, "upload_contracted": 1.0, "upload_guaranteed": 0.8 }
sudo apt-get install python-pip sudo pip install frog-croak
Para tomar una muestra se ejecuta:
$ frog-croak
Se utiliza cron para programar el tiempo de muestreo:
$ sudo crontab -u www-data -e
50 * * * * /usr/local/bin/frog-croak --output /var/www/html/speed/data.csv
En el ejemplo anterior se programa para que se tome una muestra cada hora al minuto 50 y se guarden las muestras en el archivo /var/www/html/speed/data.csv.
El colector y el visualizador es muy normal que se encuentren en máquinas distintas. Por ejemplo, el colector puede estar instalado en un Raspberry PI o un BeagleBone Black en la casa o lugar en el cual se quiere monitorear la velocidad de internet, mientras que el visualizador puede estar en un servidor web externo, un VPS o en otra localidad física.
Para ello se crea un script que copie el archivo de muestras cada vez que toma una.
$ cat /home/myuser/speed/speed.sh #!/bin/bash set -e # Env variables PATH=/usr/local/bin:/usr/bin:/bin cd /home/myuser/speed frog-croak --silent scp data.csv external:/var/www/html/speed/
¿Preguntas?
Muchas gracias.
Autor: | Carlos Jenkins |
---|---|
Email: | carlos@jenkins.co.cr |
Web: | http://carlos.jenkins.co.cr/ |