Kuidas jälgida Apache veebiserveri laadimist ja lehe statistikat


Sellest artiklist saate teada, kuidas jälgida Apache veebiserveri koormust ja taotlusi mod_status mooduli abil oma Linuxi distributsioonides, näiteks CentOS, RHEL ja Fedora.

Mis on mod_status?

mod_status on Apache moodul, mis aitab jälgida veebiserveri koormust ja praeguseid httpd-ühendusi HTML-liidesega, millele pääseb ligi veebibrauseri kaudu.

Apache's mod_status kuvatakse tavaline HTML-leht, mis sisaldab teavet veebiserveri praeguse statistika kohta.

  • Sissetulevate taotluste koguarv
  • Baitide ja loendusserveri koguarv
  • Veebiserveri protsessori kasutamine
  • Serveri laadimine
  • Serveri tööaeg
  • kogu liiklus
  • Töötavate töötajate koguarv
  • PID-d vastavate klientidega ja palju muud.

Apache vaikeprojekt võimaldas nende serveristatistika lehe laiemale avalikkusele. Hõivatud veebisaidi olekulehe demo saamiseks külastage aadressi.

  • https://status.apache.org/

Oleme selle artikli jaoks kasutanud järgmist testimiskeskkonda, et rohkem uurida mod_statuse kohta koos mõne praktilise näite ja ekraanipildiga.

  1. Operatsioonisüsteem - CentOS 8/7
  2. Rakendus - Apache veebiserver
  3. IP-aadress - 5.175.142,66
  4. DocumentRoot -/var/www/html
  5. Apache'i konfiguratsioonifail - /etc/httpd/conf/httpd.conf
  6. HTTP vaikeport - 80 TCP
  7. Konfiguratsiooniseadete testimine - httpd -t

Selle õpetuse eeldused on, et peaksite juba teadma, kuidas Basic Apache Serveri installida ja konfigureerida. Kui te ei tea, kuidas Apache'i seadistada, lugege järgmist artiklit, mis võib aidata teil Apache'i veebiserveri seadistamisel.

  1. Looge oma veebiserver ja veebisaidi majutamine Linuxis

Kuidas lubada modacheuse Apache'is

Apache vaikimisi installimisel on lubatud mod_status. Kui ei, siis lubage see kindlasti Apache'i konfiguratsioonifailis.

 vi /etc/httpd/conf/httpd.conf

Otsige sõna “mod_status” või kerige allapoole, kuni leiate rea, mis sisaldab.

#LoadModule status_module modules/mod_status.so

Kui näete „LoadModule” alguses märki ‘#’, tähendab see, et mod_status on keelatud. Mod_statuse lubamiseks eemaldage ‘#’.

LoadModule status_module modules/mod_status.so

Nüüd otsige uuesti sõna „Asukoht” või kerige allapoole, kuni leiate jaotise mod_status jaoks, mis peaks välja nägema järgmine.

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

Eelmises jaotises tühjendage asukohadirektiivi, SetHandleri ja kataloogipiirangute read vastavalt teie vajadustele. Näiteks hoian seda tellimusega Luba, eita ja see on kõigile lubatud.

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

Märkus: ülaltoodud konfiguratsioon on Apache vaikesaidi (ühe veebisaidi) vaikekonfiguratsioon. Kui olete loonud ühe või mitu Apache'i virtuaalset hostit, ei toimi ülaltoodud konfiguratsioon.

Seega peate Apache'is konfigureeritud domeenide jaoks määratlema iga virtuaalse hosti jaoks sama konfiguratsiooni. Näiteks mod_statuse virtuaalse hosti konfiguratsioon näeb välja selline.

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

Seaded „ExtendedStatus” lisavad statistikalehele lisateavet, näiteks protsessori kasutus, päring sekundis, kogu liiklus jne. Selle lubamiseks muutke sama faili httpd.conf ja otsige sõna „Extended” ning tühjendage rida ja määrake olek “Sees” laiendatud staatuse direktiivi jaoks.

# 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

Nüüd veenduge, et olete Apache serveri oleku lehe õigesti lubanud ja konfigureerinud. Järgmise käsu abil saate kontrollida ka vigu konfiguratsioonis httpd.conf.

 httpd -t

Syntax OK

Kui süntaks on korras, saate taaskäivitada teenuse httpd.

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

Apache'i olekulehele pääseb juurde teie domeeninime kaudu järgmiste URL-ide aadressil "/ server-status".

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Näete midagi sarnast järgmisele lehele, kus laiendatud staatus on lubatud.

Ülaltoodud hetkepildist näete, et HTML-liides, mis näitab kogu teavet serveri tööaja kohta, töötleb ID-d oma vastava kliendiga, lehega, millele nad proovivad juurde pääseda.

Samuti näitab see kõigi oleku kuvamiseks kasutatud lühendite tähendust ja kasutamist, mis aitab meil olukorda paremini mõista.

Uuendatud statistika nägemiseks võite lehte värskendada ka iga sekundi järel (näiteks 5 sekundit). Automaatse värskenduse määramiseks lisage URL-i lõppu „? Refresh = N”. Kus N saab asendada sekundite arvuga, mida soovite oma lehele värskendada.

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

Apache'i olekulehte saate vaadata ka käsurea liideselt, kasutades spetsiaalseid käsurea brausereid, mida nimetatakse linkideks või ilvesteks. Saate need installida vaikepaketi halduri utiliidi nimega yum, nagu allpool näidatud.

# yum install links

OR

# yum install lynx

Kui olete installinud, saate järgmise käsu abil oma terminali kohta sama statistika.

 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

Järeldus

Apache mod_status moodul on väga mugav jälgimisvahend veebiserveri tegevuse toimimise jälgimiseks ja suudab probleemid ise esile tuua. Lisateabe saamiseks lugege olekulehte, mis aitab teil saada edukamaks veebiserveri administraatoriks.

  1. Apache mod_statuse avaleht

Praegu on see kõik mod_statusele mõeldud, tulevastes õpetustes pakume Apache kohta veel mõningaid nippe ja näpunäiteid. Kuni olete siis Geeky ja linux-console.net lehel ning ärge unustage oma väärtuslikke kommentaare lisada.