Indice

Se hai mai pensato di visualizzare il traffico di rete del tuo router MikroTik in tempo reale, sei nel posto giusto! Questo tutorial ti guiderà nell’installazione di Prometheus, Grafana e SNMP Exporter su una VM/VPS Ubuntu, per monitorare e analizzare facilmente le prestazioni della tua rete. Pronti a partire? 🔧


1️⃣ Perché Monitorare il Tuo Router MikroTik?

Chiediti: Perché voglio monitorare il mio router?
Ecco alcune motivazioni:

  • Tenere traccia del traffico di rete per identificare picchi o anomalie 📊
  • Diagnosticare problemi e migliorare la qualità del servizio 🔧
  • Analizzare l’utilizzo della larghezza di banda, ottimizzando costi e prestazioni ⚡

Sapere il tuo obiettivo ti aiuterà a configurare il tutto più efficacemente!


2️⃣ Requisiti e Preparazione dell’Ambiente

Avrai bisogno di:

  • Router MikroTik con SNMP abilitato.
  • Una VM o VPS con Ubuntu 22.04 o 24.04.
    • RAM consigliata: 4–8 GB
    • Storage: ~100 GB
    • IP statico (ad es. 192.168.1.2 per la VM/VPS)
  • Indirizzo IP del router (ad es. 192.168.1.1)

3️⃣ Installazione di Ubuntu e Creazione dell’Utente

Assicurati di impostare un IP statico sulla tua VM/VPS (192.168.1.2 nell’esempio) e crea un utente dedicato:

sudo adduser mikrotik
sudo adduser mikrotik sudo
su mikrotik
cd

4️⃣ Installazione di Prometheus (Versione Aggiornata)

Prometheus raccoglie metriche da router, server e servizi.

sudo apt update
wget https://github.com/prometheus/prometheus/releases/download/v3.0.1/prometheus-3.0.1.linux-amd64.tar.gz
tar -xvf prometheus-3.0.1.linux-amd64.tar.gz
sudo mkdir -p /data /etc/prometheus
cd prometheus-3.0.1.linux-amd64
sudo mv prometheus promtool /usr/local/bin/
sudo mv prometheus.yml /etc/prometheus/prometheus.yml
sudo chown -R mikrotik:mikrotik /etc/prometheus/ /data/
cd
prometheus --version

Crea il file di servizio:

sudo nano /etc/systemd/system/prometheus.service

Incolla:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

StartLimitIntervalSec=500
StartLimitBurst=5

[Service]
User=mikrotik
Group=mikrotik
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/data \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries \
  --web.listen-address=0.0.0.0:9090 \
  --web.enable-lifecycle

[Install]
WantedBy=multi-user.target

Attiva e avvia Prometheus:

sudo systemctl enable prometheus
sudo systemctl start prometheus
sudo systemctl status prometheus

5️⃣ Installazione di Node Exporter (Versione Aggiornata)

Node Exporter monitora le risorse della tua VM/VPS (CPU, RAM, ecc.).

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz
tar -xvf node_exporter-1.8.2.linux-amd64.tar.gz
sudo mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/bin/
rm -rf node_exporter*
node_exporter --version

Crea il file di servizio:

sudo nano /etc/systemd/system/node_exporter.service

Incolla:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=mikrotik
Group=mikrotik
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/node_exporter \
    --collector.logind

[Install]
WantedBy=multi-user.target

Attiva e avvia Node Exporter:

sudo systemctl enable node_exporter
sudo systemctl start node_exporter
sudo systemctl status node_exporter

Aggiungi il Job di Node Exporter a Prometheus:

sudo nano /etc/prometheus/prometheus.yml

In fondo al file:

  - job_name: node_export
    static_configs:
      - targets: ["localhost:9100"]

Verifica la configurazione e ricarica:

promtool check config /etc/prometheus/prometheus.yml
curl -X POST http://localhost:9090/-/reload

6️⃣ Installazione di Grafana

Grafana ti permette di creare dashboard interattive.

sudo apt-get install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get -y install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
sudo systemctl status grafana-server

Accedi ora a Grafana: http://192.168.1.2:3000 con utente admin e password admin.

Collega Grafana a Prometheus:

sudo nano /etc/grafana/provisioning/datasources/datasources.yaml

Incolla:

apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    url: http://localhost:9090
    isDefault: true

Riavvia Grafana:

sudo systemctl restart grafana-server

7️⃣ Installazione di SNMP Exporter

SNMP Exporter raccoglie metriche dal tuo Router MikroTik.

wget https://github.com/prometheus/snmp_exporter/releases/download/v0.21.0/snmp_exporter-0.21.0.linux-amd64.tar.gz
tar xzf snmp_exporter-0.21.0.linux-amd64.tar.gz
cd snmp_exporter-0.21.0.linux-amd64
sudo cp snmp_exporter /usr/local/bin/snmp_exporter
sudo cp snmp.yml /usr/local/bin/snmp.yml
cd /usr/local/bin/

Crea il servizio:

sudo nano /etc/systemd/system/snmp-exporter.service

Incolla:

[Unit]
Description=Prometheus SNMP Exporter Service
After=network.target

[Service]
Type=simple
User=mikrotik
Group=mikrotik
ExecStart=/usr/local/bin/snmp_exporter --config.file="/usr/local/bin/snmp.yml"

[Install]
WantedBy=multi-user.target

Avvia il servizio:

sudo systemctl daemon-reload
sudo service snmp-exporter start
sudo service snmp-exporter status

8️⃣ Aggiungere SNMP Exporter a Prometheus

Modifica Prometheus per includere il router (192.168.1.1 è un esempio):

sudo nano /etc/prometheus/prometheus.yml

Aggiungi in fondo:

  - job_name: snmp
    metrics_path: /snmp
    params:
      module: [mikrotik]
    static_configs:
      - targets:
        - 192.168.1.1  # IP del tuo dispositivo MikroTik
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: localhost:9116  # SNMP Exporter URL

Verifica e riavvia Prometheus:

promtool check config /etc/prometheus/prometheus.yml
sudo service prometheus restart
sudo service prometheus status

Disabilita il firewall (per questa demo):

sudo ufw disable

9️⃣ Configurazione del Router MikroTik per SNMP

Sul tuo Router MikroTik:

snmp set enabled=yes
snmp community print

Dovresti vedere la community “public”. Assicurati di limitare l’accesso SNMP all’indirizzo della tua VM/VPS (192.168.1.2). In WinBox:

  1. Vai su IP > SNMP
  2. Tab Communities, doppio click su “public”
  3. Imposta “Addresses” su 192.168.1.2

🔟 Importare la Dashboard in Grafana

Accedi a Grafana: http://192.168.1.2:3000

  1. Clicca sull’icona Dashboards (4 quadratini)
  2. Seleziona Import
  3. Inserisci l’ID 14420
  4. Scegli Prometheus come datasource
  5. Premi Import

Ora puoi vedere la dashboard “Mikrotik monitoring”! Imposta il periodo a “Last 5 Minutes” e l’aggiornamento a “10s” per dati quasi in tempo reale.


Conclusione: Pronto a Monitorare! 🎉

Ora hai un sistema completo per monitorare il traffico del tuo router MikroTik. Puoi analizzare dati, rilevare problemi e ottimizzare la tua rete. Buon divertimento!

Categorizzato in:

Guide,