===== Nagios - Παρακολούθηση Υπηρεσιών ===== ==== Εγκατάσταση ==== aptitude install nagios3 ==== Frontends ==== Θα συνδεθούμε στο βασικό web-interface του nagios Δημιουργούμε ένα νέο αρχείο htpasswd.users με έναν νέο χρήστη nagiosadmin htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin Aνοίγουμε την ιστοσελίδα http://localhost/nagios3/ και εισάγουμε το παραπάνω όνομα χρήστη και τον κωδικό που επιλέξαμε ==== Ρυθμίσεις ==== === Ορισμός hosts === Δημιουργούμε ένα νέο αρχείο host στον φάκελο /etc/nagios3/conf.d/ π.χ. my-host_nagios2.cfg, ως εξής define host{ use generic-host ; Inherit default values from a template host_name remotehost ; The name we're giving to this host alias Some Remote Host ; A longer name associated with the host address 192.168.1.50 ; IP address of the host hostgroups http-servers ; Host groups this host is associated with } === Ορισμός services === Θα ορίσουμε τα services που θα παρακολουθούμε στο ίδιο αρχείο my-host_nagios2.cfg == HTTP == define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description HTTP check_command check_http } == SSH == Για να ελέγξουμε την υπηρεσία ssh define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SSH check_command check_ssh } Για να ελέγξουμε την υπηρεσία ssh σε άλλη θύρα π.χ. 1111 χρησιμοποιούμε την εντολή ως check_ssh_port (όπως έχει οριστεί στο αρχείο ρυθμίσεων plugins /etc/nagios-plugins/config/ssh.cfg). Τροποποιούμε λοιπόν ως εξής define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SSH check_command check_ssh_port!1111 } == FTP == Για να ελέγξουμε την υπηρεσία ftp define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description FTP check_command check_ftp } Για να ελέγξουμε την υπηρεσία ftp σε άλλη θύρα π.χ. 1111 τροποποιούμε το αρχείο ρυθμίσεων plugins /etc/nagios-plugins/config/ftp.cfg αρχικά ως εξής @@define command{ @@ command_name check_ftp -- command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' ++ command_line /usr/lib/nagios/plugins/check_ftp -H '$HOSTADDRESS$' '$ARG1$' } Στην συνέχεια τροποποιούμε το αρχειο ρυθμίσεων του host (π.χ. my-host_nagios2.cfg) define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description FTP check_command check_ftp!-p 1111 } == SMTP == define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description SMTP check_command check_smtp } == POP == define service{ use generic-service ; Inherit default values from a template host_name remotehost service_description POP3 check_command check_pop } === Hostgroups === Εάν έχουμε παραπάνω από έναν servers (π.χ. s1,s2) που τρέχουν όμοιες υπηρεσίες, μπορούμε να ορίσουμε ένα hosτgroup == Ορισμός hostgroup και hosts σε αυτό == Στο αρχείο /etc/nagios3/conf.d/hostgroups_nagios2.cfg. Π.χ. # A list of your servers define hostgroup { hostgroup_name my-servers alias my servers members s1,s2 } Στην συνέχεια ορίζουμε το αρχείο my-servers-hosts_nagios2.cfg και εισάγουμε π.χ. define host{ use generic-host ; Inherit default values from a template host_name s2 ; The name we're giving to this host alias Some Remote Host ; A longer name associated with the host address s2.mydomain.gr ; IP address of the host check_command check_http } define host{ use generic-host ; Inherit default values from a template host_name s1 ; The name we're giving to this host alias Some Remote Host ; A longer name associated with the host address s1.mydomain.gr ; IP address of the host check_command check_http } == Κοινές υπηρεσίες == Τέλος ορίζουμε το αρχείο my-servers-services_nagios2.cfg με τις κοινές υπηρεσίες. Π.χ. define service{ use generic-service ; Inherit default values from a template hostgroup_name my-servers service_description HTTP check_command check_http } == Εξαίρεση hosts από hostgroup == .. Εάν έχουμε κάποιο hostgroup που εφαρμόζεται σε όλους τους hosts π.χ. all αλλά δεν θέλουμε την εφαρμογή του σε συγκεκριμένους hosts (π.χ. s1,s2), τους εξαιρούμε ως εξής # A simple wildcard hostgroup define hostgroup { hostgroup_name all alias All Servers members *,!s1,!s2 } === Στατιστικά === == Διαγραφή == Για να διαγράψουμε τα στατιστικά που έχουν καταγραφεί διαγράφουμε (ή μετακινούμε σε έναν φάκελο backup για πιο σίγουρα) το αρχείο retention.dat και τα παλιά logs /etc/init.d/nagios3 stop mkdir /var/lib/nagios3/backup mv /var/lib/nagios3/retention.dat /var/lib/nagios3/backup/ mv /var/log/nagios3/archives/ /var/lib/nagios3/backup /etc/init.d/nagios3 start ==== Αντιμετώπιση προβλημάτων ==== === Ο host δείχνει down γιατί δεν απαντάει σε ping για λόγους ασφαλείας === Στο αρχείο ρυθμίσεων του host π.χ. /etc/nagios3/conf.d/my-host_nagios2.cfg προσθέτουμε στο define host την παρακάτω γραμμή ώστε να μην γίνεται έλεγχος ping αλλά π.χ. http check_command check_http ==== TODO ==== *Να στείλω ερώτηση σε bug-forum του debian γιατί με τον ορισμό check_ssh check_ftp στο /etc/nagios-plugins/config/ ξεφεύγει από το official documentation χωρίς να βοηθάει αντίστοιχα *Όταν θα στήσω σε server να ελέγξω τοπικά check_mailq_postfix (βλ. /etc/nagios-plugins/config/mail.cfg * Ο έλεγχος ssmtp δεν δούλεψε, να το διερευνήσω * Να βρω έναν έλεγχο και για mysql * Να καταγράψω τις αλλαγές για webmin,usermin (παρόμοιες με ftp) * Υπο συνθήκη έλεγχος. Ώστε η μη διαθεσιμότητα του υπολογιστή που κάνει τον έλεγχο να μην επηρεάσει την καταγραφή της διαθεσιμότητας των απομακρυσμένων υπηρεσιών ==== laptop scp command ==== scp /mnt/hda2/sync/nagios.txt s2://home/linuxfanclub/public_html/dokuwiki/data/pages/el/linux/debian/server/nagios.txt ==== Πηγές ==== * file:///usr/share/nagios3/htdocs/index.html * official : http://www.nagios.org/support/ * howto debian : * http://www.debianhelp.co.uk/nagiosinstall.htm * http://wiki.tryphon.org/How_to_install_Nagios_under_Debian * howto gentoo : http://gentoo-wiki.com/HOWTO_Install_Nagios * book : http://www.nagiosbook.org * jumpstart guide : http://www.thegeekstuff.com/2008/05/nagios-30-jumpstart-guide-for-red-hat-overview-installation-and-configuration/ * wiki : * http://linadd.org/wiki/Nagios * frontends : * 10 web-frontends : http://www.ducea.com/2008/01/16/10-nagios-web-frontends/ * oreon : http://www.debianhelp.co.uk/oreon.htm * secondary server : * www.cs.helsinki.fi/u/niklande/opetus/SemK07/paper/pervila.pdf * Official documentation in section * Redundant and Failover Network Monitoring * Determining Status and Reachability of Network Hosts * Passive Host State Translation