
adslometer v0.1 GPL por Jess Diguez Fernndez

Prerequisitos
-------------

Para poder utilizar este script debers tener instalados los siguientes paquetes:

php5 			- Intrprete del lenguaje PHP
php5-cli 		- Aadido para poder utilizar los scripts PHP directamente desde consola
gnuplot 		- Programa para generar grficas
mysql-server-5.0	- Gestor de base de datos

Si utilizas una distribucin de linux basada en debian, ser tan sencillo como ejecutar como root lo siguiente:

apt-get install php5 php5-cli gnuplot mysql-server-5.0


Contenido
---------

LEEME.txt			- Este fichero
GPL-v3.0.txt			- Licencia GPL versin 3
a_velocidad.sql			- Script de generacin de la base de datos, incluye el nombre de la base de datos, un usuario y contrasea por defecto, se recomienda editar este fichero antes de continuar
config.php			- Script con las variables de configuracin necesarias para que todo funcione correctamente
functions.php			- Librera de funciones tiles utilizada por los scripts
adslometer.php			- Script de consola que comprueba los datos actuales del router, los almacena en la base de datos MYSQL y genera una grfica con los datos de las ltimas 6 horas
dataview.php			- Script de consola que genera una tabla html con los datos de los ltimos tres das
include/			- Carpeta donde se almacenarn los scripts especficos de cada router para obtener los datos del mismo, funcionan a modo de plugin
	SMC7908A-ISP.php	- Script para el router ADSL de Ya.com con soporte para VOIP

Todos los scripts estn debidamente comentados y creo que han quedado bastante legibles, puedes personalizarlos a tu gusto si as lo necesitas.

Instalacin
-----------

Se debe extraer todo el contenido en una carpeta, preferiblemente bajo /usr/share o bajo /opt.
Para crear la base de datos, despus de haber ajustado el nombre de la base de datos, usuario y contrasea en el script 'a_velocidad.sql' que se incluye, slo tendremos que ejecutar esto:

mysql -u root -p < a_velocidad.sql

Despus de eso slo habr que escribir 'quit' para salir.

Estos scripts se pueden ejecutar desde un servidor http como apache, haciendo un alias a la carpeta donde se encuentra, pero se recomienda ejecutarlos peridicamente para evitar sobrecargar el servidor y el propio router. Se debern incluir dos nuevas tareas en cron:

crontab -e

# m h  dom mon dow   command
0,5,10,15,20,25,30,35,40,45,50,55       *       *       *       *       /usr/share/adslometer/adslometer.php 1>/var/www/adsl_speed.txt &
1,6,11,16,21,26,31,36,41,46,51,56       *       *       *       *       /usr/share/adslometer/dataview.php 1>/var/www/adsl_data.html &

Y listo, ya tenemos funcionando el adslometer. :)

Comentarios
-----------

Algunas cosas que mencionar:

	- En la base de datos se ha creado la tabla 'a_velocidad' que contiene los datos obtenidos cada 5 minutos del router. Como utilizar estos datos puede ser muy engorroso ya que hay muchos registros repetidos, se ha creado una vista de esta tabla, llamada 'velocidad' que contiene slo aquellos registros que son distintos.
	- El script lo he estado probando durante casi un mes y ha funcionado correctamente, aun as se encuentra en estado beta.
	- Estoy estudiando hacer un cliente basado en java para poder analizar los datos mes a mes en diferentes grficas, para poder sacar conclusiones sobre si los cortes o bajadas de velocidad ocurren en los mismos das, o mismas horas, etc...

Espero que os sea til. :)

