Πως να εγκαταστήσετε το Nagios και να κάνετε Monitoring έναν Debian 8 Server .

21/09/2019 / Monitoring
set-up-nagios
Τι είναι το Nagios ;

Το Nagios είναι λογισμικό ανοιχτού κώδικα που πραγματοποιεί monitoring σε συστήματα .  Είναι πολύ χρήσιμο γιατί κρατάει έναν κατάλογο με τους server και τσεκάρει ποια critical services εκτελούνται . 'Ετσι ανά πάσα στιγμή που θα υπάρχει κάποιο σφάλμα σε ένα service ,  μας ειδοποιεί ώστε να το λύσουμε . 

Πριν την εγκατάσταση :

Για να εγκαταστήσουμε το Nagios σε Debian χρειαζόμαστε :

  • Έναν λογαριασμό χρήστη με sudo δικαιώματα

  • Να έχει γίνει εγκατάσταση της ομάδας λογισμικόυ LAMP(Linux Apache MySQL PHP) 

Εγκατάσταση

Πρέπει πρώτα να δημιουργήσουμε έναν χρήστη και μια ομάδα χρηστών που θα είναι υπέυθυνοι για να τρέχουν το Nagios .

sudo useradd nagios
sudo groupadd nagcmd

sudo usermod -a -G nagcmd nagios

Για να είναι ολοκληρωμένη η εγκατάσταση του Nargios πρέπει πρώτα να κατεβάσουμε κάποια πακέτα με την apt -get .

sudo apt-get update

sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip

Επίσης πρέπει να κατεβάσουμε το source code απο το επίσημο site .

Το κατεβάζουμε με την curl

cd ~

curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Το κάνουμε exctract

tar xvf nagios-*.tar.gz

Αλλάζουμε στο exctracted directory

cd nagios-*

Κάνουμε πρώτα ενα configuration

./configure --with-nagios-group=nagios --with-command-group=nagcmd

κάνουμε compile

make all

Και τέλος κάνουμε την εγκατάσταση με τις παρακάτω εντολές :

sudo make install

sudo make install-commandmode

sudo make install-init

sudo make install-config

sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

 

Εγκατάσταση των Plugins

Κατεβάζουμε τα plugins με την curl . Τη δεδομένη στιγμή η τελευταία έκδοση είναι η 2.1.1 , αλλα μπορείτε να το τσεκάρετε απο την επίσημη σελίδα του Nagios .

cd ~

curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Κάνουμε exctract

tar xvf nagios-plugins-*.tar.gz

Αλλάζουμε το directory που γίνεται το ectraction

cd nagios-plugins-*

Πριν φτιάξουμε το build πρέπει να γίνουν κάποιες ρυθμίσεις

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Κάνουμε compile

Make

Κάνουμε εγκατάσταση

sudo make install

Εγκατάσταση του NRPE .

Τo NRPE είναι ένα addon του Nagios που επιτρέπει την απομακρυσμένη εκτέλεση των plugins τoυ Nagios σε Linux μηχανήματα

Βρίκουμε από την επίσημη σελίδα του Nagios την τελευταία έκδοση και την κατεβάζουμε με την curl

cd ~

curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Κάνουμε extract

tar xvf nrpe-*.tar.gz

Αλλάζουμε στο directory του extraction

cd nrpe-*

Ρυθμίζουμε το NRPE με τις ακόλουθες εντολές :

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Κάνουμε build και install

make all

sudo make install

sudo make install-xinetd

sudo make install-daemon-config

Ανοίγουμε το σκριπτ  xinetd startup με έναν text editor

sudo vi /etc/xinetd.d/nrpe

Αλλάζουμε τη γραμμή που λέει only_from προσθέτοντας στο τέλος της την private IP του Nagios Server μας .

only_from = 127.0.0.1 10.132.224.168

Αποθήκευση και έξοδος . Τώρα μόνο O Nagios Server θα έχει άδεια να επικοινωνεί με το NRPE .

 

Ρύθμιση του Nagios

Αυτές είναι οι βασικές ρυθμίσεις του Nagios και θα χρειαστεί να γίνουν μόνο μια φορα .

Ανοίγουμε το κύριο configuration file του Nagios με ένα text editor :

sudo vi /usr/local/nagios/etc/nagios.cfg

