അപ്പാച്ചെ വെബ് സെർവർ ലോഡും പേജ് സ്ഥിതിവിവരക്കണക്കുകളും എങ്ങനെ നിരീക്ഷിക്കാം


ഈ ലേഖനത്തിൽ, CentOS, RHEL, Fedora തുടങ്ങിയ നിങ്ങളുടെ Linux വിതരണങ്ങളിലെ mod_status മൊഡ്യൂൾ ഉപയോഗിച്ച് Apache വെബ് സെർവർ ലോഡും അഭ്യർത്ഥനകളും എങ്ങനെ നിരീക്ഷിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

എന്താണ് mod_status?

mod_status എന്നത് ഒരു വെബ് ബ്രൗസർ വഴി ആക്uസസ് ചെയ്യാൻ കഴിയുന്ന ഒരു HTML ഇന്റർഫേസ് ഉപയോഗിച്ച് വെബ് സെർവർ ലോഡും നിലവിലെ httpd കണക്ഷനുകളും നിരീക്ഷിക്കാൻ സഹായിക്കുന്ന ഒരു അപ്പാച്ചെ മൊഡ്യൂളാണ്.

അപ്പാച്ചെയുടെ mod_status വെബ്uസെർവറിന്റെ നിലവിലെ സ്ഥിതിവിവരക്കണക്കുകൾ ഉൾപ്പെടെയുള്ള വിവരങ്ങൾ അടങ്ങിയ ഒരു പ്ലെയിൻ HTML പേജ് കാണിക്കുന്നു.

  • ഇൻകമിംഗ് അഭ്യർത്ഥനകളുടെ ആകെ എണ്ണം
  • ബൈറ്റുകളുടെയും സെർവറിന്റെ എണ്ണത്തിന്റെയും ആകെ എണ്ണം
  • വെബ്സെർവറിന്റെ CPU ഉപയോഗം
  • സെർവർ ലോഡ്
  • സെർവർ പ്രവർത്തനസമയം
  • ആകെ ട്രാഫിക്ക്
  • നിഷ്uക്രിയ തൊഴിലാളികളുടെ ആകെ എണ്ണം
  • അതാത് ക്ലയന്റുകളുമൊത്തുള്ള PID-കളും മറ്റും.

ഡിഫോൾട്ട് അപ്പാച്ചെ പ്രോജക്റ്റ് അവരുടെ സെർവർ സ്റ്റാറ്റിസ്റ്റിക്സ് പേജ് പൊതുജനങ്ങൾക്കായി പ്രവർത്തനക്ഷമമാക്കി. തിരക്കുള്ള വെബ്uസൈറ്റിന്റെ സ്റ്റാറ്റസ് പേജിന്റെ ഡെമോ ലഭിക്കാൻ, സന്ദർശിക്കുക.

  • https://status.apache.org/

ചില പ്രായോഗിക ഉദാഹരണങ്ങളും സ്ക്രീൻ ഷോട്ടുകളും ഉപയോഗിച്ച് mod_status-നെ കുറിച്ച് കൂടുതൽ പര്യവേക്ഷണം ചെയ്യാൻ ഈ ലേഖനത്തിനായി ഞങ്ങൾ ഇനിപ്പറയുന്ന ടെസ്റ്റിംഗ് എൻവയോൺമെന്റ് ഉപയോഗിച്ചു.

  1. ഓപ്പറേറ്റിംഗ് സിസ്റ്റം - CentOS 8/7
  2. അപ്ലിക്കേഷൻ - അപ്പാച്ചെ വെബ് സെർവർ
  3. IP വിലാസം – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയൽ – /etc/httpd/conf/httpd.conf
  6. ഡിഫോൾട്ട് HTTP പോർട്ട് - 80 TCP
  7. ടെസ്റ്റ് കോൺഫിഗറേഷൻ ക്രമീകരണങ്ങൾ – httpd -t

ഈ ട്യൂട്ടോറിയലിനുള്ള മുൻവ്യവസ്ഥകൾ, ഒരു അടിസ്ഥാന അപ്പാച്ചെ സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും കോൺഫിഗർ ചെയ്യാമെന്നും നിങ്ങൾ ഇതിനകം അറിഞ്ഞിരിക്കണം. അപ്പാച്ചെ എങ്ങനെ സജ്ജീകരിക്കണമെന്ന് നിങ്ങൾക്ക് അറിയില്ലെങ്കിൽ, നിങ്ങളുടെ സ്വന്തം അപ്പാച്ചെ വെബ് സെർവർ സജ്ജീകരിക്കാൻ നിങ്ങളെ സഹായിച്ചേക്കാവുന്ന ഇനിപ്പറയുന്ന ലേഖനം വായിക്കുക.

  1. നിങ്ങളുടെ സ്വന്തം വെബ്uസെർവർ സൃഷ്uടിക്കുകയും ലിനക്uസിൽ ഒരു വെബ്uസൈറ്റ് ഹോസ്റ്റുചെയ്യുകയും ചെയ്യുക

അപ്പാച്ചെയിൽ mod_status എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം

