Kako spremljati nalaganje in statistiko strani spletnega strežnika Apache


V tem članku boste izvedeli, kako nadzirati nalaganje in zahteve spletnega strežnika Apache z uporabo modula mod_status v vaših distribucijah Linuxa, kot so CentOS, RHEL in Fedora.

Kaj je mod_status?

mod_status je modul Apache, ki pomaga nadzirati obremenitev spletnega strežnika in trenutne povezave httpd z vmesnikom HTML, do katerega je mogoče dostopati prek spletnega brskalnika.

Apacheov mod_status prikazuje navadno stran HTML, ki vsebuje informacije o trenutnih statistikah spletnega strežnika, vključno.

  • Skupno število dohodnih zahtev
  • Skupno število bajtov in strežnik števcev
  • Uporaba CPU spletnega strežnika
  • Nalaganje strežnika
  • Uptime strežnika
  • Skupni promet
  • Skupno število nedejavnih delavcev
  • PID-ji z ustreznimi odjemalci in še veliko več.

Privzeti projekt Apache je omogočil njihovo statistično stran strežnika širši javnosti. Če želite prikazati predstavitev stanja stanja zasedenega spletnega mesta, obiščite.

  • https://status.apache.org/

Za ta članek smo uporabili naslednje preskusno okolje, da bi raziskali več o mod_status z nekaj praktičnimi primeri in posnetki zaslona.

  1. Operacijski sistem - CentOS 8/7
  2. Aplikacija - spletni strežnik Apache
  3. Naslov IP - 5.175.142.66
  4. DocumentRoot -/var/www/html
  5. Konfiguracijska datoteka Apache - /etc/httpd/conf/httpd.conf
  6. Privzeta vrata HTTP - 80 TCP
  7. Preizkusite nastavitve konfiguracije - httpd -t

Predpogoji za to vadnico so, da se že morate zavedati, kako namestiti in konfigurirati osnovni strežnik Apache. Če ne veste, kako nastaviti Apache, preberite naslednji članek, ki vam lahko pomaga pri nastavitvi lastnega spletnega strežnika Apache.

  1. Ustvarite lasten spletni strežnik in gostite spletno mesto v Linuxu

Kako omogočiti mod_status v Apacheju

Privzeta namestitev Apache je omogočena z mod_status. V nasprotnem primeru ga omogočite v konfiguracijski datoteki Apache.

 vi /etc/httpd/conf/httpd.conf

Poiščite besedo\"mod_status" ali se pomikajte navzdol, dokler ne najdete vrstice, ki vsebuje.

#LoadModule status_module modules/mod_status.so

Če na začetku "LoadModule" vidite znak "#", to pomeni, da je mod_status onemogočen. Odstranite '#', da omogočite mod_status.

LoadModule status_module modules/mod_status.so

Zdaj ponovno poiščite besedo\"Lokacija" ali se pomaknite navzdol, dokler ne najdete razdelka za mod_status, ki bi moral izgledati takole.

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

V zgornjem razdelku razkomentirajte vrstice za direktivo o lokaciji, SetHandler in omejitve imenika glede na vaše potrebe. Na primer, poenostavim naročilo Dovoli, zavrni in dovoljeno je vsem.

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

Opomba: Zgornja konfiguracija je privzeta konfiguracija za privzeto spletno mesto Apache (eno spletno mesto). Če ste ustvarili enega ali več navideznih gostiteljev Apache, zgornja konfiguracija ne bo delovala.

V bistvu morate torej določiti enako konfiguracijo za vsak navidezni gostitelj za katero koli domeno, ki ste jo nastavili v Apacheju. Na primer, konfiguracija navideznega gostitelja za mod_status bo videti tako.

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

Nastavitve »ExtendedStatus« na stran s statističnimi podatki dodajo več informacij, na primer o porabi CPE-ja, zahtevi na sekundo, skupnem prometu itd. Če jo želite omogočiti, uredite isto datoteko httpd.conf in poiščite besedo\"Extended" in Odpokličite vrstico in nastavite status\"On" za direktivo ExtendedStatus.

# 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

Zdaj se prepričajte, da ste pravilno omogočili in konfigurirali stran s statusom strežnika Apache. Z naslednjim ukazom lahko tudi preverite napake v konfiguraciji httpd.conf.

 httpd -t

Syntax OK

Ko dobite sintakso je v redu, lahko znova zaženete storitev httpd.

 service httpd restart
OR
 systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

Stran stanja Apache bo dostopna prek vašega imena domene z “/ server-status” na naslednjih URL-jih.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Videli boste nekaj podobnega naslednji strani z omogočenim ExtendedStatus.

Na zgornjem posnetku lahko vidite, da vmesnik HTML, ki prikazuje vse informacije o delovanju strežnika, obdeluje Id s svojim odjemalcem, stranjo, do katere želijo dostopati.

Prikazuje tudi pomen in uporabo vseh okrajšav, ki se uporabljajo za prikaz stanja, kar nam pomaga bolje razumeti situacijo.

Stran lahko osvežite tudi vsako sekundo (recimo 5 sekund), da si ogledate posodobljene statistike. Če želite nastaviti samodejno osvežitev, dodajte na koncu URL-ja »? Refresh = N«. Kjer je N mogoče nadomestiti s številom sekund, ko želite, da se vaša stran osveži.

http://serveripaddress/server-status/?refresh=5

Stran s stanjem Apache si lahko ogledate tudi v vmesniku ukazne vrstice s pomočjo posebnih brskalnikov ukazne vrstice, imenovanih povezave ali ris. Namestite jih lahko s privzetim pripomočkom upravitelja paketov, imenovanim yum, kot je prikazano spodaj.

# yum install links

OR

# yum install lynx

Ko ste enkrat namestili, lahko z naslednjim ukazom dobite enako statistiko na terminalu.

 links http://serveripaddress/server-status
OR
 lynx http://serveripaddress/server-status
OR
  /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

Zaključek

Modul Apache mod_status je zelo priročno orodje za spremljanje, ki spremlja delovanje spletnega strežnika in lahko sam opozori na težave. Za več informacij preberite stran s stanjem, ki vam lahko pomaga postati uspešnejši skrbnik spletnega strežnika.

  1. Domača stran Apache mod_status

Za zdaj je to vse za mod_status, v prihodnjih vajah bomo našli še nekaj trikov in nasvetov o Apacheju. Do takrat ostanite Geeky in nastavljeni na linux-console.net in ne pozabite dodati svojih dragocenih komentarjev.