Παρακολούθηση πόρων διακομιστή με Collectd-web και Apache CGI σε Linux


Αυτό το σεμινάριο θα συζητήσει πώς μπορείτε να εγκαταστήσετε και να εκτελέσετε τη διεπαφή Collectd-web, η οποία είναι ένα εργαλείο παρακολούθησης ιστού front-end για τον δαίμονα Collectd, σε συνδυασμό με το Apache CGI διεπαφή για την παραγωγή γραφικών εξόδων html για την παρακολούθηση πλαισίων Linux.

Στο τέλος του άρθρου θα παρουσιάσουμε επίσης πώς μπορείτε να προστατεύσετε τη διεπαφή Collectd-web χρησιμοποιώντας τον μηχανισμό ελέγχου ταυτότητας Apache .hpasswd.

Απαιτήσεις

Η απαίτηση αυτού του άρθρου είναι ότι πρέπει να έχετε εγκαταστήσει τα Collectd και Collectd-Web στο σύστημά σας Linux. Για να εγκαταστήσετε αυτά τα πακέτα, πρέπει να ακολουθήσετε τα Βήματα #1 και #2 από το προηγούμενο άρθρο αυτής της σειράς στη διεύθυνση:

  1. Εγκαταστήστε το Collectd και το Collectd-Web στο Linux

Ακολουθήστε μόνο δύο βήματα από τον παραπάνω σύνδεσμο:

Step 1: Install Collectd Service 
Step 2: Install Collectd-Web and Dependencies 

Μόλις ολοκληρωθούν επιτυχώς αυτά τα δύο απαιτούμενα πράγματα, μπορείτε να συνεχίσετε περαιτέρω οδηγίες σε αυτό το άρθρο για να ρυθμίσετε τις παραμέτρους του Collectd-web με το Apache CGI.

Βήμα 1: Εγκατάσταση του διακομιστή Web Apache

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

# apt-get install apache2	[On Debian based Systems]
# yum install httpd		[On RedHat based Systems]

