Yadda ake Kula da Load ɗin Sabar Yanar Gizo na Apache da Kididdigar Shafi


A cikin wannan labarin, zaku koyi yadda ake saka idanu akan nauyin sabar gidan yanar gizo na Apache da buƙatun ta amfani da tsarin mod_status a cikin rarrabawar Linux ɗinku kamar CentOS, RHEL, da Fedora.

Menene mod_status?

mod_status wani nau'in Apache ne wanda ke taimakawa wajen saka idanu akan nauyin sabar gidan yanar gizo da haɗin yanar gizo na httpd na yanzu tare da keɓancewar HTML wanda za'a iya shiga ta hanyar burauzar gidan yanar gizo.

Mod_status na Apache yana nuna shafin HTML a sarari wanda ke ɗauke da bayanai game da ƙididdiga na sabar gidan yanar gizo na yanzu gami da.

  • Jimlar adadin buƙatun masu shigowa
  • Jimlar adadin bytes da uwar garken kirga
  • Amfanin CPU na Webserver
  • Load ɗin Sabar
  • Server Uptime
  • Jimlar zirga-zirga
  • Jimlar adadin ma'aikata marasa aiki
  • PIDs tare da abokan ciniki daban-daban da ƙari masu yawa.

Tsohuwar Aikin Apache ya kunna shafin kididdigar sabar ga jama'a. Don samun demo na matsayin shafin yanar gizon da ke aiki, ziyarci.

  • https://status.apache.org/

Mun yi amfani da mahallin Gwaji mai zuwa don wannan labarin don bincika ƙarin game da mod_status tare da wasu misalai masu amfani da hotunan allo.

  1. Tsarin Aiki – CentOS 8/7
  2. Aikace-aikacen – Sabar Yanar Gizo ta Apache
  3. Adireshin IP - 5.175.142.66
  4. Root - /var/www/html
  5. Fayil ɗin Kanfigareshan Apache - /etc/httpd/conf/httpd.conf
  6. Tsoffin tashar tashar HTTP - 80 TCP
  7. Saitunan Kanfigareshan Gwaji - httpd -t

Abubuwan da ake buƙata don wannan koyawa shine cewa yakamata ku riga kun san yadda ake girka da kuma daidaita Sabar Apache na asali. Idan ba ku san yadda ake saita Apache ba, karanta labarin mai zuwa wanda zai iya taimaka muku wajen kafa Sabar Yanar Gizo ta Apache naku.

  1. Ƙirƙiri Sabar Yanar Gizo naku da Hosting A Gidan Yanar Gizo a cikin Linux

Yadda ake kunna mod_status a Apache

Tsohuwar shigarwa Apache ya zo tare da kunna mod_status. Idan ba haka ba, tabbatar da kunna shi a cikin fayil ɗin sanyi na Apache.

 vi /etc/httpd/conf/httpd.conf

Nemo kalmar \mod_status ko ci gaba da gungurawa ƙasa har sai kun sami layi mai ɗauke da shi.

#LoadModule status_module modules/mod_status.so

Idan ka ga halin '#' a farkon LoadModule, wannan yana nufin mod_status ba shi da rauni. Cire '#' don kunna mod_status.

LoadModule status_module modules/mod_status.so

Yanzu sake neman kalmar \Location ko gungurawa ƙasa har sai kun sami sashin mod_status wanda yakamata yayi kama da haka.

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

A cikin sashin da ke sama, rashin gamsuwa da layukan umarnin Wuri, SetHandler, da ƙuntatawar adireshi gwargwadon bukatunku. Misali, Ina kiyaye shi cikin sauki tare da Bada oda, hana kuma an yarda da shi ga kowa.

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

Lura: Tsarin da ke sama shine tsohowar saitin gidan yanar gizo na Apache (shafukan yanar gizo guda ɗaya). Idan kun ƙirƙiri ɗaya ko fiye da Apache Virtual Runduna, tsarin da ke sama ba zai yi aiki ba.

Don haka, a zahiri, kuna buƙatar ayyana tsari iri ɗaya don kowane mai watsa shiri na yau da kullun don kowane yanki da kuka saita a cikin Apache. Misali, saitin mai masaukin baki na mod_status zai yi kama da wannan.

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

Saitunan ExtendedStatus suna ƙara ƙarin bayani zuwa shafin ƙididdiga kamar yadda ake amfani da CPU, buƙata ta sakan daya, jimlar zirga-zirga, da dai sauransu. Don kunna shi, shirya fayil ɗin httpd.conf iri ɗaya kuma bincika kalmar \Extended da rashin jin daɗin layin kuma saita matsayi \A kunne don umarnin 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

Yanzu tabbatar da cewa kun kunna daidai kuma ku daidaita shafin uwar garken Apache. Hakanan zaka iya bincika kurakurai a cikin daidaitawar httpd.conf ta amfani da umarni mai zuwa.

 httpd -t

Syntax OK

Da zarar, kun sami syntax yayi kyau, zaku iya sake kunna sabis ɗin httpd.

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

Shafin matsayin Apache zai kasance mai isa ga sunan yankin ku tare da/matsayin uwar garke a URL masu zuwa.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Za ku ga wani abu mai kama da shafi mai zuwa tare da kunna ExtendedStatus.

A cikin hoton da ke sama, zaku iya ganin cewa hanyar haɗin yanar gizo ta HTML, wacce ke nuna duk bayanai game da lokacin lokacin uwar garke, tana aiwatar da Id tare da abokin cinikinta, shafin da suke ƙoƙarin shiga.

Hakanan yana nuna ma'ana da amfani da duk gajerun da aka yi amfani da su don nuna matsayi wanda ke taimaka mana mu fahimci yanayin da kyau.

Hakanan zaka iya sabunta shafin kowane lokaci daƙiƙa (ka ce 5 seconds) don ganin sabbin ƙididdiga. Don saita sabuntawa ta atomatik, da fatan za a ƙara ?refresh=N a ƙarshen URL. Inda N za a iya maye gurbinsu da adadin sakan da kuke son sabunta shafinku.

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

Hakanan zaka iya duba shafin matsayin Apache daga ƙirar layin umarni ta amfani da masu binciken layi na musamman da ake kira links ko lynx. Kuna iya shigar da su ta amfani da tsoho mai sarrafa fakitin utility da ake kira yum kamar yadda aka nuna a ƙasa.

# yum install links

OR

# yum install lynx

Da zarar kun shigar da shi, zaku iya samun ƙididdiga iri ɗaya akan tashar ku ta amfani da umarni mai zuwa.

 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

Kammalawa

Modulin mod_status na Apache kayan aikin sa ido ne mai matukar amfani don sa ido kan ayyukan sabar gidan yanar gizo kuma yana iya nuna matsala da kanta. Don ƙarin bayani karanta matsayi shafi wanda zai iya taimaka maka ka zama mafi nasara mai gudanar da sabar gidan yanar gizo.

  1. Apache mod_status Homepage

Wannan kawai don mod_status ne a yanzu, za mu fito da wasu ƙarin dabaru da nasihu akan Apache a cikin koyawa na gaba. Har sai ku tsaya Geeky kuma ku saurare zuwa linux-console.net kuma kar ku manta da ƙara maganganun ku masu mahimmanci.