You are on page 1of 9

Instalar Nagios core y Nagios plugins en Debian paso a paso desde Source

Debian, Linux, Tutoriales

En este apartado vamos a ver como instalar la aplicacin Nagios en un servidor linux Debian (version 6.0) para poder monitorizar todos los servidores windows, servidores linux, routers, switches, access points o incluso impresoras que tengamos en la red de nuestra empresa o oficina. En otros tutoriales que encontrars por internet podemos ver que realizan la instalacin mediante apt-get install nagios3 pero en este nos vamos a enfocar en instalar Nagios desde el source (codigo fuente) que nos bajaremos de su pgina web con su versin mas actualizada.

Requisitos de Nagios
Para este tutorial es imprescindible haber instalado un servidor Debian 6, configurado su ip como esttica y haber realizado la instalacin de servicios para la web y recomendado el servidor ssh mediante el cual realizaremos la instalacin desde una maquina con interfaz para as poder directamente copiar y pegar los comandos que iremos viendo a continuacin..

Librerias necesarias
Nagios puede crearnos y mostrarnos grficas temporales sobre el estado de la red pero para ello hace uso de unas libreras de imgenes que debemos instalar, ya que por defecto no vienen en el sistema. apt-get update && apt-get -y dist-upgrade apt-get install make gcc g++ sudo libgd2-xpm libgd2-xpm-dev libpng12-dev libjpeg62-dev libgd-tools libpng3-dev Tambin es necesaria la librera gd que la descargaremos de su source, la compilaremos e instalaremos. Para ello vamos a crearnos una carpeta donde descargar todo lo necesario. mkdir temporales cd temporales/ Ahora descargamos e instalamos la librera gd mediante: wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz tar -zxvf gd-2.0.33.tar.gz cd gd-2.0.33/ ./configure Como resultado del configure deberemos ver algo as Support for PNG library: yes

Support for JPEG library: yes Support for Freetype 2.x library: yes Support for Fontconfig library: yes Support for Xpm library: yes Support for pthreads: yes Y procedemos a su instalacin make && make install cd ..

Usuarios, grupos y permisos


Como siempre en linux, es mejor crear un usuario para cada servicio, de manera que si por algn motivo un usuario llegara a poder acceder al sistema a travs de Nagios, solamente afectara al usuario Nagios y tendra solo los permisos de este usuario. Creamos el usuario: adduser nagios A continuacin nos pedir unos datos, a nivel de informacin adicional, y la contrasea de este nuevo usuario. Esta contrasea no es la que usaremos para acceder a Nagios mediante el panel web, por lo que podis poner una muy difcil. A continuacin creamos el grupo, aadimos al usuario Nagios y tambin al usuario www-data (servidor web) al grupo de Nagios. groupadd nagios usermod -G nagios nagios usermod -G www-data,nagios www-data

Instalando Nagios Core


Lo primero que vamos a hacer es entrar en la web de Nagios y buscar su ultima versin de Nagios Core, asi que entramos enwww.nagios.org/download/core/thanks donde encontramos la versin Latest stable release y la Previous stable release, copiamos el enlace de la Latest stable release.

y vamos al servidor, lanzamos el comando wget seguido de la direccin que hemos copiado para descargarlo, descomprimirlo y instalarlo. wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz tar zvfx nagios-3.4.3.tar.gz cd nagios ./configure prefix=/usr/local/nagios with-cgiurl=/nagios/cgi-bin with-htmurl=/nagios/ with-nagios-user=nagios with-nagios-group=nagios with-command-group=nagios make all make install make install-init make install-commandmode make install-config cd .. Finalmente ya tenemos Nagios Core instalado.

Instalando Nagios Plugins


Nagios plugins es un aadido que nos permite conectar con servicios mas especficos si queremos conectar con un ordenador Windows y saber su carga de cpu, ram, disco duro y otros muchos mas servicios o dispositivos. Volvemos a la web de Nagios pero en su seccin http://nagios.org/download/plugins y nos descargamos la Latest Stable Release. En el momento de realizar el tutorial el archivo que nos descargbamos estaba corrupto por lo que se uso la Latest Snapshot que es la mas actual pero puede tener fallos no detectados por los programadores, por lo que intentar hacerlo con la Latest Stable y si no funciona usar la Snapshot. wget http://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz tar -zxvf nagios-plugins-HEAD.tar.gz

cd nagios-plugins-<presionar tabulacion> ./configure make && make install Una vez haya terminado podemos comprobar directorio /usr/local/nagios/libexec/ mediante el comando ls /usr/local/nagios/libexec/ o bien /usr/local/nagios/libexec/check_ssh -h y debera mostrarnos las opciones del comando y el siguiente mensaje: si se han instalado correctamente en el

Con esto ya hemos terminado la instalacin bsica de Nagios. Tan solo nos queda aadirlo al inicio del sistema para que cuando el sistema se reinicie, Nagios tambin se encienda. Para ello podemos hacerlo de dos formas, la que nos dicen en la propia web de Nagios (que para mi es la mejor) o la que tambin os propongo pero que quiz os sintis mas cmodos.

La oficial de la web de Nagios ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios Y para evitar que nos salga un error como este insserv: warning: script S99nagios missing LSB tags and overrides editamos el archivo /etc/init.d/nagios y aadimos esto justo debajo de #!/bin/sh ### BEGIN INIT INFO # Provides: Nagios

# Required-Start: $syslog # Required-Stop: # Default-Start: # Default-Stop: $syslog 2345S 016

