Die Beobachtung von Nginx ist entscheidend für den stabilen Betrieb von Web-Stacks. Metriken geben Einblicke in Traffic, Latenzen und Fehlerhäufigkeiten, während Histogramme und RED-KPIs (Rate, Errors, Duration) eine schnelle Einschätzung der Systemgesundheit ermöglichen. Dieser Artikel zeigt, wie Nginx-Metriken exportiert, interpretiert und für Monitoring-Systeme aufbereitet werden.
Nginx Exporter für Prometheus
Ein Nginx Exporter sammelt interne Metriken des Servers und stellt sie im Prometheus-kompatiblen Format bereit. Damit können Metriken wie Verbindungen, Requests pro Sekunde oder Statuscodes automatisiert überwacht werden.
Installation und Setup
git clone https://github.com/nginxinc/nginx-prometheus-exporter.git
cd nginx-prometheus-exporter
make
./nginx-prometheus-exporter -nginx.scrape-uri http://localhost: stub_status
Der Exporter greift auf den stub_status-Endpunkt zu, der grundlegende Informationen wie Active connections und Accepted connections bereitstellt.
Histogramme und Latenzmessung
Histogramme erlauben die Analyse der Antwortzeiten in Buckets, wodurch Ausreißer sichtbar werden und SLOs überprüft werden können.
Beispiel für Histogramme in Prometheus
# HELP nginx_http_request_duration_seconds HTTP request duration in seconds
# TYPE nginx_http_request_duration_seconds histogram
nginx_http_request_duration_seconds_bucket{le="0.1"} 240
nginx_http_request_duration_seconds_bucket{le="0.3"} 500
nginx_http_request_duration_seconds_bucket{le="1"} 700
nginx_http_request_duration_seconds_bucket{le="+Inf"} 720
nginx_http_request_duration_seconds_sum 58.3
nginx_http_request_duration_seconds_count 720
Diese Buckets zeigen, wie viele Requests innerhalb bestimmter Latenzgrenzen liegen. Daraus lassen sich Quantile berechnen, z.B. 95%- oder 99%-Antwortzeiten.
RED-KPIs (Rate, Errors, Duration)
RED-KPIs sind ein bewährtes Monitoring-Konzept für HTTP-Dienste:
- Rate: Anzahl an Requests pro Zeiteinheit.
- Errors: Anteil an 5xx/4xx Responses.
- Duration: Latenz der Requests, typischerweise als Histogramm dargestellt.
Prometheus Queries für RED-KPIs
# Request Rate
rate(nginx_http_requests_total[1m])
Fehlerquote
sum(rate(nginx_http_requests_total{status=~"5.."}[1m]))
/
sum(rate(nginx_http_requests_total[1m]))
95% Antwortzeit
histogram_quantile(0.95, sum(rate(nginx_http_request_duration_seconds_bucket[5m])) by (le))
Nginx-Konfiguration für Metriken
Um alle relevanten Metriken zu erfassen, sollte stub_status aktiviert werden und Exporter auf die Metriken zugreifen können.
Beispiel Nginx Location
server { listen 80; server_name example.com;location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}}
Monitoring Best Practices
- Exporter in einer separaten Service-Instanz betreiben, nicht im Main-Worker.
- Histogramme regelmäßig auswerten, um Performance-Abweichungen zu erkennen.
- RED-KPIs in Dashboards visualisieren, um frühzeitig auf Traffic-Spitzen und Fehler zu reagieren.
- Alerting auf Basis von Rate, Errors und Duration implementieren.
- Sampling großer Histogramme nutzen, um Datenvolumen zu reduzieren.
Integration in Web-Stack
Nginx-Metriken sollten in den gesamten Observability-Stack integriert werden, z. B.:
- Prometheus für Metrik-Sammlung und Querying
- Grafana für Dashboards
- Alertmanager für Benachrichtigungen
- Trace-Systeme für Korrelation zwischen Requests und Latenzen
Zusammenfassung
Durch die Kombination aus Exporter, Histogrammen und RED-KPIs lassen sich Nginx-Webserver effektiv überwachen. Dies ermöglicht schnelles Erkennen von Lastspitzen, Fehlern und Performance-Engpässen und bildet die Grundlage für skalierbare und robuste Web-Stacks.
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.











