«Me lo contaron y lo olvidé; lo vi y lo entendí; lo hice y lo aprendí».

— Confucio

Cómo configurar SNMP Exporter y SNMPv3 en MikroTik con Prometheus – WISP/ISP desde cero

La monitorización de dispositivos MikroTik es una tarea fundamental para garantizar la estabilidad y el rendimiento de las redes empresariales y de los proveedores de servicios de Internet (ISP/WISP). Supervisar el consumo de CPU, la memoria RAM, el tráfico de las interfaces y el estado de las conexiones permite detectar incidencias antes de que afecten a los usuarios.

Una de las soluciones más completas para estas tareas consiste en utilizar Prometheus y Grafana junto con SNMP Exporter, aprovechando el protocolo SNMP para obtener métricas directamente desde MikroTik RouterOS.

En este tutorial aprenderemos a configurar SNMPv3 en MikroTik con Prometheus, instalar y preparar SNMP Exporter en Debian 13 e integrar las métricas del router en nuestra plataforma de monitorización.

Utilizaremos SNMPv3 con autenticación y cifrado, proporcionando un acceso seguro y exclusivamente de lectura.

¿Qué es SNMP y para qué sirve en MikroTik?

SNMP (Simple Network Management Protocol) es un protocolo utilizado para consultar información de dispositivos conectados a una red. En MikroTik RouterOS permite obtener diferentes estadísticas relacionadas con el funcionamiento del router.

Entre los datos que podemos consultar se encuentran:

  • Utilización del procesador.
  • Memoria RAM y otros recursos del sistema.
  • Tiempo de funcionamiento del equipo.
  • Estado de interfaces Ethernet y VLAN.
  • Tráfico entrante y saliente.
  • Errores y paquetes descartados.
  • Información de determinadas interfaces y servicios.
  • Temperaturas y sensores compatibles con el hardware.

SNMP permite centralizar estos datos en una plataforma externa, evitando tener que acceder constantemente a WinBox o a la terminal del router.

Diferencias entre SNMPv2c y SNMPv3

RouterOS admite distintas versiones del protocolo SNMP, aunque no todas ofrecen el mismo nivel de seguridad.

CaracterísticaSNMPv2cSNMPv3
AutenticaciónCommunityUsuario y autenticación
CifradoNoSí, con authPriv
Protección de credencialesLimitadaMayor
Control de acceso por IPSíSí
Recomendado para producciónSolo en redes muy controladasSí

SNMPv2c utiliza una cadena denominada community, que se transmite sin cifrar, Por el contrario, SNMPv3 permite utilizar autenticación y cifrado de las comunicaciones.

Para una infraestructura profesional, especialmente en un ISP, utilizaremos SNMPv3 con nivel de seguridad authPriv, este nivel exige tanto autenticación como cifrado.

Arquitectura de monitorización con SNMP Exporter

Prometheus no consulta directamente el protocolo SNMP de los dispositivos.

Para obtener esas métricas utilizaremos SNMP Exporter, una aplicación que actúa como intermediaria.

El proceso funciona de la siguiente manera:

  • Prometheus solicita las métricas a SNMP Exporter.
  • SNMP Exporter consulta el dispositivo MikroTik mediante SNMPv3.
  • MikroTik responde con sus estadísticas.
  • SNMP Exporter transforma los datos al formato compatible con Prometheus.
  • Prometheus almacena las métricas recopiladas.
  • Grafana consulta Prometheus para visualizar la información.

Este sistema permite monitorizar diferentes routers, switches y otros dispositivos SNMP desde un único servidor.

Requisitos previos

Antes de continuar debemos disponer de una instalación funcional de Prometheus y Grafana.

En este ejemplo utilizaremos:

ComponenteConfiguración
Sistema operativoDebian 13
PlataformaPrometheus y Grafana
ExportadorPrometheus SNMP Exporter
RouterMikroTik con RouterOS v7
ProtocoloSNMPv3
SeguridadauthPriv
AutenticaciónSHA1
CifradoAES
Puerto SNMPUDP 161
Puerto SNMP ExporterTCP 9116

