La frecuencia de actualización de los datos es un aspecto importante para conseguir una monitorización fluida de las interfaces de red.
Aunque Grafana tenga configurada una actualización automática cada cinco segundos, los datos solo cambiarán cuando Prometheus realice una nueva recopilación.
Por defecto, podemos tener configurado un intervalo global de 15 segundos, pero cada trabajo de monitorización puede establecer su propio intervalo.
Comprobar la configuración actual
Accedemos al servidor Debian donde tenemos instalado Prometheus y ejecutamos:
nano /etc/prometheus/prometheus.yml
En nuestro caso, el trabajo de monitorización de MikroTik estaba configurado de la siguiente manera:
- job_name: 'mikrotik_snmp'
scrape_interval: 60s
scrape_timeout: 30s
Esto significa que Prometheus solicitaba los datos SNMP del MikroTik cada 60 segundos, provocando que los cambios de tráfico tardasen en reflejarse en Grafana.
Reducir el intervalo de monitorización
Para obtener mediciones más frecuentes, modificamos la configuración del trabajo mikrotik_snmp:
- job_name: 'mikrotik_snmp'
scrape_interval: 15s
scrape_timeout: 10s
Con esta modificación:
scrape_interval: 15s: Prometheus realizará una nueva consulta SNMP cada 15 segundos.scrape_timeout: 10s: establece un máximo de 10 segundos para completar cada recopilación.
Debemos conservar el resto de la configuración del trabajo, incluyendo los módulos SNMP, la autenticación y las direcciones de los dispositivos.
Aplicar la nueva configuración
Guardamos el archivo y comprobamos que no existen errores:
promtool check config /etc/prometheus/prometheus.yml
Si la validación es correcta, reiniciamos Prometheus:
systemctl restart prometheus
Comprobamos que el servicio está funcionando:
systemctl status prometheus
Finalmente, accedemos a:
http://IP_SERVIDOR:9090/targets
Verificamos que el trabajo mikrotik_snmp aparece en estado UP y que su intervalo de recopilación es de 15 segundos.
También podemos comprobar el tiempo que tarda en obtener las métricas mediante esta consulta PromQL:
scrape_duration_seconds{job="mikrotik_snmp"}
Si el tiempo de recopilación se aproxima al timeout configurado, será necesario revisar el rendimiento de las consultas SNMP.
Consideraciones para redes ISP con múltiples clientes PPPoE
En routers MikroTik que gestionan cientos de conexiones PPPoE, consultar todas las interfaces mediante SNMP puede generar una carga considerable.
Por este motivo, es recomendable comprobar el tiempo de respuesta de SNMP Exporter antes de reducir excesivamente el intervalo de recopilación.
Si la carga es elevada, podemos separar la monitorización de las interfaces WAN de la monitorización general de interfaces y sensores, utilizando trabajos y módulos específicos.
Con un intervalo de recopilación de 15 segundos en Prometheus, una ventana de cálculo de 1 minuto en PromQL y una actualización de 5 segundos en Grafana, conseguiremos una monitorización del tráfico WAN mucho más ágil, adecuada para detectar variaciones de consumo y analizar el comportamiento de los enlaces de Internet.
La actualización del gráfico no significa que se obtengan nuevas mediciones cada cinco segundos: los datos nuevos seguirán llegando aproximadamente cada 15 segundos.