Kuinka seurata Apache-verkkopalvelimen kuormitusta ja sivutilastoja
Tässä artikkelissa opit valvomaan Apache-verkkopalvelimen kuormitusta ja pyyntöjä mod_status-moduulin avulla Linux-jakeluissasi, kuten CentOS, RHEL ja Fedora.
Mikä on mod_status?
mod_status on Apache-moduuli, joka auttaa seuraamaan verkkopalvelimen kuormitusta ja nykyisiä httpd-yhteyksiä HTML-käyttöliittymällä, jota voidaan käyttää verkkoselaimen kautta.
Apachen mod_status näyttää tavallisen HTML-sivun, joka sisältää tiedot verkkopalvelimen nykyisistä tilastoista, mukaan lukien.
- Saapuvien pyyntöjen kokonaismäärä
- Palvelimen tavujen kokonaismäärä ja määrä
- Web-palvelimen suorittimen käyttö
- Palvelimen kuormitus
- Palvelimen käyttöaika
- Yhteensä liikennettä
- Työttömien työntekijöiden kokonaismäärä
- PID:t vastaavien asiakkaiden kanssa ja paljon muuta.
Oletusarvoinen Apache-projekti salli heidän palvelimen tilastosivunsa suurelle yleisölle. Jos haluat esittelyn kiireisen Web-sivuston tilasivusta, käy osoitteessa.
- https://status.apache.org/
Testausympäristö
Olemme käyttäneet seuraavaa testausympäristöä tässä artikkelissa tutkiaksemme lisää mod_status-asioista käytännön esimerkkien ja kuvakaappausten avulla.
- Käyttöjärjestelmä – CentOS 8/7
- Sovellus – Apache-verkkopalvelin
- IP-osoite – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache-määritystiedosto – /etc/httpd/conf/httpd.conf
- HTTP-oletusportti – 80 TCP
- Testimääritysasetukset – httpd -t
Tämän opetusohjelman edellytyksenä on, että sinun pitäisi jo tietää, kuinka Basic Apache Server asennetaan ja määritetään. Jos et tiedä, kuinka Apache määritetään, lue seuraava artikkeli, joka saattaa auttaa sinua määrittämään oman Apache-verkkopalvelimesi.
- Luo oma verkkopalvelin ja isännöi verkkosivusto Linuxissa
Kuinka ottaa mod_status käyttöön Apachessa
Apachen oletusasennuksessa mod_status on käytössä. Jos ei, muista ottaa se käyttöön Apache-määritystiedostossa.
[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
Hae sanaa "mod_status" tai jatka vierittämistä alaspäin, kunnes löydät rivin, joka sisältää.
#LoadModule status_module modules/mod_status.so
Jos näet #-merkin LoadModule-kohdan alussa, mod_status ei ole käytössä. Ota mod_status käyttöön poistamalla #.
LoadModule status_module modules/mod_status.so
Määritä mod_status
Etsi nyt uudelleen sana Sijainti tai vieritä alaspäin, kunnes löydät kohdan mod_status, jonka pitäisi näyttää seuraavalta.
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>
Poista yllä olevasta osiosta sijaintiohjeen, SetHandlerin ja hakemistorajoitusten rivien kommentit tarpeidesi mukaan. Pidän sen esimerkiksi yksinkertaisena käyttämällä Tilaa Salli, Estä ja se on sallittu kaikille.
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from all
Allow from all
</Location>
Huomaa: Yllä oleva määritys on oletusasetus Apache-oletussivustolle (yksi verkkosivusto). Jos olet luonut yhden tai useamman Apache Virtual Hosts -palvelimen, yllä oleva määritys ei toimi.
Joten periaatteessa sinun on määritettävä sama kokoonpano jokaiselle virtuaaliselle isännälle kaikille Apachessa määrittämillesi toimialueille. Esimerkiksi mod_status-virtuaaliisäntäkokoonpano näyttää tältä.
<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>
Ota ExtendedStatus käyttöön
ExtendedStatus-asetukset lisäävät tilastosivulle lisätietoja, kuten suorittimen käyttö, pyyntö sekunnissa, koko liikenne. , jne. Ota se käyttöön muokkaamalla samaa httpd.conf-tiedostoa ja etsimällä sanaa "Extended", poistamalla rivin kommentit ja asettamalla tilaksi "Päällä<". ” ExtendedStatus-direktiiville.
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
Käynnistä Apache uudelleen
Varmista nyt, että olet ottanut Apache-palvelimen tilasivun käyttöön ja määrittänyt sen oikein. Voit myös tarkistaa httpd.conf-määrityksen virheet käyttämällä seuraavaa komentoa.
[root@tecmint ~]# httpd -t
Syntax OK
Kun syntaksi on OK, voit käynnistää httpd -palvelun uudelleen.
[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
Siirry mod_status -sivulle
Apache-tilasivulle pääsee verkkotunnuksesi nimellä, jossa on /server-status seuraavissa URL-osoitteissa.
http://serveripaddress/server-status
OR
http://serev-hostname/server-status
Näet jotain seuraavan sivun kaltaista, kun ExtendedStatus on käytössä.
Yllä olevassa tilannekuvassa voit nähdä, että HTML-käyttöliittymä, joka näyttää kaikki tiedot palvelimen käytettävyydestä, prosessitunnuksesta ja vastaavista asiakas, sivu, jota he yrittävät käyttää.
Se näyttää myös kaikkien tilan näyttämiseen käytettyjen lyhenteiden merkityksen ja käytön, mikä auttaa meitä ymmärtämään tilannetta paremmin.
Voit myös päivittää sivun joka sekunti (esim. 5 sekuntia), jotta näet päivitetyt tilastot. Aseta automaattinen päivitys lisäämällä ?refresh=N URL-osoitteen loppuun. Missä N voidaan korvata sekuntimäärällä, jonka haluat sivusi päivitettävän.
http://serveripaddress/server-status/?refresh=5
Komentorivin tilasivunäkymä
Voit myös tarkastella Apachen tilasivua komentorivikäyttöliittymästä käyttämällä erityisiä komentoriviselaimia, joita kutsutaan linkeiksi tai lynxiksi. Voit asentaa ne käyttämällä oletusarvoista paketinhallintaapuohjelmaa yum alla olevan kuvan mukaisesti.
yum install links
OR
yum install lynx
Kun olet asentanut, voit saada samat tilastot päätteellesi käyttämällä seuraavaa komentoa.
[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]# /etc/init.d/httpd fullstatus
Näytelähtö
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
Johtopäätös
Apachen mod_status-moduuli on erittäin kätevä seurantatyökalu verkkopalvelimen toiminnan seurantaan ja voi itse tuoda esiin ongelmat. Saat lisätietoja lukemalla tilasivun, joka voi auttaa sinua tulemaan menestyvämmäksi verkkopalvelimen järjestelmänvalvojaksi.
- Apache mod_status -kotisivu
Siinä kaikki mod_status:lle toistaiseksi, ja tulemme lisäämään Apachea koskevia temppuja ja vinkkejä tulevissa opetusohjelmissa. Pysy siihen asti nörttinä linux-console.net-sivustolla ja älä unohda lisätä arvokkaita kommenttejasi.