Kako pratiti učitavanje Apache web poslužitelja i statistiku stranice


U ovom ćete članku naučiti kako nadzirati opterećenje web poslužitelja Apache i zahtjeve pomoću modula mod_status u vašim distribucijama Linuxa kao što su CentOS, RHEL i Fedora.

Što je mod_status?

mod_status je Apache modul koji pomaže u praćenju opterećenja web poslužitelja i trenutnih httpd veza s HTML sučeljem kojem se može pristupiti putem web preglednika.

Apacheov mod_status prikazuje običnu HTML stranicu koja sadrži informacije o trenutnoj statistici web poslužitelja, uključujući.

  • Ukupan broj dolaznih zahtjeva
  • Ukupan broj bajtova i brojač poslužitelja
  • Upotreba CPU-a web poslužitelja
  • Opterećenje poslužitelja
  • Vrijeme rada poslužitelja
  • Ukupni promet
  • Ukupan broj neradnih radnika
  • PID-ovi s odgovarajućim klijentima i još mnogo toga.

Zadani projekt Apache omogućio je njihovu stranicu statistike poslužitelja široj javnosti. Za demo stranicu statusa zauzete web stranice posjetite.

  • https://status.apache.org/
Okruženje za testiranje

Koristili smo sljedeće Okruženje za testiranje za ovaj članak kako bismo istražili više o mod_status s nekim praktičnim primjerima i snimkama zaslona.

  1. Operativni sustav – CentOS 8/7
  2. Aplikacija – web poslužitelj Apache
  3. IP adresa – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache konfiguracijska datoteka – /etc/httpd/conf/httpd.conf
  6. Zadani HTTP port – 80 TCP
  7. Postavke konfiguracije testiranja – httpd -t

Preduvjeti za ovaj vodič su da već trebate znati kako instalirati i konfigurirati Osnovni Apache poslužitelj. Ako ne znate kako postaviti Apache, pročitajte sljedeći članak koji bi vam mogao pomoći u postavljanju vlastitog Apache web poslužitelja.

  1. Napravite vlastiti web-poslužitelj i hostirajte web-stranicu u Linuxu

Kako omogućiti mod_status u Apacheu

Zadana instalacija Apachea dolazi s omogućenim mod_status. Ako nije, svakako ga omogućite u Apache konfiguracijskoj datoteci.

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

Potražite riječ “mod_status” ili se pomičite prema dolje dok ne pronađete redak koji sadrži.

#LoadModule status_module modules/mod_status.so

Ako vidite znak '#' na početku "LoadModule", to znači da je mod_status onemogućen. Uklonite '#' da omogućite mod_status.

LoadModule status_module modules/mod_status.so

Konfigurirajte mod_status

Sada ponovno potražite riječ “Lokacija” ili se pomaknite prema dolje dok ne pronađete odjeljak za mod_status koji bi trebao izgledati ovako.

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>

U gornjem odjeljku odkomentirajte retke za Direkciju o lokaciji, SetHandler, i ograničenja imenika prema vašim potrebama. Na primjer, pojednostavljujem s Order Allow, deny i to je dopušteno za sve.

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

Napomena: Gornja konfiguracija je zadana konfiguracija za zadanu Apache web stranicu (jedno web mjesto). Ako ste izradili jedan ili više Apache virtualnih hostova, gornja konfiguracija neće raditi.

Dakle, u osnovi, trebate definirati istu konfiguraciju za svaki virtualni host za sve domene koje ste konfigurirali u Apacheu. Na primjer, konfiguracija virtualnog hosta za mod_status će izgledati ovako.

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

Omogući ExtendedStatus

Postavke “ExtendedStatus” dodaju više informacija stranici statistike kao što su upotreba CPU-a, zahtjev po sekundi, ukupni promet , itd. Da biste to omogućili, uredite istu httpd.conf datoteku i potražite riječ “Extended ” i skinite komentar s retka i postavite status “On< ” za direktivu 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

Ponovno pokrenite Apache

Sada provjerite jeste li ispravno omogućili i konfigurirali stranicu statusa Apache poslužitelja. Također možete provjeriti pogreške u konfiguraciji httpd.conf pomoću sljedeće naredbe.

[root@tecmint ~]# httpd -t

Syntax OK

Nakon što dobijete da je sintaksa U redu, moći ćete ponovo pokrenuti uslugu httpd.

[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

Pristup stranici mod_status

Stranica statusa Apachea bit će dostupna putem naziva vaše domene s “/server-status” na sljedećem URL-u.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Vidjet ćete nešto slično sljedećoj stranici s omogućenim ExtendedStatus.

Na gornjoj snimci možete vidjeti HTML sučelje, koje prikazuje sve informacije o radnom vremenu poslužitelja, ID-u procesa s njegovim odgovarajućim klijent, stranica kojoj pokušavaju pristupiti.

Također pokazuje značenje i upotrebu svih kratica koje se koriste za prikaz statusa što nam pomaže da bolje razumijemo situaciju.

Također možete osvježiti stranicu svake sekunde (recimo 5 sekundi) da vidite ažuriranu statistiku. Za postavljanje automatskog osvježavanja dodajte “?refresh=N” na kraju URL-a. Gdje se N može zamijeniti brojem sekundi za koje želite da se vaša stranica osvježava.

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

Prikaz stranice statusa naredbenog retka

Također možete vidjeti Apache statusnu stranicu iz sučelja naredbenog retka pomoću posebnih preglednika naredbenog retka koji se nazivaju links ili lynx. Možete ih instalirati pomoću zadanog uslužnog programa za upravljanje paketima pod nazivom yum kao što je prikazano u nastavku.

yum install links

OR

yum install lynx

Nakon što instalirate, možete dobiti istu statistiku na svom terminalu pomoću sljedeće naredbe.

[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]#  /etc/init.d/httpd fullstatus
Uzorak izlaza
                     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čak

Apacheov modul mod_status vrlo je zgodan alat za nadgledanje performansi aktivnosti web poslužitelja i može sam istaknuti probleme. Za više informacija pročitajte statusnu stranicu koja vam može pomoći da postanete uspješniji administrator web poslužitelja.

  1. Početna stranica Apache mod_status

To je sve za mod_status za sada, osmislit ćemo još neke trikove i savjete o Apacheu u budućim vodičima. Do tada ostanite Geeky i pratite linux-console.net i ne zaboravite dodati svoje vrijedne komentare.