Utilizaremos las siguientes direcciones IP ficticias:

Servidor Prometheus: 10.0.1.5

Router MikroTik: 10.0.1.1

Debemos sustituirlas por las direcciones reales de nuestra red de administración, se recomienda que ambas máquinas tengan conectividad a través de una VLAN de gestión o una VPN privada.

Habilitar SNMP en MikroTik RouterOS v7

Accedemos al router mediante WinBox, y activamos el SNMP.

Activar SNMP no modifica la configuración PPPoE, NAT, firewall o enrutamiento del equipo, sin embargo, es importante controlar qué consultas permitimos, especialmente en routers con cientos de usuarios conectados.

Configurar SNMPv3 en MikroTik

Crearemos una configuración específica para Prometheus con permisos de solo lectura.

Utilizaremos:

  • Nombre SNMPv3: prometheus-v3
  • Seguridad: private
  • Autenticación: SHA1
  • Cifrado: AES
  • Lectura: habilitada
  • Escritura: deshabilitada
  • Acceso permitido: únicamente el servidor Prometheus
  • CLAVE_AUTENTICACION por una contraseña segura.
  • CLAVE_CIFRADO por otra contraseña segura diferente.

En RouterOS v7, la configuración se realiza desde el menú:

Las contraseñas deben tener al menos ocho caracteres, aunque para producción es recomendable utilizar contraseñas considerablemente más largas y aleatorias. Es preferible introducir las credenciales desde WinBox o mediante un método que evite dejarlas almacenadas en el historial de comandos.

¿Qué significa cada parámetro?

name: identificador SNMPv3 que utilizará el sistema de monitorización.

security=private: exige autenticación y cifrado.

authentication-protocol=SHA1: establece el algoritmo de autenticación. Se utiliza aquí por compatibilidad con herramientas SNMP habituales.

encryption-protocol=AES: activa el cifrado de la comunicación.

read-access=yes: permite consultar las métricas del router.

write-access=no: impide realizar modificaciones de configuración mediante esta comunidad.

addresses: restringe las direcciones IP desde las que se aceptarán consultas.

En versiones recientes de RouterOS también se dispone de SHA256 y otros algoritmos de autenticación. Si tanto RouterOS como el exportador instalado los admiten, SHA256 es preferible a SHA1.

Revisar la comunidad public

MikroTik puede incluir una comunidad predeterminada denominada public, si no estamos utilizándola, es recomendable eliminarla o deshabilitar su acceso. Antes debemos comprobar que ningún otro sistema de monitorización depende de ella.

No es aconsejable mantener una comunidad SNMPv2c accesible desde cualquier dirección IP.

Comprobar la conectividad entre Debian y MikroTik

Desde el servidor Debian comprobamos que podemos alcanzar la IP de administración del router:

ping 4 10.0.1.5

Si obtenemos respuesta, existe conectividad IP.

No obstante, una respuesta correcta al ping no garantiza que SNMP esté funcionando, ya que utiliza otro protocolo y puerto. SNMP utiliza normalmente UDP 161.

En el firewall del MikroTik debemos permitir las consultas procedentes del servidor Prometheus, siempre respetando el orden de las reglas existentes.

Una regla específica podría ser:

/ip firewall filter add chain=input action=accept protocol=udp src-address=192.0.2.10 dst-port=161 comment="Permitir SNMPv3 desde Prometheus"

Importante: en un firewall restrictivo, esta regla debe situarse antes de la regla que descarta el tráfico de entrada correspondiente. Añadirla al final podría no tener ningún efecto.

Si ya existe una regla que permite el tráfico de administración desde esa dirección, posiblemente no sea necesario crear otra. No debemos abrir el puerto UDP 161 hacia Internet.

Configurar las credenciales SNMPv3 en SNMP Exporter

Ahora debemos indicar a SNMP Exporter qué credenciales utilizará para consultar el router.

