Prometheus: Voeg authenticatie toe aan Prometheus Node Exporter

Deze documentatie maakt deel uit van de Het ophalen van statistieken van Linux-gids. Bekijk de volledige gids hier: Hoe Linux-serverstatistieken op te halen in Prometheus met Node Exporter.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Prometheus cloud oplossing die tal van voordelen biedt, waaronder:

  • Alert Manager inbegrepen om meldingen te sturen naar Slack, Mattermost, PagerDuty, enz.
  • Toegewijde e-mailserver om onbeperkte e-mailmeldingen te verzenden.
  • Blackbox om HTTP, ICMP, TCP en meer te testen.
  • Eenvoudige configuratie met online configuratiebestand editor.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Prometheus cloud hosting oplossing van Stackhero te proberen!

Standaard voert Node Exporter geen authenticatie uit, wat betekent dat iedereen de blootgestelde statistieken kan ophalen. Om toegang te beveiligen, kunt u basisauthenticatie voor een gebruiker toevoegen.

Genereer een wachtwoord met de volgende commando's:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Duidelijk wachtwoord om te bewaren voor Prometheus-server: ${password}"

Als u de htpasswd-binaire niet heeft, kunt u deze op Debian/Ubuntu installeren met apt-get install --no-install-recommends apache2-utils.

Houd het duidelijke wachtwoord veilig, want u heeft het nodig bij het configureren van Prometheus.

Voeg de volgende regels toe aan het configuratiebestand om een gebruiker genaamd "prometheus" toe te voegen met de gegenereerde wachtwoordhash:

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

EOF

# Herstart Node Exporter
sudo systemctl restart node_exporter

Controleer ten slotte of authenticatie correct werkt:

  • Het uitvoeren van curl http://localhost:9100/metrics zou "Unauthorized" moeten retourneren.
  • Het uitvoeren van curl -u prometheus:${password} http://localhost:9100/metrics zou de lijst met statistieken moeten retourneren.