La monitorización de servidores y dispositivos de red es una tarea fundamental para garantizar la disponibilidad, el rendimiento y la seguridad de cualquier infraestructura informática. En entornos empresariales y redes de proveedores de servicios de Internet (ISP/WISP), disponer de información en tiempo real permite detectar incidencias, anticiparse a problemas y optimizar los recursos disponibles.
Una de las soluciones más interesantes para estas tareas es combinar Prometheus y Grafana, dos herramientas que permiten recopilar, almacenar y visualizar métricas de servidores, routers, switches y otros dispositivos de red.
En este tutorial aprenderemos a instalar Prometheus y Grafana en Debian 13, utilizando servicios nativos de Linux, sin necesidad de Docker. Además, prepararemos el sistema para monitorizar posteriormente dispositivos MikroTik mediante SNMP.
¿Qué es Prometheus?
Prometheus es una plataforma de monitorización de código abierto diseñada para recopilar y almacenar métricas en forma de series temporales. Su funcionamiento se basa principalmente en consultar periódicamente diferentes servicios y dispositivos mediante un mecanismo conocido como scraping.
Entre sus principales características destacan:
- Recopilación automática de métricas.
- Almacenamiento histórico de datos.
- Consultas mediante el lenguaje PromQL.
- Supervisión de servidores y dispositivos de red.
- Integración con múltiples exportadores.
- Definición de reglas y alertas.
- Integración con Grafana.
Prometheus resulta especialmente útil para supervisar el rendimiento de sistemas Linux, infraestructura de red, servicios y aplicaciones.
¿Qué es Grafana?
Grafana es una plataforma de visualización y análisis de datos que permite crear paneles de monitorización personalizados. Aunque Grafana es compatible con diferentes fuentes de datos, Prometheus es una de las más utilizadas.
Mediante Grafana podemos representar gráficamente información como:
- Utilización de CPU y memoria RAM.
- Consumo de ancho de banda.
- Estado de interfaces de red.
- Espacio disponible en discos.
- Temperatura de equipos.
- Disponibilidad de servicios.
- Evolución histórica del rendimiento.
También permite configurar alertas para recibir notificaciones cuando determinadas métricas superan los umbrales establecidos.
¿Cómo funcionan Prometheus y Grafana juntos?
Para comprender esta arquitectura es importante conocer la función de cada componente.
- Exportadores: son servicios que obtienen información del sistema o dispositivo monitorizado y la presentan en un formato compatible con Prometheus.
- Prometheus: consulta los exportadores periódicamente, recopila las métricas y almacena los datos.
- Grafana: se conecta a Prometheus para consultar las métricas y representarlas mediante gráficos, tablas y paneles.
Por ejemplo, para monitorizar un router MikroTik se puede utilizar SNMP Exporter, que obtiene información del dispositivo utilizando el protocolo SNMP. En cambio, para monitorizar un servidor Debian utilizaremos Node Exporter.
Requisitos para instalar Prometheus y Grafana en Debian 13
En este tutorial utilizaremos una máquina virtual con Debian 13 en Proxmox, aunque también podemos realizar la instalación sobre un servidor físico. Para una instalación inicial destinada a monitorizar varios servidores y dispositivos de red recomendamos los siguientes recursos:
| Recurso | Configuración recomendada |
|---|---|
| Sistema operativo | Debian 13 |
| Procesador | 4 vCPU |
| Memoria RAM | 8 GB |
| Almacenamiento | 100 GB SSD |
| Conectividad | Dirección IP fija |
| Acceso | SSH |
| Virtualización | Proxmox VE, opcional |
Los requisitos pueden variar dependiendo del número de dispositivos, métricas recopiladas y tiempo de retención de los datos. En instalaciones grandes será necesario dimensionar especialmente el almacenamiento.
Preparación inicial de Debian 13
Antes de comenzar la instalación debemos asegurarnos de que Debian está actualizado.
Accedemos al servidor mediante SSH y comprobamos la versión instalada:
cat /etc/os-release
El sistema debería identificar Debian GNU/Linux 13, cuyo nombre en clave es trixie.
Actualizamos la lista de paquetes:
sudo apt update
Instalamos las actualizaciones disponibles:
sudo apt full-upgrade
A continuación, instalamos algunas herramientas que serán útiles para la administración del servidor:
sudo apt install -y curl wget gnupg ca-certificates nano htop net-tools dnsutils snmp
Si estamos utilizando Proxmox VE, también podemos instalar QEMU Guest Agent:
sudo apt install -y qemu-guest-agent
Activamos el servicio:
sudo systemctl enable --now qemu-guest-agent
Esta herramienta facilita la comunicación entre la máquina virtual y el hipervisor Proxmox.
Configurar la zona horaria del servidor
Es importante que el servidor tenga correctamente configurada la zona horaria, especialmente cuando utilizamos herramientas de monitorización que almacenan información histórica.
Para configurar la hora española ejecutamos:
sudo timedatectl set-timezone Europe/Madrid
Comprobamos el resultado:
timedatectl

