Setting up Nagios

Share it!

Nagios es un proyecto de código libre que nos permite monitorizar a
pequeña,media o gran escala equipos y servicios, y teniendo múltiples
opciones de configuración a través de plugins o diversos protocolos,alertas
via sms de poco espacio en disco, ping para saber si está up, memoria ram
disponible y un largo etcétera, de tal manera que podemos saber algo que va
a ocurrir, antes de que ocurra =)

Para más info www.nagios.org

Primeramente,hay que escoger el tipo de instalación de Nagios que vamos a
realizar,compilado desde tarball o mediante los repositorios de Debian
Etch,para el primer caso realizariamos lo siguiente:

Download Nagios 2.6 y plugins 1.4.4 en tarball de la pagina oficial
Descomprimir Nagios,acceder al directorio:

Se crea un usuario y grupo de nombre nagios

$ groupadd nagios && useradd nagios -g nagios

Se agrega un grupo para ejecutar comandos nagios utilizando el grupo nagios:

$ usermod -G nagios (usuario-apache)*

El usuario apache se extrae de ps -aux|grep apache2 = www-data

Configure

./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin
–with-htmlurl=/nagios/ –with-nagios-user=nagios
–with-nagios-grp=nagios –with-command-grp=nagios

Compilar :

$ make all

Instalacion Binarios y archivos html :

$ make install

Instalar ejemplos de configuracion:

$ make install-config en /usr/local/nagios/etc/

Instala script de iniciacion:

$ make install-init

Todos los archivos de /usr/local/nagios deben pertenecer a usuario y grupo
nagios:

$ chown -R nagios:nagios nagios

$ ls -sahl /usr/local/nagios

Configuracion del script creado para que se ejecue siempre al arranque:

$ update-rc.d nagios defaults

Configuracion permisos de algunos directorios:

$ make install-commandmode

Creacion de symlins de binarios para nuestro sistema:

$ ln -s /usr/local/nagios/bin/nagios /usr/sbin/nagios
$ ln -s /usr/local/nagios/bin/nagiostats /usr/bin/nagiostats

Instalacion de los plugins:

$ tar -zxvf nagios-plugins-1.4.4.tar.gz && cd nagios-1.4.4

Configuracion:

$ ./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin

Instalacion:

$ make && make install && make install-root

Creacion de interfaz web editando /etc/apache2/sites-available/default ( más
abajo )

Creacion del archivo login/pass:

$htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
$cat /usr/local/nagios/etc/htpasswd.users

Al haber ejecutado make install-config se nos crean ficheros sample de
configuracion de nagios en /usr/local/nagios/etc/, debemos renombrarlos de
fichero-sample.cfg a fichero.cfg,aun así,nos faltarán diversos ficheros que
son los siguientes y que iremos creando a mano:



define host{
use generic-host ; Name of host template to use
host_name pc-javi
alias PC de Javi
address 192.168.1.110
check_command check-host-alive
max_check_attempts 20

contact_groups admin
notification_interval 60
notification_period 24x7
notification_options d,u,r
}

Fichero services.cfg

define service{
name generic-service ; The n ame of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted

parallelize_check 1 ; Active service checks should be parallelized
(disabling t
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service freshness

notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled

process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program
restarts
retain_nonstatus_information 1 ; Retain non-status information across
program r
is_volatile 0 ; The service is not volatile

register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A
TEM
}

define service{
# use generic-service ; Name of service template to use
host_name pc-javi
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5

retry_check_interval 1
contact_groups admin
notification_interval 240
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
}

Fichero timeperiods.cfg

# This defines a timeperiod where all times are valid for checks,
# notifications, etc. The classic 24x7 support nightmare. : - )

define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}

# workhours timeperiod definition
define timeperiod{
timeperiod_name workhours
alias Normal Working Hours
monday 09:00-18:00
tuesday 09:00-18:00
wednesday 09:00-18:00
thursday 09:00-18:00
friday 09:00-18:00

saturday 10:00-13:00
}

# nonworkhours timeperiod definition
define timeperiod{
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,18:00-24:00
tuesday 00:00-09:00,18:00-24:00
wednesday 00:00-09:00,18:00-24:00

thursday 00:00-09:00,18:00-24:00
friday 00:00-09:00,18:00-24:00
saturday 00:00-10:00,13:00-24:00
}

# none timeperiod definition
define timeperiod{
timeperiod_name none
alias No Time Is A Good Time
}

Revisión de los ficheros de configuracion con:

$nagios -v /usr/local/etc/nagios.cfg

Total Warnings: 0
Total Errors: 0

Ahora solo debemos configurar apache para la autenticación de la siguiente
manera editando el fichero /etc/apache2/sites-available/default


ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin/nagios/"
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

Alias /nagios /usr/local/nagios/share

nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

Reiniciar apache2:

$ /etc/init.d/apache2 restart

Ejecutar http://192.168.1.90/nagios :)

Share it!
Esta entrada fue publicada en GNU\Linux Servers. Guarda el enlace permanente.

Deja un comentario

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

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>