En Debian, abrimos el archivo:

sudo nano /etc/prometheus/snmp.yml

Antes de realizar cambios es recomendable guardar una copia de seguridad del archivo.

La configuración actual de SNMP Exporter separa dos elementos:

  • auths: credenciales y parámetros de autenticación.
  • modules: conjuntos de OID que debe consultar el exportador.

Dentro de la sección auths, añadimos nuestra configuración SNMPv3:

auths:
  prometheus_v3:
    version: 3
    username: prometheus-v3
    security_level: authPriv
    password: "CLAVE_AUTENTICACION"
    auth_protocol: SHA
    priv_protocol: AES
    priv_password: "CLAVE_CIFRADO"

Si el archivo ya contiene una sección auths:, añadiremos únicamente la entrada prometheus_v3 dentro de ella, sin duplicar la sección.

Las contraseñas deben coincidir exactamente con las configuradas en MikroTik. En este ejemplo, SHA corresponde a la autenticación SHA1 configurada en RouterOS. El formato de configuración de SNMP Exporter distingue las credenciales del módulo de métricas desde la versión 0.23.

Proteger las credenciales

El archivo contiene información sensible, no debemos hacerlo accesible a cualquier usuario del sistema.

Debemos verificar qué usuario ejecuta SNMP Exporter:

systemctl show prometheus-snmp-exporter -p User -p Group

A continuación, configuraremos los permisos para que únicamente root y la cuenta del servicio que corresponda puedan acceder al archivo.

No debemos publicar este archivo en repositorios públicos ni incluir contraseñas reales en documentación o capturas.

En instalaciones más avanzadas es recomendable separar las credenciales del archivo de módulos y utilizar mecanismos de gestión de secretos.

Seleccionar el módulo de monitorización

SNMP Exporter utiliza módulos para determinar qué conjuntos de métricas debe consultar a los dispositivos de red mediante el protocolo SNMP.

Para comenzar a monitorizar los routers MikroTik utilizaremos el módulo estándar if_mib, basado en las MIB de interfaces de red.

Este módulo permite obtener información como:

  • Estado administrativo y operativo de las interfaces.
  • Bytes recibidos y transmitidos.
  • Paquetes entrantes y salientes.
  • Errores de recepción y transmisión.
  • Paquetes descartados.
  • Velocidad y tipo de interfaz.
  • Nombres y descripciones de interfaces.

En instalaciones realizadas mediante los paquetes oficiales de Debian, es posible que el módulo if_mib no esté incluido inicialmente en la configuración de SNMP Exporter. Por motivos relacionados con las licencias de las MIB, Debian puede distribuir un archivo snmp.yml básico, sin módulos de monitorización definidos.

A continuación, explicaremos cómo comprobarlo, incorporar el módulo y activarlo, tomando como referencia Debian 13 (Trixie) y SNMP Exporter 0.28.0.

Localizar el archivo de configuración de SNMP Exporter

El primer paso consiste en localizar el archivo snmp.yml, que contiene los perfiles de autenticación SNMP y las definiciones de los módulos.

Ejecutamos:

find /etc /opt /usr/local /usr/share -name "snmp.yml" 2>/dev/null

En una instalación mediante los paquetes de Debian, su ubicación habitual es:

/etc/prometheus/snmp.yml

Una vez localizado, comprobamos si contiene el módulo if_mib:

grep -n '^  if_mib:' /etc/prometheus/snmp.yml

Si aparece una línea similar a:

125:  if_mib:

Significa que el módulo está definido y podemos continuar con su utilización.

Si el comando no devuelve ningún resultado, comprobaremos la estructura del archivo:

head -n 40 /etc/prometheus/snmp.yml

Es posible que únicamente encontremos la sección auths:, con el perfil de autenticación SNMPv3, pero sin la sección modules:.

En ese caso, necesitaremos incorporar el módulo antes de utilizarlo.

Comprobar la versión de SNMP Exporter

Antes de realizar modificaciones, verificamos qué versión tenemos instalada:

