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.

  1. Operativni sistem – CentOS 8/7
  2. Aplikacija – Apache web server
  3. IP adresa – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache konfiguracioni fajl – /etc/httpd/conf/httpd.conf
  6. Zadani HTTP port – 80 TCP
  7. 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.

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

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