Ρύθμιση παρακολούθησης σε πραγματικό χρόνο με Ganglia για πλέγματα και συμπλέγματα διακομιστών Linux


Από τότε που οι διαχειριστές συστημάτων ήταν υπεύθυνοι για τη διαχείριση διακομιστών και ομάδων μηχανών, εργαλεία όπως η παρακολούθηση εφαρμογών ήταν οι καλύτεροι φίλοι τους. Πιθανότατα θα είστε εξοικειωμένοι με εργαλεία όπως το Icinga και το Centreon. Αν και αυτά είναι τα μεγάλα βάρη της παρακολούθησης, η ρύθμιση και η πλήρης αξιοποίηση των δυνατοτήτων τους μπορεί να είναι κάπως δύσκολη για τους νέους χρήστες.

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

Το Ganglia σάς επιτρέπει να ρυθμίσετε πλέγματα (τοποθεσίες) και clusters (ομάδες διακομιστών) για καλύτερη οργάνωση.

Έτσι, μπορείτε να δημιουργήσετε ένα πλέγμα που αποτελείται από όλα τα μηχανήματα σε ένα απομακρυσμένο περιβάλλον και στη συνέχεια να ομαδοποιήσετε αυτά τα μηχανήματα σε μικρότερα σύνολα με βάση άλλα κριτήρια.

Επιπλέον, η διεπαφή ιστού του Ganglia είναι βελτιστοποιημένη για κινητές συσκευές και σας επιτρέπει επίσης να εξάγετε δεδομένα σε μορφές .csv και .json.

Το περιβάλλον δοκιμής μας θα αποτελείται από έναν κεντρικό διακομιστή CentOS 7 (διεύθυνση IP 192.168.0.29) όπου θα εγκαταστήσουμε το Ganglia και ένα Μηχανή Ubuntu 14.04 (192.168.0.32), το πλαίσιο που θέλουμε να παρακολουθούμε μέσω της διεπαφής ιστού του Ganglia.

Σε όλο αυτόν τον οδηγό θα αναφερόμαστε στο σύστημα CentOS 7 ως κύριο κόμβο και στο πλαίσιο Ubuntu ως το μηχάνημα που παρακολουθείται.

Εγκατάσταση και ρύθμιση παραμέτρων Ganglia

Για να εγκαταστήσετε τα βοηθητικά προγράμματα παρακολούθησης στον κύριο κόμβο, ακολουθήστε τα εξής βήματα:

1. Ενεργοποιήστε το αποθετήριο EPEL και, στη συνέχεια, εγκαταστήστε το Ganglia και τα σχετικά βοηθητικά προγράμματα από εκεί:

# yum update && yum install epel-release
# yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web 

Τα πακέτα που είναι εγκατεστημένα στο παραπάνω βήμα μαζί με τα γάγγλια, την ίδια την εφαρμογή, εκτελούν τις ακόλουθες λειτουργίες:

    Το
  1. rrdtool, η βάση δεδομένων Round-Robin, είναι ένα εργαλείο που χρησιμοποιείται για την αποθήκευση και εμφάνιση της διακύμανσης των δεδομένων με την πάροδο του χρόνου χρησιμοποιώντας γραφήματα.
  2. Ο
  3. ganglia-gmetad είναι ο δαίμονας που συλλέγει δεδομένα παρακολούθησης από τους κεντρικούς υπολογιστές που θέλετε να παρακολουθήσετε. Σε αυτούς τους κεντρικούς υπολογιστές και στον κύριο κόμβο είναι επίσης απαραίτητο να εγκαταστήσετε το ganglia-gmond (ο ίδιος ο δαίμονας παρακολούθησης):
  4. Το
  5. ganglia-web παρέχει τη διεπαφή ιστού όπου θα προβάλλουμε τα ιστορικά γραφήματα και τα δεδομένα σχετικά με τα συστήματα παρακολούθησης.

2. Ρυθμίστε τον έλεγχο ταυτότητας για τη διεπαφή ιστού Ganglia (/usr/share/ganglia). Θα χρησιμοποιήσουμε βασικό έλεγχο ταυτότητας όπως παρέχεται από τον Apache.

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

Για να επιτύχετε αυτόν τον στόχο, δημιουργήστε ένα όνομα χρήστη και εκχωρήστε έναν κωδικό πρόσβασης για πρόσβαση σε έναν πόρο που προστατεύεται από τον Apache. Σε αυτό το παράδειγμα, θα δημιουργήσουμε ένα όνομα χρήστη που ονομάζεται adminganglia και θα εκχωρήσουμε έναν κωδικό πρόσβασης της επιλογής μας, ο οποίος θα αποθηκευτεί στο /etc/httpd/auth.basic (μη διστάσετε να επιλέξτε άλλον κατάλογο ή/και όνομα αρχείου – εφόσον ο Apache έχει δικαιώματα ανάγνωσης σε αυτούς τους πόρους, θα είστε εντάξει):

# htpasswd -c /etc/httpd/auth.basic adminganglia

Εισαγάγετε τον κωδικό πρόσβασης για το adminganglia δύο φορές πριν συνεχίσετε.

3. Τροποποιήστε το /etc/httpd/conf.d/ganglia.conf ως εξής:

Alias /ganglia /usr/share/ganglia
<Location /ganglia>
    AuthType basic
    AuthName "Ganglia web UI"
    AuthBasicProvider file
    AuthUserFile "/etc/httpd/auth.basic"
    Require user adminganglia
</Location>

4. Επεξεργασία /etc/ganglia/gmetad.conf:

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