dpkg -l prometheus-snmp-exporter

En nuestro caso utilizamos la versión 0.28.0.

También comprobaremos el nombre del servicio:

systemctl status prometheus-snmp-exporter --no-pager

En Debian, cuando SNMP Exporter se instala desde los repositorios, el servicio se denomina normalmente prometheus-snmp-exporter.

Realizar una copia de seguridad

Antes de modificar la configuración, creamos una copia de seguridad del archivo original:

cp -a /etc/prometheus/snmp.yml /etc/prometheus/snmp.yml.bak
chmod 600 /etc/prometheus/snmp.yml.bak

Esto permitirá recuperar los perfiles de autenticación y la configuración anterior si fuera necesario.

Descargar el módulo oficial if_mib

Aunque es posible utilizar prometheus-snmp-generator para generar módulos personalizados a partir de archivos MIB, este procedimiento requiere disponer de las MIB correspondientes y resolver sus dependencias.

Para utilizar el módulo estándar if_mib, podemos emplear directamente el archivo de configuración generado por el proyecto oficial SNMP Exporter, seleccionando la misma versión que tenemos instalada.

Creamos un directorio de trabajo:

mkdir -p /opt/snmp-generator
cd /opt/snmp-generator

Descargamos el archivo oficial correspondiente a SNMP Exporter 0.28.0:

curl -fL \
  https://raw.githubusercontent.com/prometheus/snmp_exporter/v0.28.0/snmp.yml \
  -o snmp-oficial.yml

Comprobamos que incluye el módulo:

grep -n '^  if_mib:' snmp-oficial.yml

Si aparece if_mib:, significa que el módulo está disponible para incorporarlo a nuestra configuración.

Importante: debemos utilizar una versión del archivo compatible con la versión de SNMP Exporter instalada, ya que su estructura puede cambiar entre versiones.

Incorporar if_mib sin perder la autenticación SNMPv3

No debemos sustituir directamente el archivo /etc/prometheus/snmp.yml por el descargado, porque podríamos perder los perfiles de autenticación SNMPv3 que hemos configurado anteriormente.

En nuestro caso, el perfil de autenticación se denomina:

auths:
  prometheus_v3:

Vamos a conservarlo e incorporar únicamente el módulo if_mib del archivo oficial.

Primero instalamos el soporte YAML para Python:

apt install -y python3-yaml

Después, ejecutamos el siguiente script:

python3 - <<'PY'
import yaml

original = "/etc/prometheus/snmp.yml"
oficial = "/opt/snmp-generator/snmp-oficial.yml"
destino = "/opt/snmp-generator/snmp-combinado.yml"

with open(original) as f:
    config = yaml.safe_load(f)

with open(oficial) as f:
    upstream = yaml.safe_load(f)

assert "prometheus_v3" in config.get("auths", {}), \
    "No se encuentra el perfil prometheus_v3"

assert "if_mib" in upstream.get("modules", {}), \
    "No se encuentra el módulo if_mib"

config.setdefault("modules", {})["if_mib"] = \
    upstream["modules"]["if_mib"]

with open(destino, "w") as f:
    yaml.safe_dump(config, f, sort_keys=False)

print("Módulo if_mib incorporado correctamente.")
print("Autenticación SNMPv3 conservada.")
PY

El script lee ambos archivos, conserva nuestra configuración y añade únicamente el módulo if_mib oficial.

El resultado se guarda en:

/opt/snmp-generator/snmp-combinado.yml

De esta manera, todavía no modificamos la configuración que utiliza el servicio en producción.

Protegemos el archivo generado, ya que contiene las credenciales SNMPv3:

chmod 600 /opt/snmp-generator/snmp-combinado.yml

Comprobar la configuración combinada

Ejecutamos:

grep -nE '^auths:|^modules:|^  prometheus_v3:|^  if_mib:' \
  /opt/snmp-generator/snmp-combinado.yml

El resultado debe contener las siguientes secciones:

auths:
  prometheus_v3:

