Monitorización basica de UNIX – *BSD – GNU/Linux en Nagios

Anteriormente ya hemos hablado de Nagios. Podéis ver el manual de la instalación AQUI

Pues ahora vamos a monitorizar una maquina GNU/Linux (Debian) pero puede servir para cualquier GNU/Linux y Unix, Para su monitorización vamos a utilizar el protocolo SNMP(Si no lo sabéis instalar en  UNIX – *BSD – GNU/Linux AQUI tenemos un manual) y los chequeos van a ser de Memoria, CPU, Disco y PING.

Una vez ya tenemos instalado y configurado NAGIOS Y SNMP vamos a empezar a monitorizar.

Definir los comandos: 

para definir tenemos que añadir los siguientes comandos al fichero commands.cfg, este fichero estará… dependiendo de la instalación que habríais realizado:

vi /etc/nagios3/commands.cfg

Y añadimos lo siguiente:

 

define command{
command_name check_lnxmem_snmp
command_line $USER1$/check_snmp_mem.pl -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$
}

define command{
command_name check_lnxload_snmp
command_line /usr/bin/perl $USER1$/check_snmp_load.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -T netsl -w $ARG2$ -c $ARG3$
}

define command{
command_name check_disk_snmp
command_line /usr/bin/perl $USER1$/check_disk_snmp.pl -H $HOSTADDRESS$ -s $ARG1$ -d $ARG2$ -u $ARG3$ -w $ARG4$ -c $ARG5$
}

define command{
command_name check_lnxcpu_snmp
command_line /usr/bin/perl $USER1$/check_snmp_load.pl -H $HOSTADDRESS$ -C $ARG1$ -2 -T netsc -w $ARG2$ -c $ARG3$
}

define command{
command_name check_ping
command_line $USER1$/docu $ARG3$ “$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 1″
}

Creamos las carpetas donde vamos a alojar los archivos de configuración 

mkdir /etc/nagios3/etc/cfg/Linux/

Accedemos al direcctorio 

cd /etc/nagios3/etc/cfg/Linux/

Creamos el fichero hosts.cfg con el siguiente contenido

 

define hostgroup {
hostgroup_name grupo-linux
alias Microsoft Windows Servers
members cacti_192.168.1.111
}

#Ping to hosts

define service {
use linux-srv
hostgroup_name grupo-linux
service_description linux cacti – ping
check_command check_ping!100.0,10%!500.0,20%
}
#Hosts Definition

 

define host {
use linux-srv
host_name cacti_192.168.1.111
alias cacti
address 192.168.1.111
}

Creamos el fichero templete.cfg en el cual vamos a definir los servicios. 

 

define host {
name linux-srv
flap_detection_enabled 1
notification_period 24×7
notification_options d,u,r
retain_status_information 1
retain_nonstatus_information 1
contact_groups grupo-linux
# check_command check_command_blank
max_check_attempts 3
register 0

}

 

define service {
name linux-srv
check_period 24×7
flap_detection_enabled 1
notification_period 24×7
notification_options w,u,c,r
parallelize_check 1
retain_status_information 1
retain_nonstatus_information 1
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups grupo-linux
register 0
}

 Definimos el archivo de contacto contacts.cfg

define contact{
contact_name grupo-linux
alias grupo-linux
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email rokitoh@redorbita.com
}
define contactgroup {
contactgroup_name grupo-linux
alias Grupo de Linux
members grupo-linux
}

Y por ultimo definimos los chequeos cacti.cfg

define service {
use linux-srv
host_name cacti_192.168.1.111
service_description Uso CPU
check_command check_lnxcpu_snmp!redorbita!80!90
}

define service {
use linux-srv
host_name cacti_192.168.1.111
service_description Carga CPU
check_command check_lnxload_snmp!redorbita!15,10,5!30,25,20
}
define service {
use linux-srv
host_name cacti_192.168.1.111
service_description Uso MEM
#check_command check_lnxmem_snmp!redorbita!90,90!95,95
check_command check_lnxmem_snmp!redorbita!95,60!99,90
}
define service {
use linux-srv
host_name cacti_192.168.1.111
service_description FileSystem [Raiz /]
check_command check_disk_snmp!redorbita!/!MB!80%!90%
}

 

Una vez creado el fichero tenemos que añadir la ruta de los mismos en el archivo nagios.cfg

vi /etc/nagios3/nagios.cfg

Al final del archivo añadimos lo siguiente:

 ############## Monitorización Linux #############

cfg_file=/etc/nagios3/etc/cfg/Linux/templete.cfg
cfg_file=/etc/nagios3/etc/cfg/Linux/hosts.cfg
cfg_file=/etc/nagios3/etc/cfg/Linux/cacti.cfg
cfg_file=/etc/nagios3/etc/cfg/Linux/contacts.cfg

 

Chequeamos para ver si no hay ningún error en los archivos de configuración

rokitoh@nagios:/etc/nagios3/etc/cfg/Linux# nagios3 -v /etc/nagios3/nagios.cfg

Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
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 ‘/usr/lib/nagios/plugins’…
Processing object config file ‘/usr/lib/nagios/plugins/mailq.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_storage.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ifstatus.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_load.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/breeze.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ftp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/apt.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/tcp_udp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ntp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/dummy.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mrtg.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/rpc-nfs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/users.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/games.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/real.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/pgsql.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_vrrp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/flexlm.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_win.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ssh.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/news.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/telnet.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/radius.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/fping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/netware.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_cpfw.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_process.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/procs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ldap.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mysql.cfg’…
Processing object config directory ‘/usr/lib/nagios/plugins/doc’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_int.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_mem.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_env.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/load.cfg’…
Processing object config directory ‘/etc/nagios3/conf.d’…
Processing object config file ‘/etc/nagios3/conf.d/timeperiods_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/contacts.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-host_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-service_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/cpd01.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/contacts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/cacti.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/contacts.cfg’…
Read object config files okay…

Running pre-flight check on configuration data…

Checking services…
Checked 9 services.
Checking hosts…
Checked 2 hosts.
Checking host groups…
Checked 2 host groups.
Checking service groups…
Checked 0 service groups.
Checking contacts…
Checked 3 contacts.
Checking contact groups…
Checked 3 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 193 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
root@nagios:/etc/nagios3/etc/cfg/Linux

 

Y reiniciamos nagios

rokitoh@nagios:/etc/nagios3/etc/cfg/Linux# /etc/init.d/nagios3 reload
Reloading nagios3 monitoring daemon configuration files: nagios3.
rokitoh@nagios:/etc/nagios3/etc/cfg/Linux#

Abrimos nagios en nuestro navegador favorito y si todo a salido bien lo tendríamos que tener OK!

 

Un saludo, rokitoh!

2 thoughts on “Monitorización basica de UNIX – *BSD – GNU/Linux en Nagios

  1. Pingback: Monitorización de puertos y servicios con Nagios | Red-Orbita

  2. Pingback: Monitorizar procesos en Nagios | Red-Orbita

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*