Τρόπος παρακολούθησης του φόρτου του διακομιστή 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 με μερικά πρακτικά παραδείγματα και στιγμιότυπα οθόνης.
- Λειτουργικό σύστημα – CentOS 8/7
- Εφαρμογή – Διακομιστής Ιστού Apache
- Διεύθυνση IP – 5.175.142.66
- DocumentRoot – /var/www/html
- Αρχείο διαμόρφωσης Apache – /etc/httpd/conf/httpd.conf
- Προεπιλεγμένη θύρα HTTP – 80 TCP
- Ρυθμίσεις διαμόρφωσης δοκιμής – httpd -t
Οι προϋποθέσεις για αυτό το σεμινάριο είναι ότι θα πρέπει να γνωρίζετε ήδη πώς να εγκαταστήσετε και να ρυθμίσετε έναν Βασικό διακομιστή Apache. Εάν δεν ξέρετε πώς να ρυθμίσετε τον Apache, διαβάστε το παρακάτω άρθρο που μπορεί να σας βοηθήσει στη ρύθμιση του δικού σας διακομιστή Web Apache.
- Δημιουργήστε τον δικό σας διακομιστή ιστού και φιλοξενήστε έναν ιστότοπο σε 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 είναι ένα πολύ εύχρηστο εργαλείο παρακολούθησης για την παρακολούθηση της απόδοσης της δραστηριότητας ενός διακομιστή ιστού και μπορεί να επισημάνει τα προβλήματα από μόνη της. Για περισσότερες πληροφορίες, διαβάστε τη σελίδα κατάστασης που μπορεί να σας βοηθήσει να γίνετε πιο επιτυχημένος διαχειριστής διακομιστή ιστού.
- Αρχική σελίδα Apache mod_status
Αυτό είναι όλο για το mod_status προς το παρόν, θα βρούμε μερικά ακόμη κόλπα και συμβουλές για το Apache σε μελλοντικά σεμινάρια. Μέχρι τότε, μείνετε στο Geeky και συντονισμένοι στο linux-console.net και μην ξεχάσετε να προσθέσετε τα πολύτιμα σχόλιά σας.