modules:
  if_mib:

Esto confirma que disponemos tanto del perfil de autenticación como del módulo de monitorización.

Validar el archivo antes de aplicarlo

SNMP Exporter dispone de la opción --dry-run, que permite validar el archivo de configuración sin iniciar un segundo servicio.

Ejecutamos:

/usr/bin/prometheus-snmp-exporter \
  --config.file=/opt/snmp-generator/snmp-combinado.yml \
  --dry-run

Si todo es correcto, aparecerá un mensaje como:

msg="Configuration parsed successfully"

Esto significa que SNMP Exporter ha interpretado correctamente el archivo.

Activar el módulo if_mib

Una vez validada la configuración, sustituimos el archivo original por el archivo combinado:

install -o prometheus -g prometheus -m 600 \
  /opt/snmp-generator/snmp-combinado.yml \
  /etc/prometheus/snmp.yml

Reiniciamos SNMP Exporter:

systemctl restart prometheus-snmp-exporter

Comprobamos su estado:

systemctl status prometheus-snmp-exporter --no-pager

Si aparece:

Active: active (running)

El servicio se ha iniciado correctamente.

También podemos verificar que responde en su puerto HTTP predeterminado, el 9116:

curl -s http://127.0.0.1:9116/metrics | head

Esta comprobación confirma que el servicio está funcionando, aunque todavía no demuestra que pueda comunicarse con los equipos MikroTik.

Probar el módulo if_mib mediante SNMPv3

Para comprobar que el módulo puede obtener información de un MikroTik, realizaremos una consulta directamente a SNMP Exporter.

Ejecutamos:

curl -G 'http://127.0.0.1:9116/snmp' \
  --data-urlencode 'target=192.168.1.1' \
  --data-urlencode 'module=if_mib' \
  --data-urlencode 'auth=prometheus_v3'

Debemos sustituir 192.168.1.1 por la dirección IP de gestión del MikroTik que queremos monitorizar.

Los parámetros utilizados son:

  • target: dirección IP del dispositivo.
  • module: módulo de métricas que queremos consultar.
  • auth: perfil de autenticación SNMP configurado.

Si la comunicación es correcta, obtendremos métricas similares a las siguientes:

ifOperStatus{ifIndex="1",ifName="sfp1"} 1

ifHCInOctets{ifIndex="1",ifName="sfp1"} 123456789

ifHCOutOctets{ifIndex="1",ifName="sfp1"} 987654321

Los valores e identificadores dependerán de las interfaces y del tráfico del dispositivo.

También podremos encontrar información sobre los tiempos de consulta:

snmp_scrape_duration_seconds{module="if_mib"} 0.711

snmp_scrape_packets_retried{module="if_mib"} 0

Estos indicadores permiten comprobar cuánto tarda la consulta SNMP y si se producen reintentos durante la comunicación.

Si aparecen las métricas de las interfaces del MikroTik, habremos confirmado que el módulo if_mib funciona correctamente.

Consideraciones para redes ISP y WISP

En redes ISP con routers MikroTik que gestionan numerosas sesiones PPPoE, el módulo if_mib puede recuperar tanto interfaces físicas como interfaces virtuales y dinámicas.

Esto significa que, además de los puertos Ethernet o SFP, pueden aparecer bridges, VLAN y sesiones PPPoE activas.

Aunque el módulo estándar es una buena opción para comenzar, en instalaciones con cientos de sesiones simultáneas conviene evaluar posteriormente filtros de métricas o módulos personalizados para reducir la cantidad de series temporales recopiladas.

En una primera fase, nos centraremos en las interfaces físicas, los enlaces WAN, las VLAN y los bridges principales.

Con el módulo if_mib correctamente instalado y probado, SNMP Exporter ya está preparado para proporcionar las métricas de los dispositivos MikroTik a Prometheus.

El siguiente paso será configurar el trabajo de recopilación en prometheus.yml para automatizar las consultas y almacenar los datos históricos que después visualizaremos en Grafana.