Debemos verificar también que la sincronización horaria del sistema funciona correctamente.
Instalar Prometheus en Debian 13
Prometheus se encuentra disponible en los repositorios oficiales de Debian, por lo que podemos instalarlo directamente mediante APT.
sudo apt install -y prometheus
Una vez completada la instalación, habilitamos el servicio para que se inicie automáticamente con el sistema:
sudo systemctl enable --now prometheus
Comprobamos su estado:
systemctl status prometheus
Si todo funciona correctamente, aparecerá el estado:
active (running)

Comprobar el funcionamiento de Prometheus
Prometheus utiliza por defecto el puerto TCP 9090.
Podemos comprobar localmente si el servidor está preparado para recibir consultas:
curl http://127.0.0.1:9090/-/ready
La respuesta esperada es:
Prometheus Server is Ready.

El archivo principal de configuración se encuentra normalmente en:
/etc/prometheus/prometheus.yml
Desde este archivo configuraremos posteriormente los dispositivos, servidores y exportadores que queremos monitorizar. Por seguridad, es recomendable limitar el acceso al puerto 9090 a la propia máquina y a los sistemas de administración autorizados.
Instalar Node Exporter para monitorizar Debian
Node Exporter permite recopilar información del sistema operativo Linux, gracias a este exportador podremos conocer el estado de los recursos del propio servidor de monitorización.
Para instalarlo ejecutamos:
sudo apt install -y prometheus-node-exporter
Habilitamos el servicio:
sudo systemctl enable --now prometheus-node-exporter
Comprobamos su estado:
systemctl status prometheus-node-exporter

Node Exporter utiliza por defecto el puerto TCP 9100.
Podemos verificar que está proporcionando métricas:
curl http://127.0.0.1:9100/metrics
Si funciona correctamente, aparecerá una lista de métricas relacionadas con el servidor. Entre ellas podemos encontrar información sobre CPU, memoria RAM, interfaces de red, sistema de archivos y carga del sistema. Para comprobar que Prometheus está recopilando esas métricas, debemos revisar que Node Exporter figure como objetivo en su configuración y tenga estado UP.
Instalar Grafana en Debian 13
Para instalar Grafana utilizaremos su repositorio oficial, lo que facilitará la instalación de futuras actualizaciones.
Primero instalamos las dependencias necesarias:
sudo apt install -y apt-transport-https wget gnupg
Creamos el directorio donde almacenaremos la clave del repositorio:
sudo mkdir -p /etc/apt/keyrings
Descargamos la clave oficial de Grafana:
sudo wget -O /etc/apt/keyrings/grafana.asc https://apt.grafana.com/gpg-full.key
Establecemos los permisos adecuados:
sudo chmod 644 /etc/apt/keyrings/grafana.asc
Añadimos el repositorio estable:
echo "deb [signed-by=/etc/apt/keyrings/grafana.asc] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
Actualizamos nuevamente los repositorios:
sudo apt update
Instalamos Grafana en su edición de código abierto:
sudo apt install -y grafana
Una vez finalizada la instalación, activamos el servicio:
sudo systemctl enable --now grafana-server
Verificamos su funcionamiento:
systemctl status grafana-server

Si la instalación ha sido correcta, el servicio aparecerá como activo.
Acceder a la interfaz web de Grafana
Grafana utiliza por defecto el puerto TCP 3000. Para acceder a su interfaz web abrimos un navegador e introducimos la dirección IP del servidor seguida del puerto:
http://IP_DEL_SERVIDOR:3000
Las credenciales iniciales habituales son:
- Usuario: admin
- Contraseña: admin
En el primer inicio de sesión, Grafana solicitará establecer una contraseña nueva. Es importante utilizar una contraseña segura y evitar publicar directamente la interfaz en Internet.

Para accesos remotos podemos utilizar una VPN o configurar posteriormente un proxy inverso con HTTPS.
Conectar Grafana con Prometheus
Una vez dentro de Grafana debemos configurar Prometheus como fuente de datos, accedemos al apartado Connections → Data sources y seleccionamos la opción para añadir una fuente de datos.



Elegimos Prometheus e introducimos la siguiente dirección:
http://localhost:9090
Esta dirección es válida cuando Grafana y Prometheus están instalados en el mismo servidor, guardamos la configuración y utilizamos la opción Save & test para comprobar la conectividad. Si la conexión se establece correctamente, Grafana ya estará preparado para consultar las métricas almacenadas en Prometheus.