mod_status പ്രവർത്തനക്ഷമമാക്കിയതാണ് ഡിഫോൾട്ട് അപ്പാച്ചെ ഇൻസ്റ്റലേഷൻ. ഇല്ലെങ്കിൽ, അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയലിൽ ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നത് ഉറപ്പാക്കുക.

 vi /etc/httpd/conf/httpd.conf

\mod_status എന്ന വാക്കിനായി തിരയുക അല്ലെങ്കിൽ അടങ്ങുന്ന ഒരു വരി കണ്ടെത്തുന്നത് വരെ താഴേക്ക് സ്ക്രോൾ ചെയ്യുക.

#LoadModule status_module modules/mod_status.so

“LoadModule” ന്റെ തുടക്കത്തിൽ നിങ്ങൾ ഒരു ‘#’ പ്രതീകം കാണുകയാണെങ്കിൽ, അതിനർത്ഥം mod_status പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു എന്നാണ്. മോഡ്_സ്റ്റാറ്റസ് പ്രവർത്തനക്ഷമമാക്കാൻ '#' നീക്കം ചെയ്യുക.

LoadModule status_module modules/mod_status.so

ഇപ്പോൾ വീണ്ടും \ലൊക്കേഷൻ എന്ന വാക്കിനായി തിരയുക അല്ലെങ്കിൽ mod_status എന്നതിനായുള്ള ഒരു വിഭാഗം നിങ്ങൾ കണ്ടെത്തുന്നത് വരെ താഴേക്ക് സ്ക്രോൾ ചെയ്യുക, അത് ഇനിപ്പറയുന്നതായി കാണപ്പെടും.

# 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ടീവ്, സെറ്റ്ഹാൻഡ്uലർ, ഡയറക്uടറി നിയന്ത്രണങ്ങൾ എന്നിവയ്uക്കായുള്ള ലൈനുകൾ അൺകമന്റ് ചെയ്യുക. ഉദാഹരണത്തിന്, അനുവദിക്കുക, നിരസിക്കുക, എല്ലാവർക്കും അനുവദനീയമാണ് എന്ന ക്രമത്തിൽ ഞാൻ ഇത് ലളിതമാക്കുന്നു.

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

ശ്രദ്ധിക്കുക: മേൽപ്പറഞ്ഞ കോൺഫിഗറേഷൻ സ്ഥിരസ്ഥിതി അപ്പാച്ചെ വെബ്uസൈറ്റിന്റെ (സിംഗിൾ വെബ്uസൈറ്റ്) ഡിഫോൾട്ട് കോൺഫിഗറേഷനാണ്. നിങ്ങൾ ഒന്നോ അതിലധികമോ അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്ടിച്ചിട്ടുണ്ടെങ്കിൽ, മുകളിലുള്ള കോൺഫിഗറേഷൻ പ്രവർത്തിക്കില്ല.

അതിനാൽ, അടിസ്ഥാനപരമായി, നിങ്ങൾ അപ്പാച്ചെയിൽ ക്രമീകരിച്ചിട്ടുള്ള ഏതെങ്കിലും ഡൊമെയ്uനുകൾക്കായി ഓരോ വെർച്വൽ ഹോസ്റ്റിനും ഒരേ കോൺഫിഗറേഷൻ നിർവ്വചിക്കേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, mod_status-നുള്ള വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ഇതുപോലെ കാണപ്പെടും.

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

“ExtendedStatus” ക്രമീകരണങ്ങൾ സ്ഥിതിവിവരക്കണക്കുകൾ പേജിലേക്ക് CPU ഉപയോഗം, സെക്കൻഡിൽ അഭ്യർത്ഥന, മൊത്തം ട്രാഫിക്ക് തുടങ്ങിയ കൂടുതൽ വിവരങ്ങൾ ചേർക്കുന്നു. ഇത് പ്രവർത്തനക്ഷമമാക്കാൻ, അതേ httpd.conf ഫയൽ എഡിറ്റ് ചെയ്uത് \Extended എന്ന വാക്ക് തിരയുകയും വരി അൺകമന്റ് ചെയ്യുകയും ചെയ്യുക. ExtendedStatus ഡയറക്uടീവിനായി സ്റ്റാറ്റസ് \ഓൺ സജ്ജമാക്കുക.

# 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

നിങ്ങൾ അപ്പാച്ചെ സെർവർ-സ്റ്റാറ്റസ് പേജ് ശരിയായി പ്രവർത്തനക്ഷമമാക്കുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്തിട്ടുണ്ടെന്ന് ഇപ്പോൾ ഉറപ്പാക്കുക. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് httpd.conf കോൺഫിഗറേഷനിലെ പിശകുകൾ പരിശോധിക്കാനും കഴിയും.

 httpd -t

Syntax OK

ഒരിക്കൽ, നിങ്ങൾക്ക് വാക്യഘടന ശരിയാണെങ്കിൽ, നിങ്ങൾക്ക് httpd സേവനം പുനരാരംഭിക്കാൻ കഴിയും.

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