2. Μετά την εγκατάσταση του Apache, αλλάξτε τον κατάλογο στην προεπιλεγμένη ρίζα εγγράφων διακομιστή ιστού (που βρίσκεται κάτω από /var/www/html/ ή /var/www διαδρομή συστήματος και κλωνοποιήστε το έργο Collectd-web Github εκδίδοντας τις παρακάτω εντολές:

# cd /var/www/html
# git clone https://github.com/httpdss/collectd-web.git

Επίσης, κάντε το ακόλουθο σενάριο Collectd-web εκτελέσιμο εκδίδοντας την ακόλουθη εντολή:

# chmod +x /var/www/html/collectd-web/cgi-bin/graphdefs.cgi

Βήμα 2: Ενεργοποιήστε το Apache CGI (σενάρια .cgi) για τον προεπιλεγμένο κεντρικό υπολογιστή

3. Προκειμένου ο Apache να εκτελέσει τα σενάρια CGI που βρίσκονται κάτω από τον προεπιλεγμένο κατάλογο cgi-bin HTML Collectd-web, πρέπει να ενεργοποιήσετε ρητά τη διεπαφή Apache CGI για σενάρια Bash (με .cgi επέκταση) αλλάζοντας τον προεπιλεγμένο κεντρικό υπολογιστή διαθέσιμοι ιστότοποι και προσθέτοντας το παρακάτω μπλοκ δηλώσεων.

Στα συστήματα Debian

Ανοίξτε πρώτα το προεπιλεγμένο αρχείο διαμόρφωσης κεντρικού υπολογιστή Apache για επεξεργασία με το πρόγραμμα επεξεργασίας nano:

# nano /etc/apache2/sites-available/000-default.conf

Ενώ το αρχείο είναι ανοιχτό για επεξεργασία, προσθέστε το ακόλουθο μπλοκ οδηγιών κάτω από την οδηγία Document Root όπως φαίνεται στην παρακάτω εικόνα:

<Directory /var/www/html/collectd-web/cgi-bin>
                Options Indexes ExecCGI
                AllowOverride All
                AddHandler cgi-script .cgi
                Require all granted
</Directory>

Αφού ολοκληρώσετε την επεξεργασία του αρχείου, κλείστε το με CTRL + o και κλείστε το nano editor (CTRL+x), στη συνέχεια ενεργοποιήστε τη μονάδα Apache CGI και επανεκκινήστε τον διακομιστή με τη σειρά για να εφαρμόσετε όλες τις αλλαγές που έγιναν μέχρι στιγμής εκδίδοντας τις παρακάτω εντολές:

# a2enmod cgi cgid
# service apache2 restart
OR
# systemctl restart apache2.service     [For systemd init scripts]

Στα συστήματα RedHat

4. Για να ενεργοποιήσετε τη διεπαφή Apache CGI για CentOS/RHEL, ανοίξτε το αρχείο ρύθμισης παραμέτρων httpd.conf Apache και προσθέστε τις ακόλουθες γραμμές στο κάτω μέρος του αρχείου:

# nano /etc/httpd/conf/httpd.conf

Προσθέστε το ακόλουθο απόσπασμα στο αρχείο httpd.conf.

ScriptAlias /cgi-bin/ “/var/www/html/collectd-web/cgi-bin"
Options FollowSymLinks ExecCGI
AddHandler cgi-script .cgi .pl

Για να εφαρμόσετε αλλαγές, επανεκκινήστε το httpd daemon εκδίδοντας την ακόλουθη εντολή:

# service httpd restart
OR
# systemctl restart httpd        [For systemd init scripts]

Βήμα 3: Περιήγηση στη διεπαφή συλλογικού ιστού

5. Για να επισκεφτείτε τη διεπαφή Collectd-web και να οπτικοποιήσετε στατιστικά στοιχεία σχετικά με τον υπολογιστή σας που έχουν συλλεχθεί μέχρι στιγμής, ανοίξτε ένα πρόγραμμα περιήγησης και πλοηγηθείτε στο μηχάνημά σας Διεύθυνση IP/collectd- web/ τοποθεσία URI χρησιμοποιώντας το πρωτόκολλο HTTP.

http://192.168.1.211/collect-web/

Βήμα 4: Προστασία με κωδικό πρόσβασης Collectd-web URL χρησιμοποιώντας τον έλεγχο ταυτότητας Apache

6. Σε περίπτωση που θέλετε να περιορίσετε την πρόσβαση στη διεπαφή Collectd-web προστατεύοντάς την χρησιμοποιώντας τον μηχανισμό ελέγχου ταυτότητας Apache (.htpasswd), ο οποίος απαιτεί επισκέπτες για να εισαγάγετε ένα όνομα χρήστη και έναν κωδικό πρόσβασης για πρόσβαση σε έναν πόρο Ιστού.

Για να το κάνετε αυτό, πρέπει να εγκαταστήσετε το πακέτο apache2-utils και να δημιουργήσετε ένα σύνολο διαπιστευτηρίων για τοπικό έλεγχο ταυτότητας. Για να επιτύχετε αυτόν τον στόχο, εκδώστε πρώτα την ακόλουθη εντολή για να εγκαταστήσετε το πακέτο apache2-utils:

# apt-get install apache2-utils	        [On Debian based Systems]
# yum install httpd-tools		[On RedHat based Systems]

7. Στη συνέχεια, δημιουργήστε ένα όνομα χρήστη και έναν κωδικό πρόσβασης που θα αποθηκευτούν σε ένα κρυφό τοπικό αρχείο .htpass που βρίσκεται στον προεπιλεγμένο κεντρικό υπολογιστή του Apache Collectd-web διαδρομή εκδίδοντας την παρακάτω εντολή:

# htpasswd -c /var/www/html/collectd-web/.htpass  your_username

Προσπαθήστε να προστατεύσετε αυτό το αρχείο εκχωρώντας τα ακόλουθα δικαιώματα:

# chmod 700 /var/www/html/collectd-web/.htpass
# chown www-data /var/www/html/collectd-web/.htpass

8. Στο επόμενο βήμα, αφού δημιουργήσετε το αρχείο .htpass, ανοίξτε τον προεπιλεγμένο κεντρικό υπολογιστή Apache για επεξεργασία και δώστε εντολή στον διακομιστή να χρησιμοποιήσει το htpasswd basic έλεγχος ταυτότητας από την πλευρά του διακομιστή προσθέτοντας το ακόλουθο μπλοκ οδηγιών όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:

<Directory /var/www/html/collectd-web >
                AuthType Basic
                AuthName "Collectd Restricted Page"
                AuthBasicProvider file
                AuthUserFile /var/www/html/collectd-web/.htpass 
                Require valid-user
</Directory>

9. Το τελευταίο βήμα για να αντικατοπτριστούν οι αλλαγές είναι η επανεκκίνηση του διακομιστή Apache εκδίδοντας την παρακάτω εντολή και επισκεφθείτε τη σελίδα URL Coollectd-web ως περιγράφεται παραπάνω.

Θα πρέπει να εμφανιστεί ένα αναδυόμενο παράθυρο στην ιστοσελίδα που θα ζητά τα διαπιστευτήρια ελέγχου ταυτότητας. Χρησιμοποιήστε το όνομα χρήστη και τον κωδικό πρόσβασης που δημιουργήθηκαν νωρίτερα για να αποκτήσετε πρόσβαση στη διεπαφή ιστού Collectd.

# service apache2 restart		[On Debian based Systems]
# service httpd restart			[On RedHat based Systems]

OR
---------------- For systemd init scripts ----------------
# systemctl restart apache2.service		
# systemctl restart http.service