Guida alla configurazione di Prometheus e node_exporter
15 min di lettura - 29 maggio 2026

Installare Prometheus e node_exporter, configurare i target di scrape, impostare i servizi systemd e proteggere lo stack di monitoraggio. Passo dopo passo per Linux.
Configurazione del monitoraggio dei server Prometheus e node_exporter
Prometheus raccoglie e memorizza metriche di serie temporali. node_exporter espone dati a livello di sistema come l'utilizzo di CPU, memoria e disco affinché Prometheus li raccolga. Questa guida illustra l'installazione di entrambi, la configurazione degli obiettivi di raccolta, l'esecuzione di node_exporter come servizio systemd e la limitazione dell'accesso.
Installazione di node_exporter
Scaricare l'ultima versione stabile dalla pagina ufficiale delle versioni su GitHub. A maggio 2026, si tratta della versione 1.11.1. Sostituire amd64 con arm64 se necessario.
wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
Verifica il checksum SHA256 confrontandolo con il valore riportato nella pagina delle versioni, quindi estrai e installa:
tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/
Crea un utente di sistema dedicato senza directory home e senza shell di login:
sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
Provalo eseguendo /usr/local/bin/node_exporter direttamente, quindi controlla l'output:
curl http://localhost:9100/metrics
Dovresti vedere righe precedute da node_, incluse metriche come node_cpu_seconds_total e node_memory_MemAvailable_bytes. Per impostazione predefinita, node_exporter espone circa 500 serie temporali.
Esecuzione di node_exporter come servizio systemd
L'esecuzione di node_exporter dal terminale va bene per i test, ma si interrompe quando si chiude la sessione. Creare un file unit in /etc/systemd/system/node_exporter.service:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Abilita e avvia il servizio:
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
Verifica che sia in esecuzione con sudo systemctl status node_exporter. L'output dovrebbe mostrare active (running).
Se Prometheus è in esecuzione sullo stesso host, associare node_exporter solo a localhost modificando la ExecStart riga:
ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"
Configurazione di Prometheus per lo scraping di node_exporter
Apri /etc/prometheus/prometheus.yml e aggiungi un job sotto scrape_configs:
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
labels:
env: 'production'
Il job_name identifica la fonte nelle query e nei dashboard. targets punta all'host e alla porta su cui è in ascolto node_exporter. Etichette come env aiutano a filtrare le metriche in un secondo momento.
Convalida la configurazione prima di riavviare:
promtool check config /etc/prometheus/prometheus.yml
Se il test ha esito positivo, ricaricare Prometheus senza tempi di inattività:
sudo systemctl reload prometheus
Apri http://<your-prometheus-ip>:9090, vai su Status > Targets e verifica che il job node_exporter mostri lo stato UP (verde). Esegui una query veloce come node_cpu_seconds_total nel Browser delle espressioni per confermare che i dati stiano fluendo.
Protezione dello stack di monitoraggio
Non esporre mai le porte 9090 o 9100 alla rete Internet pubblica. Su Ubuntu/Debian, limitare l'accesso di node_exporter all'IP del server Prometheus:
sudo ufw allow from <prometheus-ip> to any port 9100
Su CentOS/RHEL con firewalld:
firewall-cmd --permanent --add-port=9100/tcp
Per l'interfaccia utente web di Prometheus, posizionala dietro un proxy inverso come Nginx con autenticazione di base e TLS. Una VPN mesh come Tailscale è un'altra opzione se hai bisogno di accedere da più posizioni senza esporre direttamente le porte.
Best practice di monitoraggio e passi successivi
Utilizzare node_memory_MemAvailable_bytes invece di MemFree per gli avvisi relativi alla memoria. MemAvailable tenere conto dei buffer e della cache, fornendo un quadro più accurato di ciò che è effettivamente libero.
Disattiva i collector che non ti servono (wifi, nfs, bcache) con il --no-collector.<name> flag per ridurre il rumore.
Per gli avvisi relativi allo spazio su disco, la predict_linear funzione PromQL consente di prevedere quando un volume si riempirà in base alle tendenze attuali. Impostare una finestra di previsione di 7 giorni permette di individuare le perdite lente prima che si trasformino in interruzioni del servizio.
Per monitorare più server, installa node_exporter su ogni macchina e aggiungi i loro IP all' targets elenco in prometheus.yml. Per ambienti più grandi, passare al rilevamento dei servizi basato su file invece di hardcodare gli IP.
L'aggiunta di Grafana fornisce dashboard visive. La dashboard Node Exporter Full (ID 1860) è un buon punto di partenza. Alertmanager instrada gli avvisi critici su Slack, e-mail o PagerDuty.
I server dedicati e i piani VPS di FDC supportano Prometheus e node_exporter fin da subito. Vedi le opzioni di server dedicati di FDC.
Risoluzione dei problemi
| Problema | Probabile causa | Comando da verificare |
|---|---|---|
| Il servizio non si avvia | Percorso del file binario o permessi errati | journalctl -u node_exporter -xe |
| Metriche non raggiungibili | Firewall che blocca la porta 9100 o indirizzo di binding errato | ss -lntp | grep 9100 |
| Destinazione non disponibile in Prometheus | Problema di rete o IP di destinazione errato in prometheus.yml | curl -I http://<target-ip>:9100/metrics |
| Mancano metriche specifiche | Collector disabilitato di default | node_exporter --help |

Guida alla configurazione di Prometheus e node_exporter
Installare Prometheus e node_exporter, configurare i target di scrape, impostare i servizi systemd e proteggere lo stack di monitoraggio. Passo dopo passo per Linux.
15 min di lettura - 29 maggio 2026
XDP e eBPF per l'elaborazione dei pacchetti Linux
14 min di lettura - 27 maggio 2026

Avete domande o avete bisogno di una soluzione personalizzata?
Opzioni flessibili
Portata globale
Distribuzione immediata
Opzioni flessibili
Portata globale
Distribuzione immediata