Nagios

Εγκατάσταση

Καταρχάς, εγκαταστήστε το πακέτο nagios στον server01. Εισάγετε σε τερματικό:

sudo apt-get install nagios3 nagios-nrpe-plugin

Θα σας ζητηθεί να εισάγετε κωδικό για τον χρήστη nagiosadmin. Τα στοιχεία του χρήστη αποθηκεύονται στο /etc/nagios3/htpasswd.users. Για να αλλάξετε τον κωδικό του nagiosadmin ή για να προσθέσετε νέους χρήστες στα σενάρια Nagios CGI, χρησιμοποιήστε το htpasswd από το πακέτο apache2-utils.

Π.χ., για να αλλάξετε τον κωδικό του χρήστη nagiosadmin εισάγετε:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Για να προσθέσετε χρήστη εισάγετε:

sudo htpasswd /etc/nagios3/htpasswd.users steve

Στη συνέχεια, εγκαταστήστε το πακέτο nagios-nrpe-server στον server02. Από τον server02 εισάγετε σε τερματικό:

sudo apt-get install nagios-nrpe-server
[Σημείωση]

Το NRPE σας επιτρέπει να εκτελείτε τοπικούς ελέγχους σε απομακρυσμένους host. Αυτό μπορείτε να το κάνετε και μέσω άλλων προσθέτων του Nagios ή χρησιμοποιώντας άλλους ελέγχους.

Συνοπτική περιγραφή ρυθμίσεων

Τα αρχεία ρυθμίσεων και ελέγχου του Nagios περιέχονται σε ορισμένους καταλόγους.

  • /etc/nagios3: περιέχει αρχεία ρυθμίσεων για τη λειτουργία της υπηρεσίας, των αρχείων CGI, των host nagios, κτλ.

  • /etc/nagios-plugins: περιέχει αρχεία ρυθμίσεων για τους ελέγχους υπηρεσιών.

  • /etc/nagios: περιέχει τα αρχεία ρυθμίσεων του nagios-nrpe-server στον απομακρυσμένο host.

  • /usr/lib/nagios/plugins/: εδώ αποθηκεύονται τα εκτελέσιμα αρχεία των ελέγχων. Για να ενημερωθείτε για τις επιλογές ενός ελέγχου χρησιμοποιήστε την επιλογή -h.

    Π.χ.: /usr/lib/nagios/plugins/check_dhcp -h

Πληθώρα ελέγχων του Nagios μπορούν να ρυθμιστούν ώστε να εκτελούνται για οποιοδήποτε δοσμένο υπολογιστή. Στο παράδειγμα το Nagios θα ρυθμιστεί ώστε να ελέγχει το διαθέσιμο χώρο στο δίσκο, το DNS και μία ομάδα host MySQL. Ο έλεγχος του DNS θα γίνει στον server02, ενώ η ομάδα MySQL θα συμπεριλαμβάνει τόσο τον server01 όσο και τον server02.

[Σημείωση]

Δείτε το “HTTPD - Apache2 Διακομιστής Ιστού” για λεπτομέρειες σχετικά με τη ρύθμιση του Apache, το Κεφάλαιο 7, Υπηρεσία ονομάτων τομέα (DNS) για το DNS και το “MySQL” για τη MySQL.

Επιπλέον, υπάρχουν κάποιοι όροι των οποίων η κατανόηση θα έπρεπε να διευκολύνει τη ρύθμιση του Nagios:

  • Host: εξυπηρετητής, σταθμός εργασίας, συσκευή δικτύου, κτλ. που παρακολουθείται.

  • Ομάδα host: μια ομάδα παρεμφερών host. Π.χ. μια ομάδα που θα περιλαμβάνει όλους τους εξυπηρετητές ιστού, τους εξυπηρετητές αρχείων, κτλ.

  • Υπηρεσία: η παρακολουθούμενη υπηρεσία στον host. Π.χ. HTTP, DNS, NFS, κτλ.

  • Ομάδα υπηρεσιών: σας επιτρέπει να ομαδοποιείτε πολλαπλές υπηρεσίες. Χρησιμεύει π.χ. στην ομαδοποίηση πολλαπλών HTTP.

  • Επαφή: άτομο που λαμβάνει κοινοποίηση όταν συμβαίνει κάτι. Το Nagios μπορεί να ρυθμιστεί έτσι ώστε να αποστέλλει email, μηνύματα SMS, κτλ.

Από προεπιλογή το Nagios ελέγχει το HTTP, το χώρο στο δίσκο, το SSH, και τους τρέχοντες χρήστες, διεργασίες, και φόρτο του τοπικού host. Επίσης, το Nagios εκτελεί έλεγχο ping της πύλης (gateway).

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

