2012/05/15

Nagios

Introduccion:

Instalar Nagios en FreeBSD

Requerimientos:

* Conexion a Internet
* FreeBSD instalado
* Apache22 instalado
* PHP 5.4 instalado
* Leer este manual

El proceso:

Actualizar el arbol de ports

# csup -h cvsup16.us.FreeBSD.org -g -L 2 /usr/share/examples/cvsup/ports-supfile

Instalar el port de Nagios

# cd /usr/ports/net-mgmt/nagios
# make install clean

Hacer que inicie con el sistema editando /etc/rc.conf

# edit /etc/rc.conf

Agregar la linea

nagios_enable="YES"

Instalar los plugins de Nagios

# cd /usr/ports/net-mgmt/nagios-plugins
# make config
[X] NETSNMP SNMP support (check_snmp)
[X] IPv6 support

OK
# make install clean

Instalar los logos para Nagios

# cd /usr/local/www/nagios/images/logos
# wget --no-check-certificate https://www.monitoringexchange.org/attachment/download/Artwork/Image-Packs/Base-Images/imagepak-base.tar.tar
# tar -xvzf imagepak-base.tar.tar
# mv base/* /usr/local/www/nagios/images/logos/
# rm -rf base
# rm imagepak-base.tar.tar

Otros logos se pueden descargar de aqui
https://www.monitoringexchange.org/inventory/Artwork/Image-Packs

# cd /usr/ports/misc/nagios-base-logos
# make install clean

Nota:
De aqui se pueden bajar mas logos http://exchange.nagios.org/directory/Images-and-Logos
se deben descomprimir en la carpeta /usr/local/www/nagios/images/logos/

Crear el archivo htpasswd.users

# touch /usr/local/etc/nagios/htpasswd.users

Agregar los usuarios y las claves

# htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin

New password: ******
Re-type new password: ******
Adding password for user nagiosadmin

# htpasswd /usr/local/etc/nagios/htpasswd.users guest
New password: ******
Re-type new password: ******
Adding password for user guest

Agregar las entradas en Apache en el archivo

# edit /usr/local/etc/apache22/httpd.conf

# Modificacion para NAGIOS inicio

<Directory /usr/local/www/nagios>
Order deny,allow
Options -Indexes
Deny from all
Allow from all

php_flag engine on
php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/

# Autenticacion inicio
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
# Autenticacion fin
</Directory>

<Directory /usr/local/www/nagios/cgi-bin>
Options ExecCGI
# Autenticacion inicio
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users
Require valid-user
# Autenticacion fin
</Directory>

ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
Alias /nagios/ /usr/local/www/nagios/

# Modificacion para NAGIOS fin

Reiniciar Apache para que tome los cambios

# /usr/local/etc/rc.d/apache22 restart

Creamos los archivos a partir de los de ejemplo

# cp /usr/local/etc/nagios/cgi.cfg-sample /usr/local/etc/nagios/cgi.cfg
# cp /usr/local/etc/nagios/resource.cfg-sample /usr/local/etc/nagios/resource.cfg
# cp /usr/local/etc/nagios/nagios.cfg-sample /usr/local/etc/nagios/nagios.cfg
# cp /usr/local/etc/nagios/objects/commands.cfg-sample /usr/local/etc/nagios/objects/commands.cfg
# cp /usr/local/etc/nagios/objects/contacts.cfg-sample /usr/local/etc/nagios/objects/contacts.cfg
# cp /usr/local/etc/nagios/objects/templates.cfg-sample /usr/local/etc/nagios/objects/templates.cfg
# cp /usr/local/etc/nagios/objects/timeperiods.cfg-sample /usr/local/etc/nagios/objects/timeperiods.cfg

Verificar las lineas o ajustarlas

# edit /usr/local/etc/nagios/cgi.cfg

authorized_for_all_services=nagiosadmin,guest
authorized_for_all_hosts=nagiosadmin,guest

Editar el archivo de Nagios

# edit /usr/local/etc/nagios/nagios.cfg

Comentar la linea colocando un # al inicio, queda asi:

#cfg_file=/usr/local/etc/nagios/objects/localhost.cfg

Agregar la linea al archivo de nuestros equipos

cfg_file=/usr/local/etc/nagios/objects/equipment.cfg

Crear el archivo con los equipos de nuestra compaƱia (al final del manual lo puede descargar)

# edit /usr/local/etc/nagios/objects/equipment.cfg

Editar el archivo de contactos de Nagios

# edit /usr/local/etc/nagios/objects/contacts.cfg

Ajustamos la linea

email       nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Por un email valido

email       micorreo@gmail.com   ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Nagios requiere un ajuste denominado timezones en php.ini

# edit /usr/local/etc/php.ini

Cambiar la linea

;date.timezone =

Por

date.timezone = America/Bogota

Reiniciar Apache22

# /usr/local/etc/rc.d/apache22 restart

Un listado completo de timezones http://co.php.net/manual/en/timezones.php

Iniciar Nagios

# /usr/local/etc/rc.d/nagios start

Para ver el log
# tail -f /var/spool/nagios/nagios.log

Caputuras de Nagios funcionando :-)

Nagios Tactical Overview


Nagios Map

Notas:

En nuestro archivo /usr/local/etc/nagios/objects/commands.cfg podemos agregar nuevos comandos
Si quiere aqui estan los archivos de configuracion:
Google Drive