IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

NAGIOS

INSTAL·LACIÓ

  • Instal·larem la versió 3 del Nagios.
  • Per instal·lar-lo farem servir la següent comada:
[email protected]:~$ sudo apt-get install nagios3
[sudo] password for rafel: 
S'està llegint la llista de paquets… Fet 0%
S'està construint l'arbre de dependències       
S'està llegint la informació de l'estat… Fet%
Els paquets següents s'han instaŀlat automàticament i ja no són necessaris:
  firebird2.5-common firebird2.5-common-doc libafpclient0 libctemplate0
  libfbclient2 libjs-codemirror libjs-jquery-event-drag libjs-jquery-metadata
  libjs-jquery-mousewheel libjs-jquery-tablesorter libjs-jquery-ui libmcrypt4
  libncp libzip2 munin-doc pax python-pysqlite2 shtool spawn-fcgi
Empreu «apt-get autoremove» per a suprimir-los.
S'instaŀlaran els següents paquets extres:
  libgssglue1 libradius1 libtirpc1 nagios-images nagios-plugins
  nagios-plugins-basic nagios-plugins-common nagios-plugins-standard
  nagios3-cgi nagios3-common nagios3-core rpcbind
Paquets suggerits:
  postfix sendmail-bin exim4-daemon-heavy exim4-daemon-light
  nagios-nrpe-plugin
S'instaŀlaran els paquets NOUS següents:
  libgssglue1 libradius1 libtirpc1 nagios-images nagios-plugins
  nagios-plugins-basic nagios-plugins-common nagios-plugins-standard nagios3
  nagios3-cgi nagios3-common nagios3-core rpcbind
0 actualitzats, 13 nous a instaŀlar, 0 a suprimir i 0 no actualitzats.
S'ha d'obtenir 5422 kB d'arxius.
Després d'aquesta operació s'empraran 14,7 MB d'espai en disc addicional.
Voleu continuar [S/n]?


  • Introduïm la clau per al administrador web del Nagios durant la configuració del paquet nagios3-cgi:

550


  • En el cas que ens fes instal·lar un servidor de correu com per exemple el Postfix, si ens pregunta per el tipus de configuració del servidor de correu, escolliríem:
