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.
- Besturingssysteem – CentOS 8/7
- Toepassing – Apache-webserver
- IP-adres – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache-configuratiebestand – /etc/httpd/conf/httpd.conf
- Standaard HTTP-poort – 80 TCP
- 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.
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.

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

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