Hasta ahora hemos conseguido:

  • Instalar SNMP Exporter 0.28.0 en Debian 13.
  • Configurar la autenticación SNMPv3.
  • Incorporar y activar el módulo if_mib.
  • Comprobar que SNMP Exporter obtiene métricas reales de las interfaces del MikroTik.

Conectar Prometheus con SNMP Exporter

Flujo lógico de las métricas. Prometheus solicita los datos al exporter y este consulta al MikroTik mediante SNMPv3.

Una vez instalado y configurado SNMP Exporter, con el módulo if_mib y la autenticación SNMPv3 funcionando correctamente, el siguiente paso consiste en conectar Prometheus para que recopile automáticamente las métricas de nuestros routers MikroTik.

Prometheus realizará peticiones HTTP a SNMP Exporter, que se encargará de consultar los dispositivos mediante SNMPv3 y devolver las métricas en un formato compatible.

Configurar Prometheus

Abrimos el archivo de configuración:

nano /etc/prometheus/prometheus.yml

Localizamos la sección scrape_configs: y añadimos el siguiente trabajo, sin eliminar los existentes:

  - job_name: 'mikrotik_snmp'
    scrape_interval: 60s
    scrape_timeout: 30s

    metrics_path: /snmp

    params:
      module: [if_mib]
      auth: [prometheus_v3]

    static_configs:
      - targets:
          - 192.168.1.1

    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target

      - source_labels: [__param_target]
        target_label: instance

      - target_label: __address__
        replacement: 127.0.0.1:9116

Debemos sustituir 192.168.1.1 por la dirección IP de gestión de nuestro MikroTik.

Los principales parámetros son:

  • job_name: nombre del trabajo de monitorización.
  • scrape_interval: intervalo de recopilación, establecido en 60 segundos.
  • scrape_timeout: tiempo máximo de espera de cada consulta.
  • metrics_path: endpoint /snmp utilizado para consultar los dispositivos.
  • module: selecciona el módulo if_mib, encargado de recopilar las métricas de las interfaces.
  • auth: utiliza el perfil SNMPv3 prometheus_v3 configurado anteriormente.
  • static_configs: contiene las direcciones IP de los dispositivos que queremos monitorizar.
  • relabel_configs: permite enviar las consultas a SNMP Exporter, conservando la IP del MikroTik como identificador de la instancia.

En este ejemplo, SNMP Exporter y Prometheus están instalados en el mismo servidor Debian 13, por lo que utilizamos 127.0.0.1:9116.

Validar y aplicar la configuración

Antes de aplicar los cambios, comprobamos que el archivo de configuración es correcto:

promtool check config /etc/prometheus/prometheus.yml

Si no aparecen errores, reiniciamos Prometheus:

systemctl restart prometheus

Comprobamos que el servicio está funcionando:

systemctl status prometheus --no-pager

Comprobar la recopilación de métricas

Accedemos a la interfaz web de Prometheus:

http://IP_SERVIDOR:9090/targets

Si no aparece nada pocemos acceder desde:

http://IP_SERVIDOR:9090/classic/targets

Buscamos el trabajo mikrotik_snmp, que debería aparecer en estado UP, indicando que Prometheus está recopilando correctamente las métricas del dispositivo.

También podemos comprobarlo desde el apartado de consultas de Prometheus utilizando PromQL.

Para verificar la disponibilidad de la recopilación:

up{job="mikrotik_snmp"}

Un resultado de 1 indica que la recopilación se ha completado correctamente.

Para consultar el estado de las interfaces:

ifOperStatus{job="mikrotik_snmp"}

Para conocer el tráfico recibido en Mbps:

rate(ifHCInOctets{job="mikrotik_snmp"}[5m]) * 8 / 1000000

Y para el tráfico transmitido:

rate(ifHCOutOctets{job="mikrotik_snmp"}[5m]) * 8 / 1000000

Estas últimas consultas utilizan los contadores de 64 bits de las interfaces y calculan la velocidad media durante los últimos cinco minutos.

