Prometheus: Aggiungere autenticazione 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 esegue l'autenticazione, il che significa che chiunque può recuperare le metriche esposte. Per proteggere l'accesso, è possibile aggiungere un'autenticazione di base per un utente.

Genera una password utilizzando i seguenti comandi:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Password chiara da conservare per il server Prometheus: ${password}"

Se non si dispone del binario htpasswd, è possibile installarlo su Debian/Ubuntu utilizzando apt-get install --no-install-recommends apache2-utils.

Conservate la password chiara in sicurezza poiché sarà necessaria durante la configurazione di Prometheus.

Aggiungi le seguenti righe al file di configurazione per aggiungere un utente chiamato "prometheus" con l'hash della password generata:

sudo cat << EOF >> /etc/prometheus_node_exporter/configuration.yml
basic_auth_users:
  prometheus: ${passwordHashed}

EOF

# Riavvia Node Exporter
sudo systemctl restart node_exporter

Infine, verifica che l'autenticazione funzioni correttamente:

  • Eseguire curl http://localhost:9100/metrics dovrebbe restituire "Unauthorized".
  • Eseguire curl -u prometheus:${password} http://localhost:9100/metrics dovrebbe restituire l'elenco delle metriche.