Kako pratiti učitavanje Apache web servera i statistiku stranice
U ovom članku ćete naučiti kako pratiti opterećenje Apache web servera i zahtjeve koristeći mod_status modul u vašim Linux distribucijama kao što su CentOS, RHEL i Fedora.
Šta je mod_status?
mod_status je Apache modul koji pomaže u praćenju opterećenja web servera i trenutnih httpd veza sa HTML interfejsom kojem se može pristupiti putem web pretraživača.
Apacheov mod_status prikazuje običnu HTML stranicu koja sadrži informacije o trenutnoj statistici web servera uključujući.
- Ukupan broj dolaznih zahtjeva
- Ukupan broj bajtova i brojanja servera
- Upotreba CPU-a Web servera
- Učitavanje servera
- Server Uptime
- Total Traffic
- Ukupan broj nezaposlenih radnika
- PID-ovi sa odgovarajućim klijentima i još mnogo toga.
Podrazumevani Apache projekat je omogućio njihovu stranicu sa statistikom servera široj javnosti. Da biste imali demo stranice statusa zauzete web stranice, posjetite.
- https://status.apache.org/
Testing Environment
Koristili smo sljedeće Okruženje za testiranje za ovaj članak kako bismo istražili više o mod_status sa nekim praktičnim primjerima i snimcima ekrana.
- Operativni sistem – CentOS 8/7
- Aplikacija – Apache web server
- IP adresa – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache konfiguracioni fajl – /etc/httpd/conf/httpd.conf
- Zadani HTTP port – 80 TCP
- Postavke konfiguracije testa – httpd -t
Preduvjeti za ovaj vodič su da već trebate znati kako instalirati i konfigurirati Osnovni Apache server. Ako ne znate kako postaviti Apache, pročitajte sljedeći članak koji bi vam mogao pomoći u postavljanju vlastitog Apache web servera.
- Kreirajte vlastiti web server i hostirajte web stranicu u Linuxu
Kako omogućiti mod_status u Apacheu
Zadana instalacija Apachea dolazi sa omogućenim mod_status. Ako nije, obavezno ga omogućite u Apache konfiguracijskoj datoteci.
[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf
Potražite riječ “mod_status” ili nastavite skrolovati prema dolje dok ne pronađete red 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 ponovo potražite riječ “Location” ili skrolujte 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 dekomentirajte redove za Direktivu o lokaciji, SetHandler, i ograničenja direktorija prema vašim potrebama. Na primjer, činim to jednostavnim sa Omogući nalog, odbije i dozvoljeno je 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 (jedna web lokacija). Ako ste kreirali jedan ili više Apache virtualnih hostova, gornja konfiguracija neće raditi.
Dakle, u osnovi, morate definirati istu konfiguraciju za svaki virtualni host za sve domene koje ste konfigurirali u Apacheu. Na primjer, konfiguracija virtuelnog 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 na stranicu sa statistikom kao što su Potrošnja CPU-a, zahtjev u sekundi, ukupni promet , itd. Da biste to omogućili, uredite isti httpd.conf fajl i potražite riječ “Extended ” i dekomentirajte red i postavite status “Uključeno< ” za ExtendedStatus direktivu.
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
Ponovo pokrenite Apache
Sada provjerite jeste li ispravno omogućili i konfigurirali stranicu statusa Apache servera. Također možete provjeriti da li postoje greške u konfiguraciji httpd.conf koristeći sljedeću naredbu.
[root@tecmint ~]# httpd -t
Syntax OK
Kada dobijete da je sintaksa OK, mož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
Apache stranici sa statusom će se moći pristupiti preko imena vaše domene sa “/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 da HTML sučelje, koje prikazuje sve informacije o vremenskom radu servera, ID-u procesa sa svojim odgovarajućim klijent, stranicu kojoj pokušavaju pristupiti.
Također pokazuje značenje i upotrebu svih skraćenica koje se koriste za prikaz statusa što nam pomaže da bolje razumijemo situaciju.
Također možete osvježiti stranicu svaki put u sekundi (recimo 5 sekundi) da vidite ažuriranu statistiku. Da postavite automatsko osvježavanje, dodajte “?refresh=N” na kraj URL-a. Gdje se N može zamijeniti brojem sekundi za koje želite da se vaša stranica osvježi.
http://serveripaddress/server-status/?refresh=5
Prikaz stranice statusa na komandnoj liniji
Apache statusnu stranicu možete pogledati i iz interfejsa komandne linije koristeći posebne pretraživače komandne linije zvane linkovi ili lynx. Možete ih instalirati koristeći zadani uslužni program za upravljanje paketima pod nazivom yum kao što je prikazano ispod.
yum install links
OR
yum install lynx
Nakon što ste instalirali, možete dobiti istu statistiku na svom terminalu koristeći sljedeću naredbu.
[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]# /etc/init.d/httpd fullstatus
Sample Output
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 mod_status modul je veoma zgodan alat za praćenje za praćenje performansi aktivnosti web servera i može sam da istakne probleme. Za više informacija pročitajte stranicu sa statusom koja vam može pomoći da postanete uspješniji administrator web servera.
- Apache mod_status Početna stranica
To je sve za mod_status za sada, smislićemo još nekoliko trikova i savjeta o Apacheu u budućim tutorijalima. Do tada ostanite Geeky i pratite linux-console.net i ne zaboravite dodati svoje vrijedne komentare.