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.
- Operativni sustav – CentOS 8/7
- Aplikacija – web poslužitelj Apache
- IP adresa – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache konfiguracijska datoteka – /etc/httpd/conf/httpd.conf
- Zadani HTTP port – 80 TCP
- 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.
- 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.
- 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.