gridname "Home office"

Στη συνέχεια, χρησιμοποιήστε την πηγή_δεδομένων ακολουθούμενη από ένα περιγραφικό όνομα για το σύμπλεγμα (ομάδα διακομιστών), ένα διάστημα δημοσκόπησης σε δευτερόλεπτα και τη διεύθυνση IP του κύριου και των παρακολουθούμενων κόμβων:

data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node

5. Επεξεργασία /etc/ganglia/gmond.conf.

α) Βεβαιωθείτε ότι το μπλοκ συμπλέγματος έχει την εξής εμφάνιση:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

β) Στο μπλοκ udp_send_chanel, σχολιάστε την οδηγία mcast_join:

udp_send_channel   {
  #mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

γ) Τέλος, σχολιάστε τις οδηγίες mcast_join και δεσμεύστε στο μπλοκ udp_recv_channel:

udp_recv_channel {
  #mcast_join = 239.2.11.71 ## comment out
  port = 8649
  #bind = 239.2.11.71 ## comment out
}

Αποθηκεύστε τις αλλαγές και βγείτε.

6. Ανοίξτε τη θύρα 8649/udp και επιτρέψτε στα σενάρια PHP (εκτελούνται μέσω Apache) να συνδεθούν στο δίκτυο χρησιμοποιώντας τον απαραίτητο boolean SELinux:

# firewall-cmd --add-port=8649/udp
# firewall-cmd --add-port=8649/udp --permanent
# setsebool -P httpd_can_network_connect 1

7. Κάντε επανεκκίνηση των Apache, gmetad και gmond. Επίσης, βεβαιωθείτε ότι είναι ενεργοποιημένα για να ξεκινήσουν κατά την εκκίνηση:

# systemctl restart httpd gmetad gmond
# systemctl enable httpd gmetad httpd

Σε αυτό το σημείο, θα πρέπει να μπορείτε να ανοίξετε τη διεπαφή ιστού Ganglia στη διεύθυνση http://192.168.0.29/ganglia και να συνδεθείτε με τα διαπιστευτήρια από το #Βήμα 2.

8. Στον κεντρικό υπολογιστή Ubuntu, θα εγκαταστήσουμε μόνο το ganglia-monitor, το ισοδύναμο του ganglia-gmond στο CentOS:

$ sudo aptitude update && aptitude install ganglia-monitor

9. Επεξεργαστείτε το αρχείο /etc/ganglia/gmond.conf στο πλαίσιο παρακολούθησης. Αυτό θα πρέπει να είναι πανομοιότυπο με το ίδιο αρχείο στον κύριο κόμβο εκτός από τις γραμμές που σχολιάστηκαν στο cluster, udp_send_channel και udp_recv_channel θα πρέπει να είναι ενεργοποιημένο:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

udp_send_channel   {
  mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

udp_recv_channel {
  mcast_join = 239.2.11.71 ## comment out
  port = 8649
  bind = 239.2.11.71 ## comment out
}

Στη συνέχεια, επανεκκινήστε την υπηρεσία:

$ sudo service ganglia-monitor restart

10. Ανανεώστε τη διεπαφή ιστού και θα πρέπει να μπορείτε να προβάλλετε τα στατιστικά στοιχεία και τα γραφήματα και για τους δύο κεντρικούς υπολογιστές μέσα στο πλέγμα του Home office/Cluster Labs ( χρησιμοποιήστε το αναπτυσσόμενο μενού δίπλα στο Πλέγμα οικιακού γραφείου για να επιλέξετε ένα σύμπλεγμα, Εργαστήρια στην περίπτωσή μας):

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

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

Ένα από τα χαρακτηριστικά που προσωπικά βρίσκω πιο ελκυστικά είναι η σύνοψη φιλική προς κινητά, στην οποία μπορείτε να αποκτήσετε πρόσβαση χρησιμοποιώντας την καρτέλα Κινητό. Επιλέξτε το σύμπλεγμα που σας ενδιαφέρει και στη συνέχεια τον μεμονωμένο κεντρικό υπολογιστή:

Περίληψη

Σε αυτό το άρθρο παρουσιάσαμε το Ganglia, μια ισχυρή και επεκτάσιμη λύση παρακολούθησης για πλέγματα και συμπλέγματα διακομιστών. Μη διστάσετε να εγκαταστήσετε, να εξερευνήσετε και να παίξετε με το Ganglia όσο θέλετε (παρεμπιπτόντως, μπορείτε ακόμη και να δοκιμάσετε το Ganglia σε μια επίδειξη που παρέχεται στον επίσημο ιστότοπο του έργου.

Ενώ είστε σε αυτό, θα ανακαλύψετε επίσης ότι πολλές γνωστές εταιρείες τόσο στον κόσμο της πληροφορικής όσο και όχι χρησιμοποιούν το Ganglia. Υπάρχουν πολλοί καλοί λόγοι για αυτό, εκτός από αυτούς που έχουμε μοιραστεί σε αυτό το άρθρο, με την ευκολία χρήσης και τα γραφήματα μαζί με τα στατιστικά (είναι ωραίο να λέμε το όνομα, έτσι δεν είναι;) να είναι πιθανώς στην κορυφή.

Αλλά μην δεχθείτε απλώς τη λέξη μας, δοκιμάστε το μόνοι σας και μη διστάσετε να μας στείλετε μια γραμμή χρησιμοποιώντας την παρακάτω φόρμα σχολίων εάν έχετε οποιεσδήποτε ερωτήσεις.