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_statuserreichbar.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_statusAlternativ 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 Requestsnginx_http_requests_total{status="4xx"}– Anzahl Client-Fehlernginx_http_requests_total{status="5xx"}– Anzahl Server-Fehler
Connections
nginx_connections_active– aktuell aktive Verbindungennginx_connections_reading– Verbindungen, die Requests lesennginx_connections_writing– Verbindungen, die Antworten schreibennginx_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.

