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.

  1. Käyttöjärjestelmä – CentOS 8/7
  2. Sovellus – Apache-verkkopalvelin
  3. IP-osoite – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache-määritystiedosto – /etc/httpd/conf/httpd.conf
  6. HTTP-oletusportti – 80 TCP
  7. 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.

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

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