Podemos ver en el apartado que se ha guardado corerctamente.

Realizar las primeras consultas con PromQL
Grafana permite consultar las métricas de Prometheus utilizando su lenguaje PromQL, podemos realizar las primeras pruebas desde el apartado Explore.
Comprobar los servicios monitorizados
La siguiente consulta muestra el estado de los objetivos de Prometheus:
up
El valor 1 indica que la última recopilación de métricas del objetivo se ha realizado correctamente. El valor 0 indica que Prometheus no ha podido obtener sus métricas.
Consultar la memoria RAM del servidor
Para mostrar la memoria RAM total podemos utilizar:
node_memory_MemTotal_bytes
Para calcular el porcentaje de memoria RAM utilizada:
100 * (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)
Estos datos pueden representarse posteriormente en paneles gráficos personalizados.

Monitorización de routers MikroTik con Prometheus y Grafana
Una de las grandes ventajas de esta solución es la posibilidad de monitorizar equipos de red mediante SNMP, en el caso de MikroTik RouterOS, podemos utilizar SNMP Exporter para obtener métricas del router y almacenarlas en Prometheus.
Entre los parámetros que podemos supervisar destacan:
- Utilización del procesador.
- Memoria RAM disponible.
- Tiempo de funcionamiento del router.
- Tráfico entrante y saliente de las interfaces.
- Estado de los puertos Ethernet.
- Errores y descartes de paquetes.
- Temperatura y otros sensores compatibles.
Para instalar SNMP Exporter en Debian ejecutamos:
sudo apt install -y prometheus-snmp-exporter
Activamos el servicio:
sudo systemctl enable --now prometheus-snmp-exporter
Podemos comprobar su estado mediante:
systemctl status prometheus-snmp-exporter

SNMP Exporter utiliza habitualmente el puerto TCP 9116.
No obstante, instalarlo no significa que el MikroTik ya esté siendo monitorizado. Será necesario configurar el acceso SNMP en RouterOS, las credenciales de SNMP Exporter y el correspondiente trabajo de recopilación en Prometheus.
En entornos de producción se recomienda utilizar SNMPv3 con autenticación, cifrado y permisos exclusivamente de lectura. También es importante restringir las consultas a la dirección IP del servidor de monitorización.
Recomendaciones de seguridad para entornos de producción
Cuando utilizamos Prometheus y Grafana en una infraestructura empresarial o ISP, debemos aplicar determinadas medidas de seguridad:
- Mantener Debian y los servicios actualizados.
- Restringir los puertos 3000, 9090, 9100 y 9116.
- Utilizar contraseñas seguras en Grafana.
- Evitar exponer los servicios de monitorización directamente a Internet.
- Utilizar SNMPv3 siempre que los dispositivos lo permitan.
- Separar la red de administración de las redes de clientes.
- Configurar copias de seguridad de las configuraciones y los datos.
- Supervisar el consumo de almacenamiento.
- Establecer políticas de retención de métricas.
En redes con muchos clientes PPPoE también es recomendable evitar la recopilación indiscriminada de métricas de todas las interfaces dinámicas, ya que puede incrementar considerablemente el número de series temporales y la carga de monitorización.
Ventajas de utilizar Prometheus y Grafana en un ISP
En una red de proveedor de Internet, estas herramientas permiten centralizar la monitorización de diferentes elementos de la infraestructura, por ejemplo, podemos crear paneles para supervisar el consumo de las conexiones WAN, comprobar el estado de los routers principales, analizar la evolución de las sesiones PPPoE y detectar incrementos anormales de utilización de recursos.
Además, mediante exportadores adicionales es posible incorporar servidores RADIUS, máquinas Linux y diferentes servicios de red, también podemos configurar alertas para detectar problemas como saturación de enlaces, caída de equipos o utilización excesiva del procesador.
Esta información facilita el mantenimiento preventivo y permite tomar decisiones basadas en datos históricos.
Instalar Prometheus y Grafana en Debian 13 es una excelente alternativa para implementar una plataforma de monitorización flexible, ampliable y basada en herramientas de código abierto.
Con Prometheus recopilamos y almacenamos las métricas de nuestros sistemas, mientras que Grafana nos permite consultar la información y representarla mediante paneles de control.
La incorporación de Node Exporter permite comenzar supervisando el propio servidor Debian, y SNMP Exporter amplía posteriormente las posibilidades hacia routers MikroTik, switches y otros dispositivos de red.
Esta arquitectura constituye una buena base para construir una solución centralizada de monitorización de servidores e infraestructuras ISP/WISP, capaz de crecer progresivamente conforme aumenten las necesidades de la red.