Añadir más dispositivos MikroTik

Para monitorizar varios routers, basta con incorporar sus direcciones IP dentro de static_configs:

    static_configs:
      - targets:
          - 192.168.1.1
          - 192.168.1.2
          - 192.168.1.3

Todos los dispositivos utilizarán el módulo if_mib y el perfil SNMPv3 configurado, siempre que compartan las mismas credenciales.

En redes ISP o WISP con cientos de sesiones PPPoE, conviene optimizar posteriormente las métricas recopiladas para evitar almacenar información innecesaria de interfaces dinámicas.

Con esta configuración, Prometheus ya puede recopilar y almacenar automáticamente las métricas de nuestros dispositivos MikroTik mediante SNMP Exporter.

El siguiente paso será conectar Grafana con Prometheus para visualizar el tráfico, el estado de las interfaces y otros indicadores de rendimiento mediante paneles de monitorización.

Visualizar las métricas MikroTik en Grafana

Una vez que Prometheus esté almacenando datos, podemos comenzar a crear paneles en Grafana.

Accedemos al apartado de creación de dashboards y añadimos un panel utilizando Prometheus como fuente de datos.

Monitorizar el estado de las interfaces

Podemos utilizar la métrica:

ifOperStatus{job="mikrotik-snmp"}

Esta consulta devuelve el estado operativo de las interfaces disponibles.

En las interfaces estándar, el valor 1 representa el estado up y el valor 2 representa down.

Monitorizar el tráfico entrante

Para representar el tráfico entrante en bits por segundo podemos utilizar:

rate(ifHCInOctets{job="mikrotik-snmp"}[5m]) * 8

Una vez configurado quedaria asi:

Monitorizar el tráfico saliente

Para consultar el tráfico transmitido:

rate(ifHCOutOctets{job="mikrotik-snmp"}[5m]) * 8

Estas consultas calculan una tasa por segundo a partir de los contadores SNMP.

La multiplicación por ocho transforma los bytes en bits.

En Grafana podemos seleccionar la unidad bits/sec para que los valores se representen automáticamente en Kbps, Mbps o Gbps.

Monitorizar una interfaz concreta

Si queremos consultar únicamente una interfaz, podemos filtrar utilizando una de sus etiquetas.

Por ejemplo:

rate(ifHCInOctets{job="mikrotik-snmp",ifName="ether1"}[5m]) * 8

Debemos comprobar el nombre real de la interfaz y las etiquetas disponibles, ya que pueden variar según el dispositivo y el módulo utilizado.

Ampliar la monitorización a varios MikroTik

Una vez configurado el primer router, podemos añadir más dispositivos a la sección static_configs de Prometheus.

Por ejemplo:

static_configs:
  - targets:
      - 192.0.2.1
      - 192.0.2.2
      - 192.0.2.3

Cada dispositivo deberá disponer de una configuración SNMP compatible y permitir las consultas desde el servidor.

En redes de mayor tamaño, podemos organizar los objetivos mediante archivos de descubrimiento y etiquetas específicas para cada router.

También será posible crear paneles de Grafana que permitan seleccionar dinámicamente el dispositivo que queremos consultar.

Configurar SNMPv3 en MikroTik con Prometheus permite incorporar los dispositivos RouterOS a una plataforma centralizada de monitorización sin necesidad de instalar aplicaciones adicionales en el router.

Gracias a SNMP Exporter podemos recopilar información sobre el estado de las interfaces, el tráfico y diferentes recursos del sistema, almacenando las métricas en Prometheus y visualizándolas posteriormente mediante Grafana.

El uso de SNMPv3 con autenticación, cifrado y acceso restringido proporciona una alternativa adecuada para entornos empresariales y redes ISP/WISP.

Una vez completada esta configuración, podremos ampliar progresivamente la monitorización de la infraestructura, incorporar métricas específicas de MikroTik y configurar alertas que permitan detectar caídas, saturación de enlaces y otros problemas de rendimiento.