lunes, 18 de marzo de 2013

Instalando y configurando Nagios en CentOS 6.3 - Parte 1

Como hemos visto antes, Nagios es una herramienta libre para la monitorización de servidores, redes (switches, routers, etc.) y aplicaciones. Dispone de una amplia gama de plugins están disponibles y una gran comunidad detrás del mismo. Todo esto lo convierte en una de las mejores opciones para estos fines. 

Para los fines de esta guía tambien utilizaremos VirtualBox: CentOS 6.3 minimal en VirtualBox con una interfaz de red y todo lo demás por defecto eth0 Bridged a la LAN (192.168.5.0/24). 

Al finalizar la instalación y loguearnos por primera vez en el servidor cambiamos el hostname del mismo. Además nuestro monitor Nagios será parte de una LAN en la cual funciona un servidor Samba 4 con Active Directory, esto con el propósito de monitorear un servidor real y también otros clientes.
[root@localhost ~]# sed -i 's/HOSTNAME=localhost.localdomain/HOSTNAME=nagios.mydomain.local/g' /etc/sysconfig/network
[root@localhost ~]# reboot

Al regresar, deshabilitamos Selinux para evitar posibles inconvenientes, hasta nuevo aviso.
[root@nagios ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Configurarmos la Interfaz de red para actualizar y descargar paquetes. Esta interfaz está NAT en la configuración de la máquina virtual, pero editaremos el script para que arranque al inicio. Es decir, cambiamos el valor de ONBOOT="no" por yes. Lo demás se queda tal como está.
[root@nagios ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="08:00:27:91:1E:17"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
UUID="cff4accd-304e-4262-abea-f353d20d8954"

[root@nagios ~]# service network restart
Instalando algunos prerequisitos.
[root@nagios ~]# yum install -y gd gd-devel httpd php gcc glibc glibc-common bash-completion wget nano

Nagios está disponible solo en el repositorio EPEL, por lo que debemos instalarlo.
[root@nagios ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@nagios ~]# rpm -ivh epel-release-6-8.noarch.rpm

Instalando Nagios. Nos aseguraremos de que no nos falte nada.
[root@nagios ~]# yum install -y nagios*

Configurando Nagios. Cambiamos el correo de nagios por una cuenta propia, ya sea root u otro usuario que deseemos. La email se encuentra aproximadamente en la línea 35 del fichero contacts.cfg. Esto es para recibir alertas de Nagios.
[root@nagios ~]# nano /etc/nagios/objects/contacts.cfg
email                           root@localhost

Editamos algunas líneas en el fichero nagios.conf. Comentamos las líneas 15 y 16. Además editamos las líenas 17, 18 y 19; quedando de la siguiente manera.
[root@nagios ~]# nano /etc/httpd/conf.d/nagios.conf
#Order allow,deny
#Allow from all
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.5.0/24

Cambiamos el password del usuario nagiosadmin
[root@nagios ~]# htpasswd /etc/nagios/passwd nagiosadmin
New password:
Re-type new password:
Updating password for user nagiosadmin

Iniciamos los servicios y (opcionalmente) los configuramos para que arranquen al inicio.
[root@nagios ~]# service nagios start
Starting nagios: done.
[root@nagios ~]# service httpd start
Starting httpd:                                            [  OK  ]
[root@nagios ~]# chkconfig nagios --level 345 on
[root@nagios ~]# chkconfig httpd  --level 345 on

Editamos el firewall para permitir el paso hacia el puerto 80 (httpd) para tener acceso a la intefaz web de Nagios desde otro nodo de la LAN.
[root@nagios ~]# iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
[root@nagios ~]# service iptables save
[root@nagios ~]# service iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]

Finalmente accesamos desde otro nodo de la red a la dirección http://192.168.5.102/nagios, para verificar que todo ha sido satisfactorio. Nos logueamos con el usuario nagiosadmin y el password que le colocamos en uno de los pasos de la guía.




16 comentarios:

  1. pork al accesar pones el ip 192.168.5.102 a kien pertenece al servidor nagios o al cliente de nagios

    ResponderEliminar
    Respuestas
    1. Es del ordenador que tiene Nagios instalado.

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Hola, he seguido todo tu tutorial, esta muy claro, pero no puedo lograr acceder via web al server Nagios. Por favor, me puedes inidicar que estoy haciendo mal. Gracias

      Eliminar
    4. Hola. Proporcione más informacion para poder ayudarle.

      Eliminar
  2. tengo un problema al querer ver los hosts despues de seguir tus pasos en la parte 1 del tutorial me aparece este error:


    You don't have permission to access /nagios/cgi-bin//statusmap.cgi on this server.

    Apache/2.2.15 (CentOS) Server at 192.168.233.130 Port 80

    ResponderEliminar
    Respuestas
    1. Hola. Debe ajustar los permisos en esos archivos para poder accerder a ellos: chmod go+rx

      Eliminar
  3. pregunta para que funcione puede ser una maquina de la red o tiene que actuar como cliente servidor ?

    ResponderEliminar
  4. Comparto este interesante video Nagios Monitoreo>http://youtu.be/BB_N-tp4xuk

    ResponderEliminar
  5. Comparto de nuevo el link https://www.youtube.com/watch?v=BB_N-tp4xuk&feature=youtu.be

    ResponderEliminar
  6. Claudio, he seguido todo el manual, pero en el final cuando intento acceder a la web no carga, que puede ser.
    El equipo fisico tiene ip 192.168.1.40
    Nagios 192.168.1.45
    En virtual Box tengo configurado como Bridge el adaptador de red.

    A ver si me puedes ayudar gracias

    ResponderEliminar
    Respuestas
    1. Hola.

      Revisa el firewall, selinux si es redhat, apparmor si es debian. Ejecute el comando nmap localhost y mande la salida por aquí.

      Un saludo.

      Eliminar
    2. Estoy intalando en Centos 6.6.
      SELINUX=disabled.
      Firewall le agrege la linea que pones en el tutorial.
      La salida nmap es:
      22/tcp open ssh
      25/tcp open smtp
      80/tcp open http
      111/tcp open rpcbind

      Desel el equipo fisico hago ping, responde desde la virtual al fisico tambien pero desde el navegardor ipvirtual/nagios no funciona no aparece nada, la conexion ha caducado es lo que muestra, no sé el porque, he probado a empezar de nuevo con otro tutorial y siempre me quedo en el mismo sitio XD.

      Gracias espero podamos resolverlo (con tu ayuda)

      Eliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Hola pude instalar satisfactoriamente nagios, pero como lo hago para monitorizar otros host??? solo me aparece el mismo servidor

    ResponderEliminar