Website-Suche

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.

  1. Betriebssystem – CentOS 8/7
  2. Anwendung – Apache-Webserver
  3. IP-Adresse – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache-Konfigurationsdatei – /etc/httpd/conf/httpd.conf
  6. Standard-HTTP-Port – 80 TCP
  7. 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.

  1. 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.

  1. 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.