mod_status installieren
Das Modul mod_status des Apache Webservers stellt einen Handler bereit, der uns verschiedene Informationen zur aktuellen Auslastung des Servers zeigt.
Diesen Handler kann man ganz leicht per „Directory“ oder „Location“ Direktive an einen URL gebunden und von extern abgefragt werden. Das kann man global für den ganzen Server oder auch für einzelne vHosts aktivieren.
Mod_status ist bei der httpd Installation bei CentOS schon dabei und braucht nicht extra installiert werden. Wir können aber nochmals in der Datei /etc/httpd/conf/httpd.conf prüfen ob das Modul geladen wird.
... LoadModule status_module modules/mod_status.so ...
mod_status aktivieren
Um das Modul mod_status zu global zu aktivieren entfernen wie das Kommentarzeichen der benötigten Zeilen in der Datei /etc/httpd/conf/httpd.conf und fügen noch eine Zeilen ein, um den Zugriff von lokal zu ermöglichen.
... # # Allow server status reports generated by mod_status, # with the URL of http://servername/server-status # Change the ".example.com" to match your domain to enable. # <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from localhost </Location> ...
Für eine detaillierte Statusseite kann man in der gleichen Datei noch den erweiterten Report aktivieren.
... # # ExtendedStatus controls whether Apache will generate "full" status # information (ExtendedStatus On) or just basic information (ExtendedStatus # Off) when the "server-status" handler is called. The default is Off. # ExtendedStatus On ...
Nun ist die Statusseite unter der Seite http://127.0.0.1/server-status zu erreichen. Wenn diese Seite auch von Extern aufgerufen werden soll, muss dies in der Konfiguration entsprechend angepasst werden. Es ist ratsam die Seite mit einem Passwort zu versehen um Dritten den Zugang zu verweigern. Das könnte wie folgt aussehen.
... <Location /server-status> SetHandler server-status AuthType Basic AuthName "Server-Staus" AuthUserFile /pfad-zur-passwortdatei Require valid-user Order deny,allow Deny from all # alle oder auf bestimmte Ips beschränken Allow from all </Location> ...
Fazit
Mit mod_status können wir uns so ohne weiter Einstellungen zu jeder Zeit einen Überblick über Status des Webservers verschaffen. Dazu reicht ein einfacher Browser.
Weiter Informationen zu diesem Modul gib es auf http://httpd.apache.org/.