CLOUD CONCEPT
Νερατζιωτίσσης 15, Μαρούσι, Αθήνα, 15124, Αττική
+30 211 8005 401
info@c2.gr
Το 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 με την 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
Τ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 και θα χρειαστεί να γίνουν μόνο μια φορα .
Ανοίγουμε το κύριο 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
Ανοίγουμε έναν browser και μπαίνουμε στον Nagios Server μας .
http://nagios_server_public_ip/nagios
Αρχικά θα μας ζητηθούν username και password
Αφού εισάγουμε σωστά τα στοιχεία θα πάπε στην αρχική του Nagios . Εκεί πατάμε το σύνδεσμο hosts , που μας δείχνει ποιους hosts το Nagios κάνει monitoring .
Επειδή ακόμα δέν έχουμε διαλέξει κάποιον host , μας δείχνει μόνο τον localhost .
Τώρα θα δούμε πως μπορούμε να προσθέσουμε έναν νέο 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 .