viernes, julio 03, 2009

FreeBSD + NAGIOS

Requerimientos:

FreeBSD instalado
Apache2 instalado

Instalacion:

1) Instalar nagios
# whereis nagios
nagios: /usr/ports/net-mgmt/nagios
# cd /usr/ports/net-mgmt/nagios
# make install clean

Al finalizar la instalacion te mostrara las lineas que debes poner en el archivo /usr/local/etc/apache22/httpd.conf

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

<Directory /usr/local/www/nagios/cgi-bin>
Options ExecCGI
</Directory>

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

2) Hacer que inicie con el sistema colocando en /etc/rc.conf
nagios_enable="YES"

Nota:
Nagios por defecto requiere autenticacion, se puede desactivar temporalmente si cambiamos en
/usr/local/etc/nagios/cgi.cfg
la linea original
use_authentication=1
Por esta otra
use_authentication=0

Y asi podemos hacer pruebas temporalmente para poder ver los contenidos CGI mediante el navegador, pero no es buena idea dejarlo asi.

3) Activando la autenticacion para nagios
En las lineas que nos recomienda la instalacion de nagios para el http.conf le adicionaremos otras de modo que quede asi:

# Modificacion para NAGIOS inicio

<Directory /usr/local/www/nagios>
Order deny,allow
Deny from all
#Allow from 127.0.0.1
Allow from all
# 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

Y ya si podemos dejar la linea original como recomiendan para cgi.cfg "use_authentication=1"

4) Creando el password
Crear el archivo htpasswd.users
# touch /usr/local/etc/nagios/htpasswd.users
Ponerle la clave
# htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin
New password: ******
Re-type new password: ******
Adding password for user nagiosadmin

5) Re-iniciar el apache
# /usr/local/etc/rc.d/apache22 restart
Ya al tratar de ingresar con el navegador a:
http://miservidor/nagios/
nos debera pedir el usuario (nagiosadmin) y la clave (miclavesecreta)

6) Configurando los equipos dentro de nagios
Bueno, esto no sera una guia completa, ya que hay muchas posibilidades.

Nagios se inicia con el comando
# /usr/local/etc/rc.d/nagios start

Pero seguramente no nos iniciara hasta que le dejemos los archivos que requiere, es que vienene con nombres como

Los que estan en /usr/local/etc/nagios/
cgi.cfg-sample
nagios.cfg-sample
resource.cfg-sample

Los que estan en /usr/local/etc/nagios/objects/
commands.cfg-sample
contacts.cfg-sample
localhost.cfg-sample
printer.cfg-sample
switch.cfg-sample
templates.cfg-sample
timeperiods.cfg-sample
windows.cfg-sample

Bueno, en ambos casos solo hay que compiar cada uno de los archivos dentro de sus respectivos folders con los nombres sin el "-sample" y luego editarlos segun se requiera.

Luego inticiamos nagios nuevamente y vemos si arranca sin errores.

Para chequear luego de hacer algun cambio en los archivos podemos usar este comando y si todo esta bien, lo re-iniciamos
# /usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg