Prometheus: Aggiungere crittografia TLS a Prometheus Node Exporter

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!

Per impostazione predefinita, Node Exporter non cripta le comunicazioni. Ciò significa che le credenziali, inclusa la password definita in precedenza, sono trasmesse in chiaro. Per proteggere le comunicazioni, è possibile abilitare la crittografia TLS come segue.

Esegui i seguenti comandi per creare un certificato e una chiave TLS:

# Crea certificato TLS
cd /tmp
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
  -keyout /etc/prometheus_node_exporter/tlsCertificate.key \
  -out /etc/prometheus_node_exporter/tlsCertificate.crt \
  -subj "/CN=`hostname`" \
  -addext "subjectAltName = DNS:`hostname`"
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter

Aggiungi le seguenti righe al file di configurazione per aggiungere le impostazioni TLS e poi riavvia Node Exporter:

sudo cat << 'EOF' >> /etc/prometheus_node_exporter/configuration.yml
tls_server_config:
  cert_file: /etc/prometheus_node_exporter/tlsCertificate.crt
  key_file: /etc/prometheus_node_exporter/tlsCertificate.key

EOF

# Riavvia Prometheus Node Exporter
sudo systemctl restart node_exporter

È possibile verificare che TLS sia attivo connettendosi tramite HTTPS con il seguente comando:

curl -k -u prometheus:${password} https://localhost:9100/metrics

Si noti che questo metodo non utilizza un certificato CA, quindi è necessario passare l'opzione "-k" a cURL per bypassare la verifica del certificato.