Nginx Exporter: Kennzahlen für Traffic und Errors sammeln

Die Überwachung von Nginx ist entscheidend, um Traffic-Spitzen, Fehler und Performance-Probleme frühzeitig zu erkennen. Der Nginx Exporter für Prometheus ermöglicht das Sammeln relevanter Kennzahlen wie HTTP-Statuscodes, aktive Verbindungen oder Anfragen pro Sekunde. In diesem Artikel erklären wir Schritt für Schritt, wie man den Nginx Exporter installiert, konfiguriert und in ein Monitoring-System integriert.

Nginx Exporter installieren

Der Nginx Exporter liest die Statusinformationen von Nginx aus und stellt diese als Metriken für Prometheus bereit. Es gibt offizielle Docker-Images, die den Einstieg erleichtern.

Voraussetzungen

  • Nginx mit aktiviertem Status-Modul (stub_status)
  • Prometheus-Server für die Metriksammlung
  • Optional Docker für die schnelle Bereitstellung

Nginx Status-Modul aktivieren

Die stub_status-Seite liefert die Basiskennzahlen für den Exporter.

server {
    listen 80;
    server_name localhost;
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}

}

Nach Reload von Nginx ist die URL http://localhost/nginx_status erreichbar.

Nginx Exporter starten

Mit Docker lässt sich der Exporter schnell starten:

docker run -d 
  --name nginx_exporter 
  -p 9113:9113 
  nginx/nginx-prometheus-exporter:latest 
  -nginx.scrape-uri http://host.docker.internal/nginx_status

Alternativ kann der Exporter auch nativ installiert werden, z.B. über ein Release-Binary.

Prometheus Konfiguration

Prometheus benötigt die URL des Exporters als Target, damit die Metriken regelmäßig abgefragt werden.

prometheus.yml anpassen

scrape_configs:
  - job_name: 'nginx'
    static_configs:
      - targets: ['localhost:9113']

Damit fragt Prometheus alle Metriken des Exporters ab und speichert sie zur Visualisierung und Alerting.

Wichtige Metriken verstehen

Der Nginx Exporter liefert verschiedene Kennzahlen:

HTTP Status Codes

  • nginx_http_requests_total{status="2xx"} – Anzahl erfolgreicher Requests
  • nginx_http_requests_total{status="4xx"} – Anzahl Client-Fehler
  • nginx_http_requests_total{status="5xx"} – Anzahl Server-Fehler

Connections

  • nginx_connections_active – aktuell aktive Verbindungen
  • nginx_connections_reading – Verbindungen, die Requests lesen
  • nginx_connections_writing – Verbindungen, die Antworten schreiben
  • nginx_connections_waiting – Keep-Alive-Verbindungen

Request Rate

Die Rate der eingehenden Requests lässt sich über Prometheus-Funktionen wie rate(nginx_http_requests_total[1m]) abbilden.

Grafana Dashboards erstellen

Grafana visualisiert die Metriken und ermöglicht Alerts.

Beispiel-Dashboards

  • Requests pro Sekunde nach Statuscode
  • Active Connections Übersicht
  • Top 5 Endpoints nach Anzahl Requests
  • Fehlerquoten 4xx/5xx visualisieren

Alerts konfigurieren

Alerts helfen, bei Ausfällen oder hoher Last proaktiv zu reagieren.

ALERT High5xxErrors
  IF increase(nginx_http_requests_total{status="5xx"}[5m]) > 10
  FOR 1m
  LABELS { severity="critical" }
  ANNOTATIONS { summary = "Hohe 5xx Fehlerrate bei Nginx" }

Best Practices

  • Exporter nur lokal oder über gesichertes Netzwerk zugänglich machen
  • Regelmäßige Updates von Exporter und Nginx
  • Dashboards auf relevante Metriken reduzieren, um Übersicht zu behalten
  • Alerting nur für kritische Schwellenwerte nutzen, um Alarm-Müdigkeit zu vermeiden
  • Optional weitere Exporter einbinden (PHP-FPM, DB) für vollständiges Stack-Monitoring

Fazit zur Nginx-Überwachung

Mit dem Nginx Exporter lassen sich Traffic, Fehler und Performance sauber überwachen. In Kombination mit Prometheus und Grafana erhalten Administratoren vollständige Sichtbarkeit auf den Webserver, können Engpässe identifizieren und die Stabilität des Web Stacks erhöhen.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles