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 piattaforma Prometheus cloud completamente gestita, progettata per garantire affidabilità e semplicità:

  • Alert Manager è integrato, così potete inviare avvisi direttamente a Slack, Mattermost, PagerDuty e altre destinazioni popolari.
  • Un server email dedicato vi consente di inviare avvisi email illimitati senza configurazioni aggiuntive.
  • Blackbox è incluso, permettendovi di effettuare probe su protocolli come HTTP, ICMP, TCP e altri per un monitoraggio completo.
  • Configurate rapidamente la vostra istanza tramite l’editor online del file di configurazione. Non è necessario gestire manualmente i file YAML.
  • Applicate gli aggiornamenti con un solo clic. Stackhero si occupa dell’intero processo di upgrade, riducendo al minimo i tempi di inattività e l’intervento manuale.
  • Alte prestazioni e sicurezza avanzata sono garantite grazie a un’infrastruttura privata e dedicata.

Sarete operativi in circa 5 minuti. Stackhero si occupa della configurazione, così potete concentrarvi sul monitoraggio invece che sulla manutenzione. Provate Prometheus cloud hosting su Stackhero per ottimizzare i vostri flussi di lavoro di monitoring e alerting.

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.