Lloc d'Internet
  • quan pregunti pel nom de màquina deixar el FQDN (nom + domini de la màquina).
  • Finalment us preguntarà pel `password de l'usuari administrador de Nagios (nagiosadmin).

Una vegada instal·lat podem accedir al Nagios introduint la següent URL al navegador.

http://localhost/nagios3

Però ens demana un usuari i una paraula de pas. l'establirem amb:

[email protected]:~$ sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Rafelmelichrecuperacionagios2.png


Introduïm el nou password i confirmem

Rafelmelichdintredelnagios.png


CONFIGURACIÓ

La configuració com marca l'estàndard FHS es fa a la carpeta /etc/nagios3.

Rafelmelichrecuperaciónagios4.png

/etc/nagios3/apache2.conf: És la configuració d'Apache. S'instal·la fen un enllaç simbòlic cap a aquest fitxer a la carpeta etc/apache2/conf.d.

/etc/nagios3/htpasswd.users: Usuari(s) i paraula de pas HTTP. L'usuari per defecte és nagiosadmin i la paraula de pas ens l'ha ha preguntat durant l'instal·lació de Nagios.

El fitxer més important és: /etc/nagios3/nagios.cfg

[email protected]:/$ cat /etc/nagios3/nagios.cfg | grep -v '^#\|^$\|^;'
log_file=/var/log/nagios3/nagios.log
cfg_file=/etc/nagios3/commands.cfg
cfg_dir=/etc/nagios-plugins/config
cfg_dir=/etc/nagios3/conf.d
object_cache_file=/var/cache/nagios3/objects.cache
precached_object_file=/var/lib/nagios3/objects.precache
resource_file=/etc/nagios3/resource.cfg
status_file=/var/cache/nagios3/status.dat
status_update_interval=10
nagios_user=nagios
nagios_group=nagios
check_external_commands=0
command_check_interval=-1
command_file=/var/lib/nagios3/rw/nagios.cmd
external_command_buffer_slots=4096
lock_file=/var/run/nagios3/nagios3.pid
temp_file=/var/cache/nagios3/nagios.tmp
temp_path=/tmp
event_broker_options=-1
log_rotation_method=d
log_archive_path=/var/log/nagios3/archives
use_syslog=1
log_notifications=1
log_service_retries=1
log_host_retries=1
log_event_handlers=1
log_initial_states=0
log_external_commands=1
log_passive_checks=1
service_inter_check_delay_method=s
max_service_check_spread=30
service_interleave_factor=s
host_inter_check_delay_method=s
max_host_check_spread=30
max_concurrent_checks=0
check_result_reaper_frequency=10
max_check_result_reaper_time=30
check_result_path=/var/lib/nagios3/spool/checkresults
max_check_result_file_age=3600
cached_host_check_horizon=15
cached_service_check_horizon=15
enable_predictive_host_dependency_checks=1
enable_predictive_service_dependency_checks=1
soft_state_dependencies=0
auto_reschedule_checks=0
auto_rescheduling_interval=30
auto_rescheduling_window=180
sleep_time=0.25
service_check_timeout=60
host_check_timeout=30
event_handler_timeout=30
notification_timeout=30
ocsp_timeout=5
perfdata_timeout=5
retain_state_information=1
state_retention_file=/var/lib/nagios3/retention.dat
retention_update_interval=60
use_retained_program_state=1
use_retained_scheduling_info=1
retained_host_attribute_mask=0
retained_service_attribute_mask=0
retained_process_host_attribute_mask=0
retained_process_service_attribute_mask=0
retained_contact_host_attribute_mask=0
retained_contact_service_attribute_mask=0
interval_length=60
check_for_updates=1
bare_update_check=0
use_aggressive_host_checking=0
execute_service_checks=1
accept_passive_service_checks=1
execute_host_checks=1
accept_passive_host_checks=1
enable_notifications=1
enable_event_handlers=1
process_performance_data=0
obsess_over_services=0
obsess_over_hosts=0
translate_passive_host_checks=0
passive_host_checks_are_soft=0
check_for_orphaned_services=1
check_for_orphaned_hosts=1
check_service_freshness=1
service_freshness_check_interval=60
service_check_timeout_state=c
check_host_freshness=0
host_freshness_check_interval=60
additional_freshness_latency=15
enable_flap_detection=1
low_service_flap_threshold=5.0
high_service_flap_threshold=20.0
low_host_flap_threshold=5.0
high_host_flap_threshold=20.0
date_format=iso8601
p1_file=/usr/lib/nagios3/p1.pl
enable_embedded_perl=1
use_embedded_perl_implicitly=1
illegal_object_name_chars=`~!$%^&*|'"<>?,()=
illegal_macro_output_chars=`~$&|'"<>
use_regexp_matching=0
use_true_regexp_matching=0
[email protected]
[email protected]
daemon_dumps_core=0
use_large_installation_tweaks=0
enable_environment_macros=1
debug_level=0
debug_verbosity=1
debug_file=/var/log/nagios3/nagios.debug
max_debug_file_size=1000000

La majoria de paràmetres generals no cal modificar-los, les opcions per defecte són correctes. El més important és:

cfg_dir=/etc/nagios3/conf.d

que és la carpeta on es configuren els recursos a monitoritzar.

$ ls /etc/nagios3/conf.d
contacts_nagios2.cfg  generic-host_nagios2.cfg     host-gateway_nagios3.cfg  localhost_nagios2.cfg  timeperiods_nagios2.cfg
extinfo_nagios2.cfg   generic-service_nagios2.cfg  hostgroups_nagios2.cfg    services_nagios2.cfg

Aquí podem configurar:

  • Fitxers de màquines: Per defecte es monitoritza localhosti el gateway (només pings)
    • Localhost (localhost_nagios2.cfg):
    • Gateway (host-gateway_nagios3.cfg):
  • Grups de màquines (hostgroups_nagios2.cfg):
  • Serveis (services_nagios2.cfg): S'apliquen a grups de màquines per fer més ràpida la configuració (http-servers, ping-servers, ssh-servers
  • Contactes (contacts_nagios2.cfg):
  • Plantilla de màquina genèrica (generic-host_nagios2.cfg):
  • Plantilla de servei genèric (generic-service_nagios2.cfg):


Configurem un host

  • En primera instància busquem el trasto a monitoritzar. Començarem amb l'Institut de l'Ebre. Ens dirigim a la pàgina http://guifi.net/ca/InstitutEbre i busquem l'institut de l'Ebre i els trastos que podem monitoritzar.

Rafelmelichnagiosinsebretrastos.png


[email protected]:/$ cd /etc/nagios3/conf.d
[email protected]:/etc/nagios3/conf.d$ sudo cp localhost_nagios2.cfg TortosaINSEbreRB1100.cfg
[email protected]:/etc/nagios3/conf.d$ sudo nano TortosaINSEbreRB1100.cfg

# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
# 

define host{
        use                     generic-host            ; Name of host template to use
        host_name               TortosaINSEbreRB1100
        alias                   TortosaINSEbreRB1100
        address                 10.139.221.97
        }

# Define a service to check the disk space of the root partition
# on the local machine.  Warning if < 20% free, critical if
# < 10% free space on partition.

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Disk Space
        check_command                   check_all_disks!20%!10%
        }



# Define a service to check the number of currently logged in
# users on the local machine.  Warning if > 20 users, critical
# if > 50 users. 

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Current Users
        check_command                   check_users!20!50
        }


# Define a service to check the number of currently running procs
# on the local machine.  Warning if > 250 processes, critical if
# > 400 processes. 

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Total Processes
        check_command                   check_procs!250!400
        }
 
 

# Define a service to check the load on the local machine.
 
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       localhost
        service_description             Current Load
        check_command                   check_load!5.0!4.0!3.0!10.0!6.0!4.0


  • Definim el grup de màquines:
[email protected]:/etc/nagios3/conf.d$ sudo nano hostgroups_nagios2.cfg
 
# Some generic hostgroup definitions

# A simple wildcard hostgroup
define hostgroup {
       hostgroup_name  all
                alias           All Servers
                members         *
        }

# A list of your Debian GNU/Linux servers
define hostgroup {
        hostgroup_name  debian-servers
                alias           Debian GNU/Linux Servers
                members         localhost,TortosaINSEbreRB1100
        } 

# A list of your web servers
define hostgroup {
        hostgroup_name  http-servers
                alias           HTTP servers
                members         localhost,TortosaINSEbreRB1100
        }

# A list of your ssh-accessible servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         localhost,TortosaINSEbreRB1100
        }

Rafelmelichnagiosgrups1.png


Comprovació de la configuració

  • Comprovarem la configuració amb la següent comanda:
[email protected]:/$ sudo nagios3 -v /etc/nagios3/nagios.cfg
 
Nagios Core 3.4.1
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 05-11-2012
License: GPL

Website: http://www.nagios.org
Reading configuration data...
  Read main config file okay...
Processing object config file '/etc/nagios3/commands.cfg'...
Processing object config directory '/etc/nagios-plugins/config'...
Processing object config file '/etc/nagios-plugins/config/disk-smb.cfg'...
Processing object config file '/etc/nagios-plugins/config/tcp_udp.cfg'...
Processing object config file '/etc/nagios-plugins/config/nt.cfg'...
Processing object config file '/etc/nagios-plugins/config/games.cfg'...
Processing object config file '/etc/nagios-plugins/config/mail.cfg'...
Processing object config file '/etc/nagios-plugins/config/flexlm.cfg'...
Processing object config file '/etc/nagios-plugins/config/ssh.cfg'...
Processing object config file '/etc/nagios-plugins/config/snmp.cfg'...
Processing object config file '/etc/nagios-plugins/config/http.cfg'...
Processing object config file '/etc/nagios-plugins/config/load.cfg'...
Processing object config file '/etc/nagios-plugins/config/apt.cfg'...
Processing object config file '/etc/nagios-plugins/config/dhcp.cfg'...
Processing object config file '/etc/nagios-plugins/config/pgsql.cfg'...
Processing object config file '/etc/nagios-plugins/config/telnet.cfg'...
Processing object config file '/etc/nagios-plugins/config/real.cfg'...
Processing object config file '/etc/nagios-plugins/config/fping.cfg'...
Processing object config file '/etc/nagios-plugins/config/rpc-nfs.cfg'...
Processing object config file '/etc/nagios-plugins/config/users.cfg'...
Processing object config file '/etc/nagios-plugins/config/mrtg.cfg'...
Processing object config file '/etc/nagios-plugins/config/ldap.cfg'...
Processing object config file '/etc/nagios-plugins/config/ntp.cfg'...
Processing object config file '/etc/nagios-plugins/config/procs.cfg'...
Processing object config file '/etc/nagios-plugins/config/breeze.cfg'...
Processing object config file '/etc/nagios-plugins/config/ping.cfg'...
Processing object config file '/etc/nagios-plugins/config/netware.cfg'...
Processing object config file '/etc/nagios-plugins/config/mysql.cfg'...
Processing object config file '/etc/nagios-plugins/config/disk.cfg'...
Processing object config file '/etc/nagios-plugins/config/mailq.cfg'...
Processing object config file '/etc/nagios-plugins/config/dummy.cfg'...
Processing object config file '/etc/nagios-plugins/config/radius.cfg'...
Processing object config file '/etc/nagios-plugins/config/ftp.cfg'...
Processing object config file '/etc/nagios-plugins/config/dns.cfg'...
Processing object config file '/etc/nagios-plugins/config/hppjd.cfg'...
Processing object config file '/etc/nagios-plugins/config/news.cfg'...
Processing object config file '/etc/nagios-plugins/config/ifstatus.cfg'...
Processing object config directory '/etc/nagios3/conf.d'...
Processing object config file '/etc/nagios3/conf.d/localhost_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/generic-host_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/hostgroups_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/timeperiods_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/services_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/TortosaINSEbreRB1100.cfg'...
Processing object config file '/etc/nagios3/conf.d/contacts_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/generic-service_nagios2.cfg'...
Processing object config file '/etc/nagios3/conf.d/extinfo_nagios2.cfg'...
Warning: Duplicate definition found for service 'Current Load' on host 'localhost' (config file '/etc/nagios3/conf.d/localhost_nagios2.cfg', starting on line 54)
Warning: Duplicate definition found for service 'Total Processes' on host 'localhost' (config file '/etc/nagios3/conf.d/localhost_nagios2.cfg', starting on line 43)
Warning: Duplicate definition found for service 'Current Users' on host 'localhost' (config file '/etc/nagios3/conf.d/localhost_nagios2.cfg', starting on line 31)
Warning: Duplicate definition found for service 'Disk Space' on host 'localhost' (config file '/etc/nagios3/conf.d/localhost_nagios2.cfg', starting on line 18)
   Read object config files okay...

Running pre-flight check on configuration data...

Checking services...
	Checked 8 services.
Checking hosts...
	Checked 2 hosts.
Checking host groups...
	Checked 4 host groups.
Checking service groups...
	Checked 0 service groups.
Checking contacts...
	Checked 1 contacts.
Checking contact groups... 
	Checked 1 contact groups.
Checking service escalations...
	Checked 0 service escalations.
Checking service dependencies...
	Checked 0 service dependencies.
Checking host escalations...
	Checked 0 host escalations.
Checking host dependencies...
	Checked 0 host dependencies.
Checking commands...
	Checked 153 commands.
Checking time periods...
	Checked 4 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
 
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check
  • Tot pinta correcte.


  • Reiniciem el daemon per iniciar amb la nova configuració.
[email protected]:/$ sudo /etc/init.d/nagios3 restart

Rafelmelichreinicidaemon.png


Monitorització del Node del Institut

  • Verifiquem que ja ens és possible monitoritzar el node de l'Institut.

Monitoritzaciódenodedel'intitut.png



Monitorització TortosaINSEbreCanaletPTP

  • Repetim el procés per al node del canalet.
[email protected]:/$ cd /etc/nagios3/conf.d
[email protected]:/etc/nagios3/conf.d$ sudo cp localhost_nagios2.cfg TortosaINSEbreCanaletPTP.cfg
[email protected]:/etc/nagios3/conf.d$ sudo nano TortosaINSEbreCanaletPTP.cfg

# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#

define host{
        use                     generic-host            ; Name of host template to use
        host_name               TortosaINSEbreCanaletPTP
        alias                   TortosaINSEbreCanaletPTP
        address                 10.139.221.108
        }
[email protected]:/etc/nagios3/conf.d$ sudo nano hostgroups_nagios2.cfg
# Some generic hostgroup definitions 

# A simple wildcard hostgroup
define hostgroup {
        hostgroup_name  all
                alias           All Servers
                members         *
        }

# A list of your Debian GNU/Linux servers
define hostgroup {
        hostgroup_name  debian-servers
                alias           Debian GNU/Linux Servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP
        }

# A list of your web servers
define hostgroup {
        hostgroup_name  http-servers
                alias           HTTP servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP
        }

# A list of your ssh-accessible servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP
        }
[email protected]:/$ sudo nagios3 -v /etc/nagios3/nagios.cfg
.....
....
...
..
.
Total Warnings: 0
Total Errors:   0
 
Things look okay - No serious problems were detected during the pre-flight check
[email protected]:/$ sudo /etc/init.d/nagios3 restart
 * Restarting nagios3 monitoring daemon nagios3

Rafelmelichnagioscanalet11.png



Monitorització acacha.org

  • En primer lloc esbrinem la ip de acacha.org
[email protected]:/$ dig acacha.org
; <<>> DiG 9.9.2-P1 <<>> acacha.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49221
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;acacha.org.			IN	A

;; ANSWER SECTION:
acacha.org.		75029	IN	A	185.13.76.40

;; AUTHORITY SECTION:
acacha.org.		75028	IN	NS	ns15.ovh.net.
acacha.org.		75028	IN	NS	dns15.ovh.net.

;; Query time: 1 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Wed Jun 19 20:10:34 2013
;; MSG SIZE  rcvd: 101
  • Tornem a repetir exactament el mateix procés que en les anteriors ocasions:
[email protected]:/$ cd /etc/nagios3/conf.d
[email protected]:/etc/nagios3/conf.d$ sudo cp localhost_nagios2.cfg acacha.cfg
[sudo] password for rafel: 
[email protected]:/etc/nagios3/conf.d$ sudo nano acacha.cfg

define host{
       use                     generic-host            ; Name of host template to use
       host_name               acacha.org
       alias                   acacha.org
       address                 185.13.76.40
       }
...
....
.....
[email protected]:/etc/nagios3/conf.d$ sudo nano hostgroups_nagios2.cfg

# Some generic hostgroup definitions

# A simple wildcard hostgroup
define hostgroup {
        hostgroup_name  all
                alias           All Servers
                members         *
        }

# A list of your Debian GNU/Linux servers
define hostgroup {
        hostgroup_name  debian-servers
                alias           Debian GNU/Linux Servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP
        }

# A list of your web servers
define hostgroup {
        hostgroup_name  http-servers
                alias           HTTP servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP,acacha.org
        }

# A list of your ssh-accessible servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         localhost,TortosaINSEbreRB1100,TortosaINSEbreCanaletPTP,acacha.org
        }
[email protected]:/$ sudo nagios3 -v /etc/nagios3/nagios.cfg
[email protected]:/$ sudo /etc/init.d/nagios3 restart 

Rafelmelichnagiosacacha11.png


Rafelmelichnagiosacacha12.png