Kā uzraudzīt Apache tīmekļa servera ielādes un lapu statistiku


Šajā rakstā jūs uzzināsiet, kā uzraudzīt Apache tīmekļa servera ielādi un pieprasījumus, izmantojot mod_status moduli jūsu Linux izplatījumos, piemēram, CentOS, RHEL un Fedora.

Kas ir mod_status?

mod_status ir Apache modulis, kas palīdz uzraudzīt tīmekļa servera ielādi un pašreizējos httpd savienojumus ar HTML saskarni, kurai var piekļūt, izmantojot tīmekļa pārlūkprogrammu.

Apache mod_status parāda vienkāršu HTML lapu, kurā ir informācija par tīmekļa servera pašreizējo statistiku, ieskaitot.

  • Kopējais ienākošo pieprasījumu skaits
  • kopējais baitu un skaitīto serveru skaits
  • Web servera centrālā procesora izmantošana
  • Servera ielāde
  • Servera darbības laiks
  • kopējā datplūsma
  • Kopējais dīkstāvē strādājošo skaits
  • PID ar attiecīgajiem klientiem un daudz ko citu.

Noklusējuma Apache projekts ļāva viņu servera statistikas lapu plašākai sabiedrībai. Lai apskatītu aizņemtās vietnes statusa lapas demonstrāciju, apmeklējiet vietni.

  • https://status.apache.org/

Šajā rakstā mēs izmantojām šādu testēšanas vidi, lai vairāk izpētītu modmodatus, izmantojot dažus praktiskus piemērus un ekrānuzņēmumus.

  1. Operētājsistēma - CentOS 8/7
  2. Lietojumprogramma - Apache tīmekļa serveris
  3. IP adrese - 5.175.142,66
  4. DocumentRoot -/var/www/html
  5. Apache konfigurācijas fails - /etc/httpd/conf/httpd.conf
  6. Noklusētais HTTP ports - 80 TCP
  7. Konfigurācijas iestatījumu pārbaude - httpd -t

Šīs apmācības priekšnoteikumi ir tādi, ka jums jau jāzina, kā instalēt un konfigurēt pamata Apache serveri. Ja nezināt, kā iestatīt Apache, izlasiet šo rakstu, kas jums var palīdzēt izveidot savu Apache tīmekļa serveri.

  1. Izveidojiet savu tīmekļa serveri un vietnes mitināšanu operētājsistēmā Linux

Kā iespējot mod_status Apache

Noklusējuma Apache instalācijai ir iespējots mod_status. Ja nē, pārliecinieties, vai to iespējojat Apache konfigurācijas failā.

 vi /etc/httpd/conf/httpd.conf

Meklējiet vārdu “mod_status” vai turpiniet ritināt uz leju, līdz atrodat līniju, kurā ir.

#LoadModule status_module modules/mod_status.so

Ja “LoadModule” sākumā redzat rakstzīmi “#”, tas nozīmē, ka mod_status ir atspējots. Noņemiet “#”, lai iespējotu mod_status.

LoadModule status_module modules/mod_status.so

Tagad atkal meklējiet vārdu “Atrašanās vieta” vai ritiniet uz leju, līdz atrodat sadaļu mod_status, kurai vajadzētu izskatīties šādi.

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

Iepriekš norādītajā sadaļā noņemiet komentārus no Location Location, SetHandler un direktoriju ierobežojumiem atbilstoši savām vajadzībām. Piemēram, es rīkojos vienkārši ar rīkojumu Atļaut, noraidīt un tas ir atļauts visiem.

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

Piezīme: Iepriekš norādītā konfigurācija ir noklusējuma Apache noklusējuma vietnes (vienas vietnes) konfigurācija. Ja esat izveidojis vienu vai vairākus Apache virtuālos resursdatorus, iepriekš minētā konfigurācija nedarbosies.

Tātad būtībā katram virtuālajam resursdatoram ir jānosaka tā pati konfigurācija visiem domēniem, kurus esat konfigurējis Apache. Piemēram, mod_status virtuālā resursdatora konfigurācija izskatīsies šādi.

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

Iestatījumi “ExtendedStatus” statistikas lapā pievieno vairāk informācijas, piemēram, procesora lietojumu, pieprasījumu sekundē, kopējo datplūsmu utt. Lai to iespējotu, rediģējiet to pašu failu httpd.conf un meklējiet vārdu “Extended” un komentējiet līniju un iestatiet statuss “Ieslēgts” attiecībā uz ExtendedStatus direktīvu.

# 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

Tagad pārliecinieties, vai esat pareizi iespējojis un konfigurējis Apache servera statusa lapu. Izmantojot šo komandu, varat arī pārbaudīt, vai nav kļūdu konfigurācijā httpd.conf.

 httpd -t

Syntax OK

Kad sintakse ir kārtībā, varat restartēt pakalpojumu httpd.

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

Apache statusa lapa būs pieejama, izmantojot jūsu domēna nosaukumu ar “/ server-status” šajos URL.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Jūs redzēsiet kaut ko līdzīgu šai lapai ar iespējotu ExtendedStatus.

Iepriekš minētajā momentuzņēmumā varat redzēt, ka HTML interfeiss, kas parāda visu informāciju par servera darbības laiku, apstrādā Id ar attiecīgo klientu - lapu, kurai viņi mēģina piekļūt.

Tas arī parāda visu saīsinājumu nozīmi un lietojumu, kas tiek izmantoti statusa parādīšanai, kas mums palīdz labāk izprast situāciju.

Varat arī atsvaidzināt lapu katru sekundi (teiksim, 5 sekundes), lai redzētu atjaunināto statistiku. Lai iestatītu automātisko atsvaidzināšanu, lūdzu, URL beigās pievienojiet “? Refresh = N”. Kur N var aizstāt ar sekunžu skaitu, kurā vēlaties, lai jūsu lapa tiktu atsvaidzināta.

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

Apache statusa lapu var apskatīt arī no komandrindas interfeisa, izmantojot īpašās komandrindas pārlūkprogrammas, sauktas par saitēm vai lūšiem. Tos var instalēt, izmantojot noklusējuma pakotņu pārvaldnieka utilītu ar nosaukumu yum, kā parādīts zemāk.

# yum install links

OR

# yum install lynx

Kad esat instalējis, varat saņemt tādu pašu statistiku savā terminālā, izmantojot šo komandu.

 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

Secinājums

Apache mod_status modulis ir ļoti ērts uzraudzības rīks, lai uzraudzītu tīmekļa servera darbību un var pats izcelt problēmas. Lai iegūtu papildinformāciju, izlasiet statusa lapu, kas var palīdzēt kļūt par veiksmīgāku tīmekļa servera administratoru.

  1. Apache mod_status mājas lapa

Pagaidām tas viss attiecas uz mod_status, nākamajās apmācībās mēs nāksim klajā ar dažiem citiem trikiem un padomiem par Apache. Pēc tam palieciet Geeky un piesakieties vietnē linux-console.net un neaizmirstiet pievienot savus vērtīgos komentārus.