Si tienes el servicio de Internet en Casa de Telcel y quieres llevar un registro gráfico detallado de tu consumo, esto puede ayudarte a comenzar.
- Python 3
- Selenium Server y Chrome Driver
- Suscripción gratuita a New Relic One para guardar y visualizar el consumo
- De instalador, solo MacOS
- De ejecución, donde sea que corran los requerimientos
Ejecutar make install
que hará lo siguiente:
- Crear un entorno virtual de python en
./.venv
- Descargar las dependencias de python según requirements.txt
- Instalar Selenium Server y Chrome Driver
La configuración se encuentra en el archivo config.py.dist, que debes renombrar a config.py
, con las siguientes variables:
Variable | Valor default | Descripción |
---|---|---|
SELENIUM_URL | http://127.0.0.1:4444/wd/hub | |
SELENIUM_HEADLESS | True | Si es True, el navegador arranca sin ventana |
ROUTER_HOST | http://192.168.8.1 | URL al router de Telcel (viene debajo del router) |
ROUTER_PASSWORD | - | El password de tu router (viene debajo del router) |
NEW_RELIC_ACCOUNT_ID | - | El ID de tu suscripción a New Relic One |
NEW_RELIC_INSERT_KEY | - | La llave de API para inserción de datos en New Relic One, generada en https://insights.newrelic.com/accounts/<NEW_RELIC_ACCOUNT_ID>/manage/api_keys |
NEW_RELIC_INSIGHTS_API_URL | - | El URL del API de ingesta de datos de New Relic One, que es https://insights-collector.newrelic.com/v1/accounts/<NEW_RELIC_ACCOUNT_ID>/events |
Ejecutar make run
que hará lo siguiente:
- Encender el Selenium Server
- Ejecutar el monitor de consumo monitor.py
- Apagar el Selenium Server
Para ejecutar este comando cada hora automáticamente, podemos agregarlo al crontab, con el comando crontab -e
para abrir el editor, y agregando la instrucción, especificando la ruta absoluta a la raíz del proyecto para el comando make
:
SHELL=/bin/bash
PATH=/bin:/usr/bin:/usr/local/bin/
0 * * * * make -C /ruta/a/monitor-internet-en-casa-telcel run >> /tmp/monitor-internet-en-casa-telcel.log 2>&1
El monitor de consumo monitor.py hace lo siguiente:
- Levanta un navegador Chrome en modo Headless (sin ventana)
- En ese navagador, abre el la página del router telcel
- Inicia sesión en el router y va la página de consumo de datos
- Extrae el total mensual y lo envía a New Relic One
- Imprime en la consola el total
Los datos de consumo se guardan en New Relic One como un custom event llamado MonthlyUsage
.
Puedes verlo con las siguiente consultas NRQL desde el Query Builder:
Al día de hoy, comparado contra ayer:
FROM MonthlyUsage SELECT latest(gigabytes_used) as 'GBs, hoy vs ayer' since 1 day ago COMPARE WITH 1 day ago
A partir de hoy, para dentro de 1 hasta 4 semanas en el futuro:
FROM MonthlyUsage SELECT round(predictlinear(gigabytes_used, 1 week)) as 'GBs, en +1 semana', round(predictlinear(gigabytes_used, 2 weeks)) as 'GBs, en +2 semanas', round(predictlinear(gigabytes_used, 3 weeks)) as 'GBs, en +3 semanas', round(predictlinear(gigabytes_used, 4 weeks)) as 'GBs, en +4 semanas' SINCE 1 week ago
FROM MonthlyUsage SELECT latest(gigabytes_used) TIMESERIES SINCE 3 days ago
FROM MonthlyUsage SELECT latest(gigabytes_used) as 'GBs' SINCE 5 days ago FACET dateOf(timestamp)
Esas consultas las puedes agregar a un dashboard de New Relic One para consultar tu consumo fácilmente, y puedes también crear alertas para saber si te estás acercando a tu límite mensual.