Wéi Monitor Apache Web Server Lueden a Säit Statistiken


An dësem Artikel léiert Dir wéi Dir d'Apache Webserverbelaaschtung an Ufroen iwwerwaacht andeems Dir de Mod_status Modul an Äre Linux Verdeelungen wéi CentOS, RHEL a Fedora benotzt.

Wat ass mod_status?

mod_status ass en Apache-Modul deen hëlleft fir de Webserverbelaaschtung an déi aktuell httpd Verbindungen mat engem HTML-Interface ze iwwerwaachen, deen iwwer e Webbrowser zougänglech ass.

Apache's mod_status weist eng einfach HTML Säit mat Informatioun iwwer déi aktuell Statistike vum Webserver abegraff.

  • Gesamtzuel vun erakommen Ufroen
  • Gesamtzuel vun de Bytes an Zuelen Server
  • D'CPU Benotzung vum Webserver
  • Server Lueden
  • Server Uptime
  • Total Traffic
  • Gesamtzuel vun Idle Aarbechter
  • PIDs mat de jeeweilege Clienten a vill méi.

De Standard Apache Project huet hir Serverstatistik Säit fir d'Allgemengheet aktivéiert. Fir eng Demo vun der beschäftegter Websäit Status Säit ze hunn, besicht.

  • https://status.apache.org/

Mir hunn déi folgend Testëmfeld fir dësen Artikel benotzt fir méi iwwer mod_status ze entdecken mat e puer praktesche Beispiller a Screenshots.

  1. Betribssystem – CentOS 8/7
  2. Applikatioun – Apache Web Server
  3. IP Adress – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache Konfiguratiounsdatei – /etc/httpd/conf/httpd.conf
  6. Standard HTTP Port – 80 TCP
  7. Test Konfiguratioun Astellungen – httpd -t

D'Viraussetzunge fir dësen Tutorial sinn datt Dir scho sollt bewosst sinn wéi Dir e Basic Apache Server installéiert an konfiguréiert. Wann Dir net wësst wéi Dir Apache opstellt, liest de folgenden Artikel deen Iech hëllefe bei der Ariichten vun Ärem eegenen Apache Web Server.

  1. Erstellt Ären eegene Webserver an Hosting Eng Websäit am Linux

Wéi aktivéiert mod_status an Apache

D'Standard Apache Installatioun kënnt mat mod_status aktivéiert. Wann net, gitt sécher et an der Apache Konfiguratiounsdatei z'aktivéieren.

 vi /etc/httpd/conf/httpd.conf

Sich no dem Wuert mod_status oder scroll weider erof bis Dir eng Zeil fannt mat.

#LoadModule status_module modules/mod_status.so

Wann Dir e # Charakter um Ufank vum LoadModule gesitt, heescht dat, datt mod_status deaktivéiert ass. Ewechzehuelen den '#' fir mod_status z'aktivéieren.

LoadModule status_module modules/mod_status.so

Elo nach eng Kéier no dem Wuert \Location sichen oder erof scrollen bis Dir eng Sektioun fir mod_status fannt, déi wéi folgend ausgesäit.

# 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>

An der uewe genannter Sektioun, decommentéiert d'Linnen fir d'Location Direktiv, SetHandler, an d'Verzeechnesbeschränkungen no Äre Besoinen. Zum Beispill, ech halen et einfach mat der Uerdnung Erlaabt, verleegnen an et ass fir all erlaabt.

<Location /server-status>
   SetHandler server-status
   Order allow,deny
   Deny from all
   Allow from all 
</Location>

Notiz: Déi uewe genannte Konfiguratioun ass d'Standardkonfiguratioun fir d'Standard Apache Websäit (eenzel Websäit). Wann Dir een oder méi Apache Virtual Hosts erstallt hutt, funktionnéiert déi uewe genannte Konfiguratioun net.

Also, am Fong, musst Dir déiselwecht Konfiguratioun fir all virtuelle Host fir all Domain definéieren, déi Dir an Apache konfiguréiert hutt. Zum Beispill wäert déi virtuell Hostkonfiguratioun fir mod_status esou ausgesinn.

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

D'ExtendedStatus Astellunge addéiere méi Informatioun op d'Statistik Säit wéi CPU Benotzung, Ufro pro Sekonn, Gesamtverkéier, etc. Fir et z'aktivéieren, editéiert déiselwecht httpd.conf Datei a sicht no dem Wuert \Extended an Uncomment the line and set de Status \On fir ExtendedStatus Direktiv.

# 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

Gitt elo sécher datt Dir d'Apache Server-Status Säit korrekt aktivéiert a konfiguréiert hutt. Dir kënnt och d'Fehler an der httpd.conf Konfiguratioun iwwerpréiwen mat dem folgenden Kommando.

 httpd -t

Syntax OK

Eemol kritt Dir Syntax ass OK, Dir kënnt den httpd Service nei starten.

 service httpd restart
OR
 systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

D'Apache Status Säit ass zougänglech iwwer Ären Domain Numm mat/Server-Status op de folgenden URLen.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Dir gesitt eppes ähnlech wéi déi folgend Säit mat ExtendedStatus aktivéiert.

Am uewe genannte Snapshot kënnt Dir gesinn datt en HTML-Interface, deen all Informatioun iwwer Serveruptime weist, Prozess Id mat sengem jeweilege Client, der Säit op déi se probéieren zouzegräifen.

Et weist och d'Bedeitung an d'Benotzung vun all Ofkierzungen, déi benotzt gi fir de Status ze weisen, wat eis hëlleft d'Situatioun besser ze verstoen.

Dir kënnt och d'Säit all Kéier Sekonnen erfrëschen (soen 5 Sekonnen) fir déi aktualiséiert Statistiken ze gesinn. Fir den automatiséierten Erfrëschung ze setzen, füügt w.e.g. ?refresh=N um Enn vun der URL un. Wou N kann ersat ginn duerch d'Zuel vu Sekonnen déi Dir wëllt datt Är Säit erfrëscht gëtt.

http://serveripaddress/server-status/?refresh=5

Dir kënnt och d'Apache Status Säit vun der Kommandozeilen-Interface kucken mat de spezielle Kommandozeil-Browser genannt Links oder Lynx. Dir kënnt se installéieren mat dem Standard Package Manager Utility genannt yum wéi hei ënnendrënner.

# yum install links

OR

# yum install lynx

Wann Dir d'installéiert hutt, kënnt Dir déiselwecht Statistiken op Ärem Terminal kréien andeems Dir de folgende Kommando benotzt.

 links http://serveripaddress/server-status
OR
 lynx http://serveripaddress/server-status
OR
  /etc/init.d/httpd fullstatus
                     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

Conclusioun

Apache's mod_status Modul ass e ganz praktescht Iwwerwaachungsinstrument fir d'Performance vun der Aktivitéit vun engem Webserver ze iwwerwaachen a ka fäeg sinn Probleemer selwer ze markéieren. Fir méi Informatioun liest d'Statussäit déi Iech hëllefe kann e méi erfollegräiche Webserveradministrator ze ginn.

  1. Apache mod_status Homepage

Dat ass alles fir mod_status fir elo, mir kommen mat e puer méi Tricken an Tipps iwwer Apache an zukünfteg Tutorials. Bis dann bleift Geeky an ofgestëmmt op linux-console.net a vergiesst net Är wäertvoll Kommentarer derbäi ze ginn.