Hoe u de belasting en paginastatistieken van Apache Web Server kunt bewaken

In dit artikel leert u hoe u de Apache-webserverbelasting en -aanvragen kunt monitoren met het mod_status-module in Linux-distributies zoals CentOS, RHEL en Fedora.

Wat is mod_status?

mod_status is een Apache-module die helpt bij het monitoren van de webserverbelasting en de huidige httpd-verbindingen via een HTML-interface die toegankelijk is via een webbrowser.

mod_status van Apache toont een eenvoudige HTML-pagina met informatie over de huidige statistieken van de webserver, waaronder.

  • Totaal aantal binnenkomende aanvragen
  • Totaal aantal bytes en servertelling
  • De CPU-gebruik van de webserver
  • Server Load
  • Server Uptime
  • Totaal verkeer
  • Totaal aantal inactieve werknemers
  • PIDs met de respectieve clients en vele anderen.

Het Apache Project heeft de statuspagina van de server standaard openbaar beschikbaar gesteld. Om een ​​demo van de statuspagina van een drukke website te bekijken, ga naar.

Testomgeving

Voor dit artikel hebben we de volgende testomgeving gebruikt om meer te weten te komen over mod_status met enkele praktische voorbeelden en schermafdrukken.

  1. Besturingssysteem – CentOS 8/7
  2. Toepassing – Apache-webserver
  3. IP-adres – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache-configuratiebestand – /etc/httpd/conf/httpd.conf
  6. Standaard HTTP-poort – 80 TCP
  7. Test configuratie-instellingen – httpd -t

De vereisten voor deze zelfstudie zijn dat je al weet hoe je een Basisservers van Apache installeert en configureert. Als je niet weet hoe je Apache moet instellen, lees dan het volgende artikel dat je kan helpen bij het opzetten van je eigen Apache-webserver.

  1. Maak je eigen webserver en host een website in Linux

Hoe mod_status inschakelen in Apache

De standaard Apache-installatie wordt geleverd met mod_status ingeschakeld. Zo niet, zorg ervoor dat je het inschakelt in het Apache-configuratiebestand.

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

Zoek naar het woord “mod_status” of scroll naar beneden totdat je een regel vindt die het bevat.

#LoadModule status_module modules/mod_status.so

Als je een ‘#‘-teken aan het begin van “LoadModule” ziet, betekent dit dat mod_status is uitgeschakeld. Verwijder de ‘#‘ om mod_status in te schakelen.

LoadModule status_module modules/mod_status.so

Configureer mod_status

Zoek nu opnieuw naar het woord “Locatie” of scroll naar beneden totdat je een sectie voor mod_status vindt die er als volgt uit zou moeten zien.

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

In het bovenstaande gedeelte, verwijder de regels voor Locatie directive, SetHandler, en de directory beperkingen volgens uw behoeften. Bijvoorbeeld, ik houd het simpel met de Order Allow, deny en het is toegestaan voor iedereen.

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

Opmerking: De bovenstaande configuratie is de standaardconfiguratie voor de standaard Apache-website (enkele website). Als u een of meer Apache Virtual Hosts heeft gemaakt, zal de bovenstaande configuratie niet werken.

Dus, in feite moet u dezelfde configuratie definiëren voor elke virtuele host voor alle domeinen die u heeft geconfigureerd in Apache. Bijvoorbeeld, de virtuele hostconfiguratie voor mod_status zal er zo uitzien.

<VirtualHost *:80>
    ServerAdmin [email protected]
    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>

ExtendedStatus inschakelen

De “ExtendedStatus” instellingen voegen meer informatie toe aan de statistiekenpagina zoals CPU-gebruik, verzoeken per seconde, totaal verkeer, enz. Om het in te schakelen, bewerk hetzelfde httpd.conf bestand en zoek naar het woord “Extended” en Verwijder het commentaar en stel de status “Aan” in voor de ExtendedStatus directive.

# 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

Herstart Apache

Zorg er nu voor dat u de Apache server-statuspagina correct heeft ingeschakeld en geconfigureerd. U kunt ook controleren op fouten in de httpd.conf configuratie met behulp van het volgende commando.

[root@tecmint ~]# httpd -t

Syntax OK

Eens je de syntax hebt ingesteld op OK, kun je de httpd-service herstarten.

[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

Toegang tot mod_status Pagina

De Apache statuspagina is toegankelijk via je domeinnaam met “/server-status” op de volgende URL’s.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Je zult iets soortgelijks zien als de volgende pagina met ExtendedStatus ingeschakeld.

Apache mod_status View

In de bovenstaande snapshot kun je zien dat er een HTML-interface is, die alle informatie toont over server uptime, process Id met de respectievelijke client, de pagina die ze proberen te openen.

Het toont ook de betekenis en het gebruik van alle afkortingen die worden gebruikt om de status weer te geven, wat ons helpt de situatie beter te begrijpen.

Je kunt ook de pagina elke paar seconden vernieuwen (bijvoorbeeld elke 5 seconden) om de bijgewerkte statistieken te zien. Om de automatische vernieuwing in te stellen, voeg ” ?refresh=N” toe aan het einde van de URL. Waar N kan worden vervangen door het aantal seconden waarin je wilt dat je pagina wordt vernieuwd.

http://serveripaddress/server-status/?refresh=5
Apache mod_status Refresh

Weergave van de Statuspagina via de Opdrachtregel

Je kunt ook de Apache statuspagina bekijken vanuit de opdrachtregelinterface met behulp van speciale opdrachtregelbrowsers genaamd links of lynx. Je kunt ze installeren met behulp van het standaard pakketbeheerprogramma genaamd yum zoals hieronder wordt getoond.

# yum install links

OR

# yum install lynx

Zodra je deze hebt geïnstalleerd, kun je dezelfde statistieken op je terminal krijgen door de volgende opdracht te gebruiken.

[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]#  /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

Conclusie

De mod_status module van Apache is een zeer handige monitoringtool voor het monitoren van de prestaties van de activiteit van een webserver en kan zelf problemen benadrukken. Voor meer informatie, lees de statuspagina die u kan helpen een succesvollere webserverbeheerder te worden.

  1. Apache mod_status Homepage

Dat is alles voor mod_status voor nu, we zullen in toekomstige tutorials meer trucs en tips over Apache presenteren. Tot dan, blijf Geeky en afgestemd op Tecmint.com en vergeet niet om uw waardevolle opmerkingen toe te voegen.

Source:
https://www.tecmint.com/monitor-apache-web-server-load-and-page-statistics/