Hoe Apache Web Server-belasting en paginastatistieken te controleren
In dit artikel leert u hoe u de belasting en verzoeken van de Apache webserver kunt monitoren met behulp van de mod_status module in uw 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 huidige httpd-verbindingen met een HTML-interface die toegankelijk is via een webbrowser.
De mod_status van Apache toont een eenvoudige HTML-pagina met informatie over de huidige statistieken van de webserver, inclusief.
- Totaal aantal inkomende verzoeken
- Totaal aantal bytes en tellingen server
- Het CPU-gebruik van Webserver
- Serverbelasting
- Server-uptime
- Totaal verkeer
- Totaal aantal inactieve werknemers
- PID's met de respectievelijke klanten en nog veel meer.
Het standaard Apache Project maakte hun serverstatistiekenpagina toegankelijk voor het grote publiek. Bezoek voor een demo van de statuspagina van de drukke website.
- https://status.apache.org/
Omgeving testen
We hebben voor dit artikel de volgende testomgeving gebruikt om meer te weten te komen over mod_status met enkele praktische voorbeelden en schermafbeeldingen.
- 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
- Testconfiguratie-instellingen – httpd -t
De vereisten voor deze tutorial zijn dat u al weet hoe u een Basis Apache Server installeert en configureert. Als u niet weet hoe u Apache moet instellen, lees dan het volgende artikel dat u kan helpen bij het opzetten van uw eigen Apache Web Server.
- Creëer uw eigen webserver en host een website in Linux
Hoe mod_status in Apache in te schakelen
Bij de standaard Apache-installatie is mod_status ingeschakeld. Als dit niet het geval is, zorg er dan voor dat u dit inschakelt in het Apache-configuratiebestand.
[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
Zoek naar het woord “mod_status ” of blijf naar beneden scrollen totdat je een regel vindt met de tekst.
#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 verwijdert u de commentaartekens voor de regels voor Locatierichtlijn, SetHandler, en de directorybeperkingen, afhankelijk van uw behoeften. Ik houd het bijvoorbeeld simpel met Bestelling toestaan, weigeren 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 aangemaakt, zal de bovenstaande configuratie niet werken.
In principe moet u dus voor elke virtuele host dezelfde configuratie definiëren voor alle domeinen die u in Apache heeft geconfigureerd. De virtuele hostconfiguratie voor mod_status ziet er bijvoorbeeld zo uit.
<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>
Schakel Uitgebreide status in
De instellingen voor 'ExtendedStatus' voegen meer informatie toe aan de statistiekenpagina, zoals CPU-gebruik, verzoek per seconde, totaal verkeer , enz. Om dit in te schakelen, bewerkt u hetzelfde httpd.conf bestand en zoekt u naar het woord “Extended ” en verwijdert u de commentaarregel en stelt u de status in op “Aan< ” voor ExtendedStatus richtlijn.
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
Start Apache opnieuw
Zorg er nu voor dat u de Apache-serverstatuspagina correct hebt ingeschakeld en geconfigureerd. U kunt ook controleren op fouten in de httpd.conf-configuratie met behulp van de volgende opdracht.
[root@tecmint ~]# httpd -t
Syntax OK
Zodra de syntaxis OK is, kunt u de httpd-service opnieuw starten.
[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Ga naar de mod_status-pagina
De Apache-statuspagina is toegankelijk via uw domeinnaam met “/server-status” op de volgende URL’s.
http://serveripaddress/server-status
OR
http://serev-hostname/server-status
U zult iets zien dat lijkt op de volgende pagina met ExtendedStatus ingeschakeld.
In de bovenstaande momentopname kunt u zien dat een HTML-interface, die alle informatie weergeeft over de server-uptime, proces-ID met zijn respectievelijk 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, waardoor we de situatie beter kunnen begrijpen.
U kunt de pagina ook elke seconde (bijvoorbeeld 5 seconden) vernieuwen om de bijgewerkte statistieken te bekijken. Om de automatische vernieuwing in te stellen, voegt u “?refresh=N” toe aan het einde van de URL. Waar N kan worden vervangen door het aantal seconden dat u wilt dat uw pagina wordt vernieuwd.
http://serveripaddress/server-status/?refresh=5
Opdrachtregelstatuspaginaweergave
U kunt de Apache-statuspagina ook bekijken vanaf de opdrachtregelinterface met behulp van de speciale opdrachtregelbrowsers die links of lynx worden genoemd. Je kunt ze installeren met behulp van het standaard hulpprogramma voor pakketbeheer genaamd yum, zoals hieronder weergegeven.
yum install links
OR
yum install lynx
Nadat u het hebt geïnstalleerd, kunt u dezelfde statistieken op uw terminal verkrijgen 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
Voorbeelduitvoer
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 problemen zelf onder de aandacht brengen. Lees voor meer informatie de statuspagina die u kan helpen een succesvollere webserverbeheerder te worden.
- Apache mod_status-startpagina
Dat is alles voor mod_status voor nu. We zullen in toekomstige tutorials nog wat meer trucs en tips over Apache bedenken. Blijf tot die tijd Geeky en volg linux-console.net en vergeet niet uw waardevolle opmerkingen toe te voegen.