Jinsi ya Kufuatilia Upakiaji wa Seva ya Wavuti ya Apache na Takwimu za Ukurasa


Katika makala haya, utajifunza jinsi ya kufuatilia upakiaji wa seva ya wavuti ya Apache na maombi kwa kutumia mod_status moduli katika usambazaji wako wa Linux kama vile CentOS, RHEL, na Fedora.

Mod_status ni nini?

mod_status ni moduli ya Apache ambayo husaidia kufuatilia upakiaji wa seva ya wavuti na miunganisho ya sasa ya httpd na kiolesura cha HTML ambacho kinaweza kufikiwa kupitia kivinjari.

Mod_status ya Apache inaonyesha ukurasa wa HTML ulio na taarifa kuhusu takwimu za sasa za seva ya tovuti ikijumuisha.

  • Jumla ya idadi ya maombi yanayoingia
  • Jumla ya idadi ya baiti na hesabu za seva
  • Matumizi ya CPU ya Webserver
  • Mzigo wa Seva
  • Wakati wa Kuboresha Seva
  • Jumla ya Trafiki
  • Jumla ya idadi ya wafanyikazi wasio na kazi
  • PID na wateja husika na wengine wengi.

Mradi chaguo-msingi wa Apache uliwezesha ukurasa wao wa takwimu za seva kwa umma kwa ujumla. Ili kuwa na onyesho la ukurasa wa hali ya tovuti yenye shughuli nyingi, tembelea.

  • https://status.apache.org/

Tumetumia Mazingira ya Kujaribio yafuatayo kwa makala haya ili kuchunguza zaidi kuhusu mod_status kwa mifano ya vitendo na picha za skrini.

  1. Mfumo wa Uendeshaji – CentOS 8/7
  2. Programu - Seva ya Wavuti ya Apache
  3. Anwani ya IP - 5.175.142.66
  4. DocumentRoot - /var/www/html
  5. Faili ya Usanidi wa Apache - /etc/httpd/conf/httpd.conf
  6. Mlango chaguo-msingi wa HTTP - 80 TCP
  7. Jaribio la Mipangilio ya Usanidi - httpd -t

Masharti ya mafunzo haya ni kwamba unapaswa kufahamu tayari jinsi ya kusakinisha na kusanidi Seva ya Msingi ya Apache. Ikiwa hujui jinsi ya kusanidi Apache, soma makala ifuatayo ambayo inaweza kukusaidia kusanidi Apache Web Server yako mwenyewe.

  1. Unda Seva Yako ya Wavuti na Kupangisha Tovuti katika Linux

Jinsi ya kuwezesha mod_status katika Apache

Usakinishaji chaguo-msingi wa Apache unakuja na mod_status kuwezeshwa. Ikiwa sivyo, hakikisha kuiwezesha katika faili ya usanidi ya Apache.

 vi /etc/httpd/conf/httpd.conf

Tafuta neno \mod_status au endelea kusogeza chini hadi upate mstari ulio na.

#LoadModule status_module modules/mod_status.so

Ukiona herufi ya '#' mwanzoni mwa LoadModule, hiyo inamaanisha mod_status imezimwa. Ondoa '#' ili kuwezesha hali_ya_mod.

LoadModule status_module modules/mod_status.so

Sasa tafuta tena neno \Mahali au sogeza chini hadi upate sehemu ya mod_status ambayo inapaswa kuonekana kama ifuatavyo.

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

Katika sehemu iliyo hapo juu, toa maoni kwa mistari ya maagizo ya Mahali, SetHandler, na vizuizi vya saraka kulingana na mahitaji yako. Kwa mfano, ninaiweka rahisi kwa Agizo Ruhusu, kataa na inaruhusiwa kwa wote.

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

Kumbuka: Mipangilio iliyo hapo juu ndiyo usanidi chaguo-msingi wa tovuti chaguo-msingi ya Apache (tovuti moja). Ikiwa umeunda Apache Virtual Hosts moja au zaidi, usanidi ulio hapo juu hautafanya kazi.

Kwa hivyo, kimsingi, unahitaji kufafanua usanidi sawa kwa kila seva pangishi kwa vikoa vyovyote ambavyo umesanidi katika Apache. Kwa mfano, usanidi wa mwenyeji wa kawaida wa mod_status utaonekana kama hii.

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

Mipangilio ya ExtendedStatus huongeza maelezo zaidi kwenye ukurasa wa takwimu kama vile matumizi ya CPU, ombi kwa sekunde, jumla ya trafiki, n.k. Ili kuiwezesha, hariri faili ile ile ya httpd.conf na utafute neno \Iliyopanuliwa na uondoe maoni kwenye mstari na. weka hali \Imewashwa kwa maelekezo ya 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

Sasa hakikisha kwamba umewezesha na kusanidi kwa usahihi ukurasa wa hali ya seva ya Apache. Unaweza pia kuangalia makosa katika usanidi wa httpd.conf kwa kutumia amri ifuatayo.

 httpd -t

Syntax OK

Mara tu, kupata syntax ni sawa, unaweza kuwasha upya huduma ya httpd.

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

Ukurasa wa hali ya Apache utapatikana kupitia jina la kikoa chako na /server-status kwenye URL zifuatazo.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Utaona kitu sawa na ukurasa ufuatao na ExtendedStatus kuwezeshwa.

Katika picha iliyo hapo juu, unaweza kuona kwamba kiolesura cha HTML, ambacho kinaonyesha taarifa zote kuhusu uptime wa seva, kitambulisho cha mchakato na mteja wake husika, ukurasa ambao wanajaribu kufikia.

Pia inaonyesha maana na matumizi ya vifupisho vyote vinavyotumiwa kuonyesha hali ambayo hutusaidia kuelewa hali vizuri zaidi.

Unaweza pia kuonyesha ukurasa upya kila baada ya sekunde (sema sekunde 5) ili kuona takwimu zilizosasishwa. Ili kuweka uonyeshaji upyaji wa kiotomatiki, tafadhali ongeza “?refresh=N” mwishoni mwa URL. Ambapo N inaweza kubadilishwa na idadi ya sekunde ambazo ungependa ukurasa wako uburudishwe.

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

Unaweza pia kutazama ukurasa wa hali ya Apache kutoka kwa kiolesura cha mstari wa amri kwa kutumia vivinjari maalum vya mstari wa amri vinavyoitwa viungo au lynx. Unaweza kuzisakinisha kwa kutumia kidhibiti chaguo-msingi cha kifurushi kinachoitwa yum kama inavyoonyeshwa hapa chini.

# yum install links

OR

# yum install lynx

Mara tu, ukisakinisha, unaweza kupata takwimu sawa kwenye terminal yako kwa kutumia amri ifuatayo.

 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

Hitimisho

Moduli ya mod_status ya Apache ni zana inayofaa sana ya ufuatiliaji kwa ajili ya kufuatilia utendakazi wa shughuli za seva ya wavuti na inaweza kuangazia matatizo yenyewe. Kwa habari zaidi soma ukurasa wa hali ambao unaweza kukusaidia kuwa msimamizi wa seva ya wavuti aliyefanikiwa zaidi.

  1. Ukurasa wa Nyumbani wa Apache mod_status

Hayo tu ni ya mod_status kwa sasa, tutakuja na hila na vidokezo zaidi juu ya Apache katika mafunzo yajayo. Hadi wakati huo, kaa Geeky na uangalie linux-console.net na usisahau kuongeza maoni yako muhimu.