അപ്പാച്ചെ സ്റ്റാറ്റസ് പേജ് ഇനിപ്പറയുന്ന URL-ൽ /സെർവർ-സ്റ്റാറ്റസ് ഉപയോഗിച്ച് നിങ്ങളുടെ ഡൊമെയ്ൻ നാമം വഴി ആക്സസ് ചെയ്യാൻ കഴിയും.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

ExtendedStatus പ്രവർത്തനക്ഷമമാക്കിയിരിക്കുന്ന ഇനിപ്പറയുന്ന പേജിന് സമാനമായ ഒന്ന് നിങ്ങൾ കാണും.

മുകളിലെ സ്uനാപ്പ്uഷോട്ടിൽ, സെർവർ പ്രവർത്തനസമയത്തെക്കുറിച്ചുള്ള എല്ലാ വിവരങ്ങളും കാണിക്കുന്ന ഒരു HTML ഇന്റർഫേസ്, അതത് ക്ലയന്റ്, അവർ ആക്uസസ് ചെയ്യാൻ ശ്രമിക്കുന്ന പേജ് ഉപയോഗിച്ച് ഐഡി പ്രോസസ്സ് ചെയ്യുന്നത് നിങ്ങൾക്ക് കാണാൻ കഴിയും.

സ്ഥിതി കൂടുതൽ നന്നായി മനസ്സിലാക്കാൻ സഹായിക്കുന്ന സ്റ്റാറ്റസ് പ്രദർശിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന എല്ലാ ചുരുക്കെഴുത്തുകളുടെയും അർത്ഥവും ഉപയോഗവും ഇത് കാണിക്കുന്നു.

അപ്uഡേറ്റ് ചെയ്uത സ്ഥിതിവിവരക്കണക്കുകൾ കാണുന്നതിന് നിങ്ങൾക്ക് ഓരോ സെക്കൻഡിലും (5 സെക്കൻഡ് എന്ന് പറയുക) പേജ് പുതുക്കാനും കഴിയും. യാന്ത്രിക പുതുക്കൽ സജ്ജമാക്കാൻ, URL-ന്റെ അവസാനം ?refresh=N ചേർക്കുക. നിങ്ങളുടെ പേജ് പുതുക്കാൻ ആഗ്രഹിക്കുന്ന സെക്കൻഡുകളുടെ എണ്ണം ഉപയോഗിച്ച് N മാറ്റിസ്ഥാപിക്കാൻ കഴിയുന്നിടത്ത്.

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

ലിങ്കുകൾ അല്ലെങ്കിൽ ലിങ്ക്സ് എന്ന് വിളിക്കുന്ന പ്രത്യേക കമാൻഡ്-ലൈൻ ബ്രൗസറുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് കമാൻഡ്-ലൈൻ ഇന്റർഫേസിൽ നിന്ന് അപ്പാച്ചെ സ്റ്റാറ്റസ് പേജ് കാണാനും കഴിയും. ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ yum എന്ന ഡിഫോൾട്ട് പാക്കേജ് മാനേജർ യൂട്ടിലിറ്റി ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.

# yum install links

OR

# yum install lynx

ഒരിക്കൽ, നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ ടെർമിനലിൽ സമാന സ്ഥിതിവിവരക്കണക്കുകൾ നിങ്ങൾക്ക് ലഭിക്കും.

 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

ഉപസംഹാരം

അപ്പാച്ചെയുടെ മോഡ്_സ്റ്റാറ്റസ് മൊഡ്യൂൾ ഒരു വെബ് സെർവറിന്റെ പ്രവർത്തനത്തിന്റെ പ്രകടനം നിരീക്ഷിക്കുന്നതിനുള്ള വളരെ എളുപ്പമുള്ള ഒരു മോണിറ്ററിംഗ് ടൂളാണ്, മാത്രമല്ല പ്രശ്uനങ്ങൾ തന്നെ ഹൈലൈറ്റ് ചെയ്യാൻ കഴിയും. കൂടുതൽ വിവരങ്ങൾക്ക്, കൂടുതൽ വിജയകരമായ വെബ് സെർവർ അഡ്മിനിസ്ട്രേറ്റർ ആകാൻ നിങ്ങളെ സഹായിക്കുന്ന സ്റ്റാറ്റസ് പേജ് വായിക്കുക.

  1. Apache mod_status ഹോംപേജ്

ഇപ്പോൾ mod_status-ന് അത്രയേയുള്ളൂ, ഭാവിയിലെ ട്യൂട്ടോറിയലുകളിൽ അപ്പാച്ചെയെക്കുറിച്ചുള്ള കൂടുതൽ തന്ത്രങ്ങളും നുറുങ്ങുകളും ഞങ്ങൾ കൊണ്ടുവരും. അതുവരെ ഗീക്കിയായി തുടരുക, linux-console.net-ലേക്ക് ട്യൂൺ ചെയ്യുക, നിങ്ങളുടെ വിലയേറിയ അഭിപ്രായങ്ങൾ ചേർക്കാൻ മറക്കരുത്.