Ρυθμίσεις

    1. Καταρχάς, δημιουργήστε ένα αρχείο ρυθμίσεων host για τον server02. Εισάγετε στο τερματικό:

      sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/server02.cfg
      
      [Σημείωση]

      Στο παραπάνω και στα παρακάτω παραδείγματα, αντικαταστήστε τα "server01", "server02", 172.18.100.100 και 172.18.100.101 με τα ονόματα και τις διευθύνσεις IP των δικών σας εξυπηρετητών.

    2. Στη συνέχεια, τροποποιήστε το /etc/nagios3/conf.d/server02.cfg:

      define host{
              use                     generic-host            ; Name of host template to use
              host_name               server02
              alias                   Server 02
              address                 172.18.100.101
      }
      
      # check DNS service.
      define service {
              use                             generic-service
              host_name                       server02
              service_description             DNS
              check_command                   check_dns!172.18.100.101
      }
      
    3. Επανεκκινήστε την υπηρεσία nagios για να ενεργοποιήσετε τις νέες ρυθμίσεις:

      sudo /etc/init.d/nagios3 restart
      
    1. Τώρα, προσθέστε έναν ορισμό υπηρεσίας για τον έλεγχο MySQL, προσθέτοντας τα ακόλουθα στο /etc/nagios3/conf.d/services_nagios2.cfg:

      # check MySQL servers.
      define service {
              hostgroup_name                  mysql-servers
              service_description             MySQL
              check_command                   check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS
              use                             generic-service
              notification_interval           0 ; set > 0 if you want to be renotified
      }
      
    2. Τώρα πρέπει να οριστεί μια ομάδα host mysqsl-servers hostgroup. Τροποποιήστε το /etc/nagios3/conf.d/hostgroups_nagios2.cfg προσθέτοντας τα εξής:

      # MySQL hostgroup.
      define hostgroup {
              hostgroup_name  mysql-servers
                      alias           MySQL servers
                      members         localhost, server02
              }
      
    3. Ο έλεγχος του Nagios θα πρέπει να πιστοποιηθεί στην MySQL. Για να προσθέσετε έναν χρήστη nagios στην MySQL εισάγετε:

      mysql -u root -p -e "create user nagios identified by 'secret';"
      
      [Σημείωση]

      Ο χρήστης nagios θα προστεθεί σε όλους τους host της ομάδας mysql-servers.

    4. Επανεκκινήστε το nagios για να αρχίσετε να ελέγχετε τους εξυπηρετητές MySQL.

      sudo /etc/init.d/nagios3 restart
      
    1. Τέλος, ρυθμίστε το NRPE έτσι ώστε να ελέγχει το χώρο στο δίσκο του server02.

      Στον server01 προσθέστε τον έλεγχο υπηρεσίας στο /etc/nagios3/conf.d/server02.cfg:

      # NRPE disk check.
      define service {
              use                             generic-service
              host_name                       server02
              service_description             nrpe-disk
              check_command                   check_nrpe_1arg!check_all_disks!172.18.100.101
      }
      
    2. Τώρα, στον server02, τροποποιήστε το /etc/nagios/nrpe.cfg κάνοντας τις παρακάτω αλλαγές:

      allowed_hosts=172.18.100.100
      

      Και από κάτω, στην περιοχή ορισμών εντολών, προσθέστε:

      command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e
      
    3. Τέλος, επανεκκινήστε το nagios-nrpe-server:

      sudo /etc/init.d/nagios-nrpe-server restart
      
    4. Επίσης, στον server01, επανεκκινήστε το nagios:

      sudo /etc/init.d/nagios3 restart
      

Τώρα θα πρέπει να μπορείτε να βλέπετε τους ελέγχους host και υπηρεσιών στα αρχεία Nagios CGI. Για να αποκτήσετε πρόσβαση, πηγαίνετε στη σελίδα http://server01/nagios3 από τον περιηγητή σας. Θα σας ζητηθεί το όνομα και ο κωδικός χρήστη του nagiosadmin.

Αναφορές

Αυτή η ενότητα δεν άγγιξε παρά μόνο επιφανειακά τα διάφορα χαρακτηριστικά του Nagios. Τα πακέτα nagios-plugins-extra και nagios-snmp-plugins περιέχουν πολλούς περισσότερους ελέγχους υπηρεσιών.

  • Για περισσότερες πληροφορίες ανατρέξτε στον ιστότοπο του Nagios.

  • Και συγκεκριμένα, στον ιστότοπο Online Τεκμηρίωσης.

  • Επίσης, υπάρχει ένας κατάλογος με βιβλία για το Nagios και την παρακολούθηση δικτύου:

  • The Nagios Ubuntu Wiki page also has more details.