So überwachen Sie die Auslastung und Seitenstatistiken des Apache-Webservers
In diesem Artikel erfahren Sie, wie Sie die Auslastung und Anforderungen des Apache-Webservers mithilfe des mod_status-Moduls in Ihren Linux-Distributionen wie CentOS, < überwachenRHEL und Fedora.
Was ist mod_status?
mod_status ist ein Apache-Modul, das dabei hilft, die Webserverlast und aktuelle httpd-Verbindungen mit einer HTML-Schnittstelle zu überwachen, auf die über einen Webbrowser zugegriffen werden kann.
Apaches mod_status zeigt eine einfache HTML-Seite mit Informationen zu aktuellen Statistiken des Webservers, einschließlich.
- Gesamtzahl der eingehenden Anfragen
- Gesamtzahl der Bytes und Anzahl der Server
- Die CPU-Auslastung des Webservers
- Serverlast
- Serververfügbarkeit
- Gesamtverkehr
- Gesamtzahl der untätigen Arbeitnehmer
- PIDs mit den jeweiligen Clients und viele mehr.
Das Standard-Apache-Projekt hat seine Serverstatistikseite für die breite Öffentlichkeit zugänglich gemacht. Um eine Demo der Statusseite der ausgelasteten Website zu erhalten, besuchen Sie.
- https://status.apache.org/
Testumgebung
Wir haben für diesen Artikel die folgende Testumgebung verwendet, um anhand einiger praktischer Beispiele und Screenshots mehr über mod_status zu erfahren.
- Betriebssystem – CentOS 8/7
- Anwendung – Apache-Webserver
- IP-Adresse – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache-Konfigurationsdatei – /etc/httpd/conf/httpd.conf
- Standard-HTTP-Port – 80 TCP
- Testkonfigurationseinstellungen – httpd -t
Voraussetzung für dieses Tutorial ist, dass Sie bereits wissen, wie Sie einen Basic Apache Server installieren und konfigurieren. Wenn Sie nicht wissen, wie Sie Apache einrichten, lesen Sie den folgenden Artikel, der Ihnen beim Einrichten Ihres eigenen Apache-Webservers helfen kann.
- Erstellen Sie Ihren eigenen Webserver und hosten Sie eine Website unter Linux
So aktivieren Sie mod_status in Apache
Bei der Standardinstallation von Apache ist mod_status aktiviert. Wenn nicht, stellen Sie sicher, dass Sie es in der Apache-Konfigurationsdatei aktivieren.
[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
Suchen Sie nach dem Wort „mod_status“ oder scrollen Sie weiter nach unten, bis Sie eine Zeile finden, die Folgendes enthält:
#LoadModule status_module modules/mod_status.so
Wenn Sie am Anfang von „LoadModule“ ein ‘#‘-Zeichen sehen, bedeutet das, dass mod_status deaktiviert ist. Entfernen Sie das „#“, um mod_status zu aktivieren.
LoadModule status_module modules/mod_status.so
Konfigurieren Sie mod_status
Suchen Sie nun erneut nach dem Wort „Standort“ oder scrollen Sie nach unten, bis Sie einen Abschnitt für mod_status finden, der wie folgt aussehen sollte.
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 .example.com
#</Location>
Entkommentieren Sie im obigen Abschnitt die Zeilen für Location-Direktive, SetHandler und die Verzeichniseinschränkungen entsprechend Ihren Anforderungen. Zum Beispiel halte ich es einfach mit Auftrag erlauben, verweigern und es ist für alle erlaubt.
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from all
</Location>
Hinweis: Die obige Konfiguration ist die Standardkonfiguration für die Standard-Apache-Website (einzelne Website). Wenn Sie einen oder mehrere Apache Virtual Hosts erstellt haben, funktioniert die obige Konfiguration nicht.
Grundsätzlich müssen Sie also für jeden virtuellen Host und für alle Domänen, die Sie in Apache konfiguriert haben, dieselbe Konfiguration definieren. Die virtuelle Hostkonfiguration für mod_status sieht beispielsweise so aus.
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/html/example.com
ServerName example.com
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from example.com
</Location>
</VirtualHost>
Aktivieren Sie ExtendedStatus
Die „ExtendedStatus-Einstellungen fügen der Statistikseite weitere Informationen hinzu, wie z. B. CPU-Nutzung, Anfrage pro Sekunde, Gesamtverkehr usw. Um es zu aktivieren, bearbeiten Sie dieselbe httpd.conf-Datei und suchen Sie nach dem Wort „Extended“, kommentieren Sie die Zeile aus und setzen Sie den Status auf „On<“. ” für die ExtendedStatus-Direktive.
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
Starten Sie Apache neu
Stellen Sie nun sicher, dass Sie die Apache-Serverstatusseite korrekt aktiviert und konfiguriert haben. Sie können auch mit dem folgenden Befehl nach Fehlern in der httpd.conf-Konfiguration suchen.
[root@tecmint ~]# httpd -t
Syntax OK
Sobald Sie feststellen, dass die Syntax OK ist, können Sie den httpd-Dienst neu starten.
[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Greifen Sie auf die mod_status-Seite zu
Auf die Apache-Statusseite können Sie über Ihren Domainnamen mit „/server-status“ unter den folgenden URLs zugreifen.
http://serveripaddress/server-status
OR
http://serev-hostname/server-status
Bei aktiviertem ExtendedStatus wird etwas Ähnliches wie auf der folgenden Seite angezeigt.
Im obigen Schnappschuss können Sie eine HTML-Schnittstelle sehen, die alle Informationen über die Serververfügbarkeit, die Prozess-ID mit ihren entsprechenden Prozess-IDs anzeigt client, die Seite, auf die er zugreifen möchte.
Es zeigt auch die Bedeutung und Verwendung aller Abkürzungen, die zur Anzeige des Status verwendet werden, was uns hilft, die Situation besser zu verstehen.
Sie können die Seite auch alle Sekunden (z. B. 5 Sekunden) aktualisieren, um die aktualisierten Statistiken anzuzeigen. Um die automatische Aktualisierung festzulegen, fügen Sie bitte „?refresh=N“ am Ende der URL hinzu. Dabei kann N durch die Anzahl der Sekunden ersetzt werden, die Ihre Seite aktualisiert werden soll.
http://serveripaddress/server-status/?refresh=5
Befehlszeilen-Statusseitenansicht
Sie können die Apache-Statusseite auch über die Befehlszeilenschnittstelle mithilfe der speziellen Befehlszeilenbrowser namens Links oder Lynx anzeigen. Sie können sie mit dem standardmäßigen Paketmanager-Dienstprogramm namens yum installieren, wie unten gezeigt.
yum install links
OR
yum install lynx
Sobald Sie das installiert haben, können Sie mit dem folgenden Befehl dieselben Statistiken auf Ihrem Terminal abrufen.
[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]# /etc/init.d/httpd fullstatus
Beispielausgabe
Apache Server Status for localhost
Server Version: Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3
Server Built: Aug 13 2013 17:29:28
--------------------------------------------------------------------------
Current Time: Tuesday, 14-Jan-2014 04:34:13 EST
Restart Time: Tuesday, 14-Jan-2014 00:33:05 EST
Parent Server Generation: 0
Server uptime: 4 hours 1 minute 7 seconds
Total accesses: 2748 - Total Traffic: 9.6 MB
CPU Usage: u.9 s1.06 cu0 cs0 - .0135% CPU load
.19 requests/sec - 695 B/second - 3658 B/request
1 requests currently being processed, 4 idle workers
.__.__W...
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of a worker, "." Open slot with no current process
Srv PID Acc M CPU SS Req Conn Child Slot Client VHost Request
0-0 - 0/0/428 . 0.30 5572 0 0.0 0.00 1.34 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
GET
1-0 5606 0/639/639 _ 0.46 4 0 0.0 2.18 2.18 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
GET
2-0 5607 0/603/603 _ 0.43 0 0 0.0 2.09 2.09 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
3-0 - 0/0/337 . 0.23 5573 0 0.0 0.00 1.09 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
GET
4-0 5701 0/317/317 _ 0.23 9 0 0.0 1.21 1.21 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
GET
5-0 5708 0/212/213 _ 0.15 6 0 0.0 0.85 0.85 115.113.134.14 5.175.142.66 /server-status?refresh=5
HTTP/1.1
6-0 5709 0/210/210 W 0.16 0 0 0.0 0.84 0.84 127.0.0.1 5.175.142.66 GET /server-status
HTTP/1.1
7-0 - 0/0/1 . 0.00 5574 0 0.0 0.00 0.00 127.0.0.1 5.175.142.66 OPTIONS * HTTP/1.0
--------------------------------------------------------------------------
Srv Child Server number - generation
PID OS process ID
Acc Number of accesses this connection / this child / this slot
M Mode of operation
CPU CPU usage, number of seconds
SS Seconds since the beginning of the most recent request
Req Milliseconds required to process most recent request
Conn Kilobytes transferred this connection
Child Megabytes transferred this child
Slot Total megabytes transferred this slot
--------------------------------------------------------------------------
Apache/2.2.15 (CentOS) Server at localhost Port 80
Abschluss
Das mod_status-Modul von Apache ist ein sehr praktisches Überwachungstool zur Überwachung der Leistung der Aktivität eines Webservers und kann selbst Probleme hervorheben. Weitere Informationen finden Sie auf der Statusseite, die Ihnen dabei helfen kann, ein erfolgreicherer Webserver-Administrator zu werden.
- Apache mod_status Homepage
Das ist alles für mod_status, wir werden uns in zukünftigen Tutorials noch einige weitere Tricks und Tipps zu Apache einfallen lassen. Bis dahin bleiben Sie Geeky und bleiben Sie auf dem Laufenden bei linux-console.net und vergessen Sie nicht, Ihre wertvollen Kommentare hinzuzufügen.