nginx: Status-Seite aktivieren

nginx, die bekannte Apache-Alternative, sollte mittlerweile jedem ein Begriff sein. Allerdings wissen viele nicht, dass auch nginx eine Status-Seite nach dem Apache-Vorbild bietet, die perfekt ist, um Statistiken zu erstellen und den nginx zu überwachen. Folgend möchte ich kurz erläutern, wie man diese Seite aktiviert und nutzt.

Voraussetzung

Vorausetzung für die Aktivierung der Status-Seite ist ein mit dem HttpStubStatusModule kompilierter nginx. Bisher war das auf allen Maschinen, die ich nutzte, der Fall – darunter Debian, Ubuntu und CentOS. Leicht herauszufinden ist das, indem man folgendes Kommando absetzt:

Sofern nun der folgenden Text angezeigt wird, ist alles vorbereitet.

Ist dies nicht der Fall, sollte man entsprechende Vorbereitungen treffen, auf die ich in diesem Artikel nicht näher eingehen möchte.

Konfiguration

In der aktivierten Website (oft default), muss folgender Absatz innerhalb des server-Blocks eingefügt werden:

Hier ist lediglich die allow-Zeile zu beachten, die den Bedürfnissen entsprechend angepasst werden sollte. Natürlich kann auch die Location geändert werden, einen echten Sicherheitsvorteil bringt dies aber nicht mit sich – der Zugriff wird sowieso per allow begrenzt. Dies bietet sich an, wenn man den nginx per Nagios-Plugin überwachen möchte.

Danach muss nginx neugestartet werden.

Ausgabe

Mit Hilfe des folgenden Kommandos kann leicht ermittelt werden, ob nginx alles richtig ausliefert.

Folgende Ausgabe sollte der nginx liefern:

Natürlich wird diese Ausgabe von Server zu Server unterschiedlich sein.

Interpretation

Die Ausgabe ist recht einfach zu verstehen, trotzdem möchte ich hier kurz darauf eingehen.

  • Active connections: Zahl aller zu diesem Zeitpunkt geöffneten Verbindungen
  • server accepts handled requests
    • 1. Wert: alle akzeptierten Verbindungen
    • 2. Wert: alle verarbeiteten Verbindungen (im Normfall sind Wert 1 und 2 gleich)
    • 3. Wert: alle verarbeiteten Anfragen (dieser Wert ist im Normfall größer als Wert 1 und 2)
  • Reading: Webserver liest die Request-Header ein
  • Writing: Webserver liest Request-Body ein, bearbeitet die Anfrage oder gibt dem Client eine Antwort
  • Waiting: Zahl der keep-alive-Verbindungen

Auf Basis dieser Hinweise ist es nun möglich, entweder entsprechende Monitoring-Plugins zu nutzen oder eine eigene Routine zu erstellen, die die Werte ausliest.

Ich nutze zu diesem Zweck Bloonix, eine Monitoring-Software in der Cloud, mit der man kostengünstig einige Services überwachen kann und Graphen von diesen erstellen kann.

 

 

Schreibe einen Kommentar