# Short-Description: Nagios Boot Script # Description: # ### END INIT INFO Guardamos el archivo y al ejecutar insserv nagios ya no debera salirnos ningn error.

La otra forma que os propongo es editar el archivo /etc/rc.local nano /etc/rc.local Y aadimos el texto antes del exit 0 echo NAGIOS: Comprobando la configuracion de Nagios; service nagios checkconfig; echo NAGIOS: Iniciando el servicio Nagios; service nagios start; sleep 5; echo NAGIOS: Comprobando si el servicio Nagios esta activado; service nagios status;

exit 0;

Configurando la interfaz web


Aunque ya hemos instalado Nagios, necesitamos configurar su interfaz web para poder ver su funcionamiento. Para ello crearemos un nuevo site en apache2. nano /etc/apache2/sites-available/nagios Como no existe, nos lo crear, por lo que el documento no tendr nada escrito, simplemente escribimos este texto, las rutas salvo que hayamos forzado la instalacin de Nagios en otro directorio, no debemos tocarlas. ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory /usr/local/nagios/sbin> 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 </Directory> Alias /nagios /usr/local/nagios/share <Directory /usr/local/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 </Directory> Guardamos el archivo y activamos el site con a2ensite nagios Definimos la contrasea para el usuario nagiosadmin que es el que viene por defecto. Que es la que usaremos mas tarde para acceder al panel web de Nagios. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Y revisamos que el archivo /usr/local/nagios/etc/cgi.cfg disponga de use_authentication=1 nano /usr/local/nagios/etc/cgi.cfg Una vez comprobado o cambiado, guardamos el archivo. Procedemos a reiniciar los servicios de apache, nagios y comprobamos su funcionamiento. service apache2 restart service nagios restart Ya podemos abrir el navegador web en nuestro ordenador con interfaz grfica y comprobar su funcionamiento. http://la.ip.del.server/nagios

Como usuario tenemos nagiosadmin y como contrasea, la que hemos definido justo hace un momento. Si hemos escrito correctamente el usuario y password, nos cargar la pagina principal de Nagios donde podremos ver su versin instalada y un men lateral izquierdo.

Monitorizando servidores por ping


En este men, podemos ir a Hosts y veremos que aparece un servicio localhost (es el mismo servidor donde instalamos Nagios). Pero podemos crear nosotros mas servicios o monitorizar mas servidores, routers, etc Si solamente queremos monitorizar por ping, podemos editar el archivo nano /usr/local/nagios/etc/nagios.cfg Y en la linea donde vemos

Descomentamos la linea quitando la almohadilla # de forma que quede

Guardamos el archivo y procedemos a editar el archivo switch.cfg para definir nuestros host nano /usr/local/nagios/etc/objects/switch.cfg Lo primero de todo es eliminar o editar todos los host, servicios, grupos que hay definidos en el archivo. La mejor forma es directamente eliminar el contenido del archivo y rellenarlo nosotros desde 0. Tanto host, hostgroups, services sern definidos en este mismo archivo.

Aadiendo un host

Como vemos en la imagen, necesitamos 5 atributos para definir un host.

use = La plantilla ya definida que usaremos para el host, dndole a entender al programa que es un switch (aunque sea un pc) host_name = Es el nombre que queremos ver en el panel de Nagios , no tiene nada que ver con el nombre de red. alias = Una descripcin que queramos darle al equipo. address = La direccin ip de este equipo, si tienes el equipo por DHCP y lo quieres monitorizar, debers ponerle ip esttica. hostgroups = Podemos agrupar diferentes host bajo nuestro criterio, (plantas del edificio, servidores linux, servidores windows, routers de la sede 1, sede 2). Se definirn los grupos en el siguiente paso.

Aadiendo hostgroups

Mucho mas sencillo de definir que un host,

hostgroup_name = El nombre que tiene que coincidir con hostgroups de los host (si queremos asociarlos). alias = Descripcion del grupo.

Aadiendo servicios

Aqu vamos a definir el servicio que queremos monitorizar, en este ejemplo lo hacemos con un ping al servidor.

use = Plantilla generica ya definida para el servicio. host_name = Servidor, router al que vamos a monitorizar, debe coincidir con alguno de los host definidos.

service_description = Descripcion del servicio, en este ejemplo un Ping check_command = Comando que va a ejecutar Nagios para monitorizar este host. normal_check_interval = Cada cuanto va a comprobar el estado de ese host. retry_check_interval = Si por algun motivo fallara la comprobacion lo reintentara 1 vez.

Una vez hemos editado y guardado correctamente el archivo, hemos de comprobar que no haya errores en el fichero, un comando se encargara de decirnos los errores y los warnings encontrados. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Si algo falla, nos indica la linea en la que hemos fallado, deberemos arreglarlo. Una vez arreglado todo, o si no ha salido ningun error, hemos de reiniciar de nuevo el servicio de Nagios. service nagios restart

Al principio del post os decia de monitorizar la cpu, la ram, el disco duro de servidores windows. Para ello debemos activar la plantilla windows.cfg dentro de nano /usr/local/nagios/etc/nagios.cfg Y definir los host, hostgroups y servicios que queremos, como servicio podemos usar check_nt y sus parametros. Podeis encontrar mas informacin en la web de Nagios sobre como monitorizar cada servicio mediante los plugins que hemos instalado anteriormente. Ya solo queda comprobar que al reiniciar el ordenador nuestro Nagios se enciende tal y como le hemos configurado anteriormente, y disfrutar de su monitorizacin.