jueves, 13 de diciembre de 2007

Instalando Nagios I

Nagios, visión general

Ya hemos visto una primera aproximación de que es Nagios y para que lo podemos utilizar. A continuación vamos a instalarlo en nuestro servidor web.
Las palabras literales que podemos encontrar en la documentación original son "Installing and configuring Nagios is rather involved" (...)"Relax, take your time and read all the documentation", así que hagámonos desde ya a la idea de que no vamos a instalar un software simple, de los de setup.exe, siguiente, siguiente....

Antes de empezar, debemos asegurarnos de que nuestro servidor tiene la versión más reciente de su software, en este caso apache2.
Importante: Todo el proceso de instalación debe hacerse precediendo cada orden con sudo
Descargamos la última versión de su web

El fichero que nos descarguemos debe seguir este formato: nagios-version.tar.gz. Si estamos usando modo gráfico, podemos descomprimirlo con el gestor de paquetes que provea la distribución de Linux que hayamos instalado, pero en este caso yo voy a crear el directorio /downloads/ y lo descomprimiré ahí.

Movemos el fichero descargado al directorio: mv nagios-version-tar.gz /downloads/
Vamos a dicho directorio: cd /downloads
Ejecutamos: tar xzf nagios-version-tar.gz

Se habrá creado un directorio de esta forma: /downloads/nagios-version/

De momento, ya tenemos los ficheros de instalación en nuestra máquina listos para ser usados. Pero antes, debemos preparar el entorno. Nada complicado, crear un grupo de usuarios, un usuario para nagios, un directorio para la instalación...
Empecemos pues.
Creamos al usuario que controlará a Nagios, y le llamaremos, efectivamente, nagios: useradd nagios
passwd nagios (introducimos la contraseña y confirmamos)
groupadd nagios
usermod -G nagios nagios (el primer nagios es el nombre del grupo y el segundo el del usuario, por si alguien quiere ser más original con los nombres)

Ahora creamos el directorio donde vamos a instalarlo:
mkdir /usr/local/nagios
y se lo asignamos a al usuario nagios del grupo nagios:
chown nagios.nagios /usr/local/nagios

A continuación vamos a crear un nuevo grupo llamado nagcmd:
groupadd nagcmd

e incluimos en el al usuario que controla Nagios, como al que controla el servidor web (es decir, quien está ejecutando apache. Para saber el nombre de este usuario ejecutamos grep "^User" /etc/apache2/apach2.conf , cambiando la ruta del fichero de configuración del servidor si fuera preciso) que en Ubuntu es www-data.
usermod -G nagcmd nagios
usermod -G nagcmd www-data

Ya tenemos todo listo para comenzar la instalación. Vamos al directorio /download/nagios/ y ejecutamos:

./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd

Aunque hemos puesto estos parámetros, el único que no se corresponde con lo que se pone por defecto en caso de no indicarlo es --with-comand-group, que tomaría nagios como grupo y no nagcmd, de modo que aunque los demás pueden obviarse, este es importante.

Una vez hemos hecho esto, procedemos a compilar:
make all (compila los ficheros de instalación y los CGI)
make install (instala los binarios y las páginas HTML)
make install-init (el script de inicio)

A estas alturas, Nagios ya está instalado en nuestro sistema, vamos a echar un ojo y comprobar que todo está en su sitio.

Si vamos a /usr/local/nagios/ debemos encontrar los siguientes sub
directorios:

bin/ Los ejecutables de Nagios.
etc/ Aquí deben ir los ficheros de configuración.
sbin/ CGIs
share/ Ficheros HTML
var/ Ficheros de log, estado, etc...
var/archives Para archivar los logs. De momento, vacio.
var/rw Directorio vacio para almacenar los ECF (external command file)

Ahora debemos instalar los pluggins. Los pluggins en Nagios son los que nos permiten monitorizar los diferentes elementos de una red, de manera que aunque no formen parte del nucleo del programa, son de vital importancia.
Los descargamos de http://sourceforge.net/projects/nagiosplug/
Lo guardamos en /downloads/ y allí los descomprimimos:
tar xvfz nagios-plugins-version.tar.gz
Entramos al directorio de las fuentes de los plugins y ejecutamos:
./configure && make && make install

De esta manera, ya tenemos los pluggins instalados en /usr/local/nagios/libexec

Como veremos en posteriores entregas, los pluggins son unos comandos de nagios que tienen el formato check_servicio y son a los que se invoca en la configuración avanzada. Pero de momento lo dejaremos a un lado.

Para ya ir finalizando y poder ver nuestro flamante portal Nagios, tenemos que configurar el servidor.

Bastará con añadir las siguientes entradas en /etc/apache2/apache2.conf : (Es posible que durante la instalación ya se hayan incluido, de manera que conviene revisar antes el fichero y si ya están, omitir este paso.)

ScriptAlias /nagios/cgi-bin /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


Alias /nagios /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


Reiniciamos el servidor: : ./etc/init.d/apache2 restart
Reiniciamos Nagios: ./etc/init.d/nagios restart

Y ahora podremos acceder al portal tecleando la siguiente url en nuestro navegador: http://localhost/nagios
identificándonos con el nombre nagios y el password que hayamos decidido.

9 alaridos:

BhEaN dijo...

Si vuelvo a leer algo como esto: "Importante: Todo el proceso de instalación debe hacerse desde la cuenta de root." tendré que arrancarme los ojos!! ;)

Anónimo dijo...

Il semble que vous soyez un expert dans ce domaine, vos remarques sont tres interessantes, merci.

- Daniel

Gangrolf dijo...

BhEaN, tienes toda la razón, pero ten en cuenta a quién está orientado este tutorial. Sacrificas seguridad por funcionalidad, cómo siempre, me temo.

Se trata de hacer la instalación lo más sencillo posible.

Pero si, unos sudos es mejor.
:)

Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...

We [url=http://www.onlinebaccarat.gd]no deposit casino bonus[/url] be subjected to a corpulent library of absolutely unsolicited casino games in regard to you to challenge privilege here in your browser. Whether you call for to practice a table game plan or even-handed examine out a some new slots in the presence of playing for unfeigned in clover, we possess you covered. These are the rigid verbatim at the same time games that you can engage at true online casinos and you can part of them all for free.

Anónimo dijo...

Hello. And Bye. Thank you very much.