Κάνουμε uncomment την παρακάτω γραμμή , διαγράφοντας το #

#cfg_dir=/usr/local/nagios/etc/servers

Αποθήκευση και έξοδος .

Τώρα πρέπει να δημιουργήσουμε το directory , που θα αποθηκεύονται τα configuration files για κάθε server που θα κπανουμε monitoring .

sudo mkdir /usr/local/nagios/etc/servers

 

Αποκτώντας πρόσβαση στο web interface του Nagios

Ανοίγουμε έναν browser και μπαίνουμε στον Nagios Server μας .

http://nagios_server_public_ip/nagios

Αρχικά θα μας ζητηθούν username και password

authent.PNG

Αφού εισάγουμε σωστά τα στοιχεία θα πάπε στην αρχική του Nagios . Εκεί πατάμε το σύνδεσμο hosts , που μας δείχνει ποιους hosts το Nagios κάνει monitoring .

 

nagios.PNG

Επειδή ακόμα δέν έχουμε διαλέξει κάποιον host , μας δείχνει μόνο τον localhost .

 

Host Monitoring με το NRPE

Τώρα θα δούμε πως μπορούμε να προσθέσουμε έναν νέο host στο Nagios , ετσι ώστε να τον κάνουμε monitoring . Επαναλαμβάνουμε αυτη τη διαδικασία για κάθε νέο host που θέλουμε να προσθέσουμε .

Στον server που θα κάνουμε monitoring , πρέπει να εγκαταστήσουμε τa nagios plugins και το NRPE .

sudo apt-get update

sudo apt-get install nagios-plugins nagios-nrpe-server 

Τώρα ανοίγουμε το NRPE configuration file με έναν text editor

sudo vi /etc/nagios/nrpe.cfg

Βρίσκουμε την εντολή allowed_hosts και βάζοντας ένα κόμμα προσθέτουμε την private ΙP του Nagios Servers μας .

allowed_hosts=127.0.0.1 , 10.132.224.168

Κάνουμε Αποθήκευση και τώρα το NRPE είναι ρυθμισμένο να δέχεται requets απο τον Nagios Server μας .

Για να πραγματοποιηθούν οι αλλαγές πρέπει να κάνουμε restart το NRPE :

sudo service nagios-nrpe-server restart

Ως τώρα έχουμε ρυθμίσει τους hosts  που θέλουμε να κάνουμε monitoring . Για να ξεκινήσει όμως η διαδικασία  πρέπει να προσθέσουμε αυτούς τους hosts στο Nagios Server.

Για κάθε host που θέλουμε να κάνουμε monitoring πρέπει να φτιάξουμε ένα configuration file στο /usr/local/nagios/etc/servers/

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

Μέσα στο configuration file γράφουμε τα παρακάτω :

define host {
       use                             linux-server
       host_name                       yourhost
       alias                           My first Apache server
       address                         10.132.234.52
       max_check_attempts              5
       check_period                    24x7
       notification_interval           30
       notification_period             24x7
}

Τα κόκκινα πεδία πρέπει να αντικατασταθούν με τα στοιχεία του κάθε host!

Τώρα θα μπορούμε να βλέπουμε αν ο host είναι online ή offline . Πολλές φορές όμως δεν μας αρκεί αυτό , και θέλουμε να κάνουμε monitoring και συγκεκριμένα services .

Για να το κάνουμε αυτό , γράφουμε ένα service block στο configuration file  , για κάθε service που θέλουμε να κάνουμε monitoring .

Παρακάτω είναι 2 παραδείγματα για τα services Ping και SSH :

define service {
       use                             generic-service
       host_name                       yourhost
       service_description             PING
       check_command                   check_ping!100.0,20%!500.0,60%
}

define service {
       use                             generic-service
       host_name                       yourhost
       service_description             SSH
       check_command                   check_ssh
       notifications_enabled           0
}

Για να γίνουν οι αλλαγές στο Nagios το κάνουμε restart :

sudo service nagios reload

Είμαστε έτοιμοι . Τώρα μπορούμε να χρησιμοποιήσουμε το web interface του Nagios για να κάνουμε monitoring τους host και τα services .

ΣΥΝΔΕΣΗ

Αίτηση επικοινωνίας

ΠΑΝΩ