Τρόπος παρακολούθησης του φόρτου του διακομιστή Web του Apache και των στατιστικών σελίδων


Σε αυτό το άρθρο, θα μάθετε πώς να παρακολουθείτε το φορτίο και τα αιτήματα διακομιστή ιστού Apache χρησιμοποιώντας τη λειτουργική μονάδα mod_status στις διανομές Linux σας, όπως CentOS, RHEL και Fedora.

Τι είναι το mod_status;

Το mod_status είναι μια λειτουργική μονάδα Apache που βοηθά στην παρακολούθηση του φόρτου του διακομιστή ιστού και των τρεχουσών συνδέσεων httpd με μια διεπαφή HTML στην οποία είναι δυνατή η πρόσβαση μέσω ενός προγράμματος περιήγησης ιστού.

Η mod_status του Apache εμφανίζει μια απλή σελίδα HTML που περιέχει τις πληροφορίες σχετικά με τα τρέχοντα στατιστικά στοιχεία του διακομιστή ιστού, συμπεριλαμβανομένων.

  • Συνολικός αριθμός εισερχόμενων αιτημάτων
  • Συνολικός αριθμός byte και μετρήσεις διακομιστή
  • Η χρήση της CPU του Webserver
  • Φόρτωση διακομιστή
  • Χρόνος λειτουργίας διακομιστή
  • Συνολική κίνηση
  • Συνολικός αριθμός αδρανών εργαζομένων
  • PID με τους αντίστοιχους πελάτες και πολλά άλλα.

Το προεπιλεγμένο Apache Project ενεργοποίησε τη σελίδα στατιστικών στοιχείων διακομιστή τους στο ευρύ κοινό. Για να έχετε μια επίδειξη της σελίδας κατάστασης του πολυάσχολου ιστότοπου, επισκεφτείτε.

  • https://status.apache.org/
Περιβάλλον Δοκιμών

Χρησιμοποιήσαμε το ακόλουθο Περιβάλλον δοκιμής για αυτό το άρθρο για να εξερευνήσουμε περισσότερα σχετικά με την mod_status με μερικά πρακτικά παραδείγματα και στιγμιότυπα οθόνης.

  1. Λειτουργικό σύστημα – CentOS 8/7
  2. Εφαρμογή – Διακομιστής Ιστού Apache
  3. Διεύθυνση IP – 5.175.142.66
  4. DocumentRoot – /var/www/html
  5. Αρχείο διαμόρφωσης Apache – /etc/httpd/conf/httpd.conf
  6. Προεπιλεγμένη θύρα HTTP – 80 TCP
  7. Ρυθμίσεις διαμόρφωσης δοκιμής – httpd -t

Οι προϋποθέσεις για αυτό το σεμινάριο είναι ότι θα πρέπει να γνωρίζετε ήδη πώς να εγκαταστήσετε και να ρυθμίσετε έναν Βασικό διακομιστή Apache. Εάν δεν ξέρετε πώς να ρυθμίσετε τον Apache, διαβάστε το παρακάτω άρθρο που μπορεί να σας βοηθήσει στη ρύθμιση του δικού σας διακομιστή Web Apache.

  1. Δημιουργήστε τον δικό σας διακομιστή ιστού και φιλοξενήστε έναν ιστότοπο σε Linux

Πώς να ενεργοποιήσετε το mod_status στο Apache

Η προεπιλεγμένη εγκατάσταση του Apache παρέχεται με ενεργοποιημένη την mod_status. Εάν όχι, φροντίστε να το ενεργοποιήσετε στο αρχείο διαμόρφωσης του Apache.

[root@tecmint ~]# vi /etc/httpd/conf/httpd.conf

Αναζητήστε τη λέξη "mod_status " ή συνεχίστε να κάνετε κύλιση προς τα κάτω μέχρι να βρείτε μια γραμμή που περιέχει.

#LoadModule status_module modules/mod_status.so

Αν δείτε έναν χαρακτήρα ‘#’ στην αρχή του "LoadModule", αυτό σημαίνει ότι το mod_status είναι απενεργοποιημένο. Καταργήστε το "#" για να ενεργοποιήσετε το mod_status.

LoadModule status_module modules/mod_status.so

Διαμόρφωση mod_status

Τώρα αναζητήστε ξανά τη λέξη "Τοποθεσία " ή κάντε κύλιση προς τα κάτω μέχρι να βρείτε μια ενότητα για 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>

Στην παραπάνω ενότητα, καταργήστε το σχόλιο των γραμμών για Οδηγία τοποθεσίας, SetHandler, και τους περιορισμούς καταλόγου σύμφωνα με τις ανάγκες σας. Για παράδειγμα, το διατηρώ απλό με το Παραγγελία να επιτρέπεται, άρνηση και επιτρέπεται για όλους.

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

Σημείωση: Η παραπάνω διαμόρφωση είναι η προεπιλεγμένη ρύθμιση παραμέτρων για τον προεπιλεγμένο ιστότοπο του Apache (μεμονωμένος ιστότοπος). Εάν έχετε δημιουργήσει έναν ή περισσότερους εικονικούς κεντρικούς υπολογιστές Apache, η παραπάνω διαμόρφωση δεν θα λειτουργήσει.

Επομένως, βασικά, πρέπει να ορίσετε την ίδια διαμόρφωση για κάθε εικονικό κεντρικό υπολογιστή για τυχόν τομείς που έχετε ρυθμίσει στο Apache. Για παράδειγμα, η διαμόρφωση εικονικού κεντρικού υπολογιστή για το 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

Οι ρυθμίσεις "ExtendedStatus" προσθέτουν περισσότερες πληροφορίες στη σελίδα στατιστικών στοιχείων, όπως χρήση CPU, αίτημα ανά δευτερόλεπτο, συνολική επισκεψιμότητα , κ.λπ. Για να το ενεργοποιήσετε, επεξεργαστείτε το ίδιο αρχείο httpd.conf και αναζητήστε τη λέξη "Extended " και αφαιρέστε το σχόλιο της γραμμής και ορίστε την κατάσταση "Ενεργό< ” για την οδηγία 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

Κάντε επανεκκίνηση του Apache

Τώρα βεβαιωθείτε ότι έχετε ενεργοποιήσει και ρυθμίσει σωστά τη σελίδα κατάστασης διακομιστή Apache. Μπορείτε επίσης να ελέγξετε για τα σφάλματα στη διαμόρφωση httpd.conf χρησιμοποιώντας την ακόλουθη εντολή.

[root@tecmint ~]# httpd -t

Syntax OK

Μόλις δείτε ότι η σύνταξη είναι OK, μπορείτε να επανεκκινήσετε την υπηρεσία httpd.

[root@tecmint ~]# service httpd restart
OR
[root@tecmint ~]# systemctl restart httpd
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]

Πρόσβαση στη σελίδα mod_status

Η σελίδα κατάστασης του Apache θα είναι προσβάσιμη μέσω του ονόματος τομέα σας με το "/server-status" στα ακόλουθα URL.

http://serveripaddress/server-status

OR

http://serev-hostname/server-status

Θα δείτε κάτι παρόμοιο με την ακόλουθη σελίδα με ενεργοποιημένη την ExtendedStatus.

Στο παραπάνω στιγμιότυπο, μπορείτε να δείτε ότι μια διεπαφή HTML, η οποία εμφανίζει όλες τις πληροφορίες σχετικά με τον χρόνο λειτουργίας διακομιστή, το Αναγνωριστικό διεργασίας με την αντίστοιχη πελάτη, τη σελίδα στην οποία προσπαθούν να αποκτήσουν πρόσβαση.

Δείχνει επίσης τη σημασία και τη χρήση όλων των συντομογραφιών που χρησιμοποιούνται για την εμφάνιση της κατάστασης που μας βοηθά να κατανοήσουμε καλύτερα την κατάσταση.

Μπορείτε επίσης να ανανεώνετε τη σελίδα κάθε δευτερόλεπτα (π.χ. 5 δευτερόλεπτα) για να δείτε τα ενημερωμένα στατιστικά στοιχεία. Για να ορίσετε την αυτοματοποιημένη ανανέωση, προσθέστε το "?refresh=N" στο τέλος της URL. Όπου το N μπορεί να αντικατασταθεί με τον αριθμό των δευτερολέπτων που θέλετε να ανανεωθεί η σελίδα σας.

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

Προβολή σελίδας κατάστασης γραμμής εντολών

Μπορείτε επίσης να προβάλετε τη σελίδα κατάστασης του Apache από τη διεπαφή γραμμής εντολών χρησιμοποιώντας τα ειδικά προγράμματα περιήγησης γραμμής εντολών που ονομάζονται σύνδεσμοι ή λυγξ. Μπορείτε να τα εγκαταστήσετε χρησιμοποιώντας το προεπιλεγμένο βοηθητικό πρόγραμμα διαχείρισης πακέτων που ονομάζεται yum όπως φαίνεται παρακάτω.

yum install links

OR

yum install lynx

Μόλις εγκαταστήσετε το, μπορείτε να λάβετε τα ίδια στατιστικά στοιχεία στο τερματικό σας χρησιμοποιώντας την ακόλουθη εντολή.

[root@tecmint ~]# links http://serveripaddress/server-status
OR
[root@tecmint ~]# lynx http://serveripaddress/server-status
OR
[root@tecmint ~]#  /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

συμπέρασμα

Η ενότητα mod_status του Apache είναι ένα πολύ εύχρηστο εργαλείο παρακολούθησης για την παρακολούθηση της απόδοσης της δραστηριότητας ενός διακομιστή ιστού και μπορεί να επισημάνει τα προβλήματα από μόνη της. Για περισσότερες πληροφορίες, διαβάστε τη σελίδα κατάστασης που μπορεί να σας βοηθήσει να γίνετε πιο επιτυχημένος διαχειριστής διακομιστή ιστού.

  1. Αρχική σελίδα Apache mod_status

Αυτό είναι όλο για το mod_status προς το παρόν, θα βρούμε μερικά ακόμη κόλπα και συμβουλές για το Apache σε μελλοντικά σεμινάρια. Μέχρι τότε, μείνετε στο Geeky και συντονισμένοι στο linux-console.net και μην ξεχάσετε να προσθέσετε τα πολύτιμα σχόλιά σας.