Hvernig á að fylgjast með hleðslu Apache vefþjóns og tölfræði síðu


Í þessari grein muntu læra hvernig á að fylgjast með álagi Apache vefþjóns og beiðnum með því að nota mod_status eininguna í Linux dreifingum þínum eins og CentOS, RHEL og Fedora.

Hvað er mod_status?

mod_status er Apache eining sem hjálpar til við að fylgjast með hleðslu vefþjóns og núverandi httpd tengingum með HTML viðmóti sem hægt er að nálgast í gegnum vafra.

Mod_status Apache sýnir látlausa HTML síðu sem inniheldur upplýsingar um núverandi tölfræði vefþjónsins þar á meðal.

  • Heildarfjöldi beiðna sem berast
  • Heildarfjöldi bæta og fjölda netþjóns
  • Örgjörvanotkun á vefþjóni
  • Hlaða netþjóns
  • Spenntur netþjóns
  • Heildarumferð
  • Heildarfjöldi aðgerðalausra starfsmanna
  • PID með viðkomandi viðskiptavinum og margt fleira.

Sjálfgefið Apache Project gerði tölfræðisíðu netþjónsins þeirra kleift fyrir almenning. Til að fá kynningu á stöðusíðu annasama vefsíðunnar skaltu fara á.

  • https://status.apache.org/

Við höfum notað eftirfarandi prófunarumhverfi fyrir þessa grein til að kanna meira um mod_status með nokkrum hagnýtum dæmum og skjámyndum.

  1. Stýrikerfi – CentOS 8/7
  2. Forrit – Apache vefþjónn
  3. IP tölu – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Apache stillingarskrá – /etc/httpd/conf/httpd.conf
  6. Sjálfgefið HTTP tengi – 80 TCP
  7. Prófunarstillingar – httpd -t

Forsendur þessarar kennslu eru að þú ættir nú þegar að vita hvernig á að setja upp og stilla Basic Apache Server. Ef þú veist ekki hvernig á að setja upp Apache skaltu lesa eftirfarandi grein sem gæti hjálpað þér við að setja upp þinn eigin Apache vefþjón.

  1. Búðu til þinn eigin vefþjón og hýstu vefsíðu í Linux

Hvernig á að virkja mod_status í Apache

Sjálfgefin Apache uppsetning kemur með mod_status virkt. Ef ekki, vertu viss um að virkja það í Apache stillingarskránni.

 vi /etc/httpd/conf/httpd.conf

Leitaðu að orðinu „mod_status“ eða haltu áfram að fletta niður þar til þú finnur línu sem inniheldur.

#LoadModule status_module modules/mod_status.so

Ef þú sérð „#“ staf í upphafi „LoadModule“ þýðir það að mod_status er óvirkt. Fjarlægðu '#' til að virkja mod_status.

LoadModule status_module modules/mod_status.so

Leitaðu nú aftur að orðinu Staðsetning eða skrunaðu niður þar til þú finnur hluta fyrir mod_status sem ætti að líta út eins og eftirfarandi.

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

Í hlutanum hér að ofan, hafðu athugasemdir við línurnar fyrir staðsetningartilskipun, SetHandler og möpputakmarkanir í samræmi við þarfir þínar. Til dæmis, ég er að hafa það einfalt með pöntuninni leyfa, neita og það er leyfilegt fyrir alla.

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

Athugið: Ofangreind stilling er sjálfgefna stillingin fyrir sjálfgefna Apache vefsíðu (einn vefsíða). Ef þú hefur búið til einn eða fleiri Apache sýndargestgjafa, mun uppsetningin hér að ofan ekki virka.

Svo í grundvallaratriðum þarftu að skilgreina sömu stillingar fyrir hvern sýndargestgjafa fyrir hvaða lén sem þú hefur stillt í Apache. Til dæmis mun sýndarhýsingarstillingin fyrir mod_status líta svona út.

<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“ stillingarnar bæta við frekari upplýsingum á tölfræðisíðuna eins og örgjörvanotkun, beiðni á sekúndu, heildarumferð o.s.frv. Til að virkja það, breyttu sömu httpd.conf skránni og leitaðu að orðinu „Extended“ og Hættu að skrifa athugasemdir við línuna og stilltu stöðuna „On“ fyrir ExtendedStatus tilskipunina.

# 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

Gakktu úr skugga um að þú hafir virkjað og stillt Apache-stöðusíðuna rétt. Þú getur líka athugað hvort villurnar séu í httpd.conf stillingunum með því að nota eftirfarandi skipun.

 httpd -t

Syntax OK

Þegar þú færð setningafræði er í lagi, þú getur endurræst httpd þjónustuna.

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

Apache stöðusíðan verður aðgengileg í gegnum lénið þitt með „/server-status“ á eftirfarandi vefslóð.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Þú munt sjá eitthvað svipað og eftirfarandi síðu með ExtendedStatus virkt.

Í skyndimyndinni hér að ofan geturðu séð að HTML viðmót, sem sýnir allar upplýsingar um spenntur miðlara, vinnur auðkenni með viðkomandi viðskiptavini, síðunni sem þeir eru að reyna að komast inn á.

Það sýnir einnig merkingu og notkun allra skammstafana sem notaðar eru til að sýna stöðuna sem hjálpar okkur að skilja ástandið betur.

Þú getur líka endurnýjað síðuna í hvert sinn sem sekúndur (t.d. 5 sekúndur) til að sjá uppfærða tölfræði. Til að stilla sjálfvirka endurnýjun, vinsamlegast bættu við „?refresh=N“ í lok vefslóðarinnar. Þar sem hægt er að skipta út N fyrir fjölda sekúndna sem þú vilt að síðan þín verði endurnýjuð.

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

Þú getur líka skoðað Apache stöðusíðuna frá skipanalínuviðmótinu með því að nota sérstaka skipanalínuvafra sem kallast tenglar eða lynx. Þú getur sett þau upp með því að nota sjálfgefna pakkastjórnunarforritið sem heitir yum eins og sýnt er hér að neðan.

# yum install links

OR

# yum install lynx

Þegar þú hefur sett upp geturðu fengið sömu tölfræði á flugstöðinni þinni með því að nota eftirfarandi skipun.

 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

Niðurstaða

Mod_status eining Apache er mjög handhægt eftirlitstæki til að fylgjast með frammistöðu virkni vefþjóns og getur sjálft varpa ljósi á vandamál. Fyrir frekari upplýsingar skaltu lesa stöðusíðuna sem getur hjálpað þér að verða farsælli stjórnandi vefþjóns.

  1. Apache mod_status Heimasíða

Það er allt fyrir mod_status í bili, við munum koma með fleiri brellur og ábendingar um Apache í framtíðarnámskeiðum. Þangað til vertu nörd og stilltu þig á linux-console.net og ekki gleyma að bæta við verðmætum athugasemdum þínum.