Prometheus: Installare Prometheus Node Exporter su un server Linux

Questa documentazione fa parte della guida Recupero delle metriche da Linux. Consulta la guida completa qui: Come recuperare le metriche di un server Linux in Prometheus utilizzando Node Exporter.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Prometheus cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Alert Manager incluso per inviare avvisi a Slack, Mattermost, PagerDuty, ecc.
  • Server email dedicato per inviare avvisi email illimitati.
  • Blackbox per sondare HTTP, ICMP, TCP e altro ancora.
  • Configurazione facile con editor di file di configurazione online.
  • Aggiornamenti senza sforzo con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano solo 5 minuti per provare la soluzione di Prometheus cloud hosting di Stackhero!

È possibile scaricare Node Exporter dalla sua pagina di release su GitHub. È distribuito come binario che viene eseguito direttamente sul sistema. Poiché è progettato per funzionare continuamente, si consiglia di configurarlo per avviarsi automaticamente all'avvio del server.

Per impostazione predefinita, Node Exporter apre la porta 9100 al mondo senza autenticazione o crittografia. È altamente consigliato aggiungere sia l'autenticazione che la crittografia TLS (vedi sotto) e configurare un firewall per limitare l'accesso alla porta 9100 in modo che solo il server Prometheus o altri indirizzi IP autorizzati possano connettersi.

È possibile seguire questi passaggi su Ubuntu:

# Vai su https://github.com/prometheus/node_exporter/releases per ottenere l'ultima versione.
node_exporter_version="1.2.0"
node_exporter_release="linux-amd64"

# Scarica e installa node_exporter
cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz
tar xvfa node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz
sudo mv node_exporter-${node_exporter_version}.${node_exporter_release}/node_exporter /usr/local/bin/
rm -rf node_exporter-${node_exporter_version}.${node_exporter_release} node_exporter-${node_exporter_version}.${node_exporter_release}.tar.gz

# Crea un utente "node_exporter"
sudo useradd -rs /bin/false node_exporter

# Crea un servizio systemd per avviare node_exporter automaticamente all'avvio
sudo bash -c 'cat << EOF > /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter --web.config=/etc/prometheus_node_exporter/configuration.yml

[Install]
WantedBy=multi-user.target
EOF'

# Crea una directory e un file di configurazione
sudo mkdir -p /etc/prometheus_node_exporter/
sudo touch /etc/prometheus_node_exporter/configuration.yml
sudo chmod 700 /etc/prometheus_node_exporter
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter

sudo systemctl daemon-reload
sudo systemctl enable node_exporter

# Avvia il demone node_exporter e verifica il suo stato
sudo systemctl start node_exporter
sudo systemctl status node_exporter

A questo punto, il binario node_exporter dovrebbe essere in esecuzione sul server. Per confermare che funzioni, è possibile connettersi e verificare se restituisce metriche:

curl http://localhost:9100/metrics

Node Exporter apre la porta 9100 alla rete pubblica. Ciò significa che chiunque può connettersi e recuperare le metriche del server! Al minimo, dovreste aggiungere autenticazione e crittografia TLS (vedi sotto) ed è fortemente consigliato configurare un firewall per bloccare le richieste alla porta 9100 da IP diversi dal server Prometheus.

Il processo di installazione di Node Exporter su Debian è identico al metodo Ubuntu descritto sopra. Seguite semplicemente le stesse istruzioni.

I passaggi di installazione di Node Exporter dipendono dal sistema utilizzato. Sebbene non sia fornita documentazione dettagliata per ogni piattaforma, la procedura di base consiste nel scaricare il binario che corrisponde al sistema e configurarlo per avviarsi all'avvio.