Está en la página 1de 7

23/02/2015

NagiosQL. Introduccin e instalacin en


Nagios 3.x / 4.x en Centos 6 (Redhat)
6 Replies

Introduccin.
Una de las caractersticas que ms se echan de menos cuando comienzas con Nagios es
que la configuracin de objetos hay que realizarla con ficheros de texto. Esto supone un
problema aadido por la dificultad inicial de entrada del mundo de los objetos de
Nagios y la sintaxis para definirlos. Para paliar esta ausencia existe software de
terceros que nos proporciona un interface grfico para la definicin de objetos. Dos
posibilidades interesantes son Nconf y NagiosQL. Vamos a ver el segundo ya que a da
de hoy es el que permanece ms activo.
En cualquier caso debemos preguntarnos previamente si realmente lo necesitamos. El
software es bueno y muy manejable pero debemos tener en cuenta que pasaremos a
realizar definiciones sobre listbox, checkbox, en lugar de copy / pastes tradicionales.
A lo mejor si manejas solo una instalacin tuya prefieres los ficheros de texto pero si
instalas Nagios para clientes puede ser ms interesante para que el cliente pueda aadir
sus propios objetos de forma sencilla.
Otro asunto a tener en cuenta es que si usamos check_mk que tiene su propia sintaxis de
definicin de objetos ya no podremos usar NagiosQL. En mi caso que me encanta
check_mk lo tengo claro pero
Como funciona? Sencillo. Bsicamente lo que hacen tanto NagiosQL como Nconf es
que la configuracin de objetos de Nagios se realiza y guarda en una BBDD para
posteriormente generar desde la informacin en esta los ficheros de configuracin de
Nagios. Esto supone que no debemos editar nunca dichos ficheros ya que cambiarn en
posteriores modificaciones a travs del GUI. Aunque bien es cierto que podramos tener
unos ficheros a mano por un lado y el resto los generados por NagiosQL.
Nos evita tener conocer la compleja relacin entre objetos de Nagios? No
realmente, pero si la simplifica. Para poder crear los objetos, aunque sea usando
formularios de colorines, necesitaremos conocer cmo se relacionas estos para saber
que estamos haciendo. Bien es cierto que el software nos gua bastante bien y tiene
controles para no dejarnos meter la pata y que creemos los objetos adecuadamente.

Instalacin de NagiosQL
La instalacin se realizar siguiendo el PDF bastante bien documentado que podemos
encontrar en la pgina de documentacin de NagiosQL. Este artculo refleja la
instalacin en Centos / Redhat pero para es perfectamente vlido para cualquier otra
distribucin excepto en los paquetes que se instalan previamente que tendrn
seguramente nombres diferentes en otras distribuciones.

23/02/2015

Requisitos de software
Los requisitos que necesitamos para la instalacin segn la documentacin seran los
siguientes:
Webserver like Apache 2.x
MySQL 5.x or greater
Nagios 2.x/3.x (local or remote) or a Nagios compatible monitoring
system
PHP 5.2.0 or greater including:
PHP Module: Session
PHP Module: MySQL
PHP Module: gettext
PHP Module: filter
PHP Module: FTP (optional)
PECL Extension: SSH (optional)
Javascript activated in Webbrowser
Multilanguage Support

En nuestro caso lo instalaremos sobre Nagios 3 y Nagios 4 para probarlo sobre esta
versin pero realmente no est soportada y no recomiendo usarlo sobre esta. De hecho
hay al menos un par de detalles que no funcionan y por supuesto no soportar las nuevas
funcionalidades de Nagios Core 4 (p.e. los nuevos parmetros en host / servicios). La
instalacin la realizamos sobre un Centos 6.4. Imagino que ser idntica con Redhat
aunque con este a lo mejor necesitamos suscribirnos a algn repositorio adicional por
algn paquete (lo que puede requerir tener una suscripcin activa)
Partimos de la instalacin de Nagios 3 realizada en un artculo previo y tambin la
probamos sobre una de Nagios 4. . Tenemos ya varios de los requisitos instalados solo
nos quedaran algunos que instalamos con:
yum install mysql-server php-pecl-ssh2 php-mysql

Configuramos mysql para arrancar en el inicio y le asignamos un password a root


service mysqld start
chkconfig mysqld on
mysqladmin -u root password PASSWORD

Directorios de configuracin
NagiosQL usa sus propios directorios de configuracin donde ubica sus ficheros. Los
creamos.
mkdir
mkdir
mkdir
mkdir

-p /etc/nagiosql/hosts
/etc/nagiosql/services
-p /etc/nagiosql/backup/hosts
/etc/nagiosql/backup/services

Modificacin de permisos.

23/02/2015

Necesitamos darle a nuestro directorios permisos para que tanto el usuario de nagios
como el de apache puedan acceder a este. En nuestro caso segn realizamos la
instalacin previa podamos haber usado un grupo comn a ambos usuarios
(nagioscmd) pero lo realizaremos segn la documentacin de NagiosQL, usando
usuario de apache y grupo de nagios.
chown -R apache.nagios /etc/nagiosql

Adems necesitamos darle permisos al usuario de apache (nagiosql es una app que corre
sobre apache) a algunos ficheros de configuracin de Nagios. Lo realizaremos segn la
documentacin de NagiosQL. Para un fcil copy / paste un par de ejemplos:
En una instalacin compilada de Nagios sera habitualmente con las siguientes rutas:
chown
chown
chown
chown
chown
chown
chmod
chmod
chmod
chmod
chmod
chmod

-R apache.nagios /usr/local/nagios/etc/nagios.cfg
-R apache.nagios /usr/local/nagios/etc/resource.cfg
-R apache.nagios /usr/local/nagios/etc/cgi.cfg
-R apache.nagios /usr/local/nagios/var/rw/nagios.cmd
-R apache.nagios /usr/local/nagios/var/nagios.log
-R apache.nagios /usr/local/nagios/var/spool/checkresults
660 /usr/local/nagios/etc/resource.cfg
660 /usr/local/nagios/etc/nagios.cfg
660 /usr/local/nagios/etc/cgi.cfg
660 /usr/local/nagios/var/rw/nagios.cmd
660 /usr/local/nagios/var/nagios.log
770 /usr/local/nagios/var/spool/checkresults

En una instalacin por paquetes en Redhat / CentOS deberan ser las siguientes:
chown
chown
chown
chown
chown
chown
chmod
chmod
chmod
chmod
chmod
chmod

-R apache.nagios /etc/nagios/nagios.cfg
-R apache.nagios /etc/nagios/resource.cfg
-R apache.nagios /etc/nagios/cgi.cfg
-R apache.nagios /var/log/nagios/nagios.log
-R apache.nagios /var/spool/nagios/cmd/nagios.cmd
-R apache.nagios /usr/local/nagios/var/spool/checkresults
660 /etc/nagios/nagios.cfg
660 /etc/nagios/resource.cfg
660 /etc/nagios/cgi.cfg
660 /var/spool/nagios/cmd/nagios.cmd
660 /var/log/nagios/nagios.log
770 /usr/local/nagios/var/spool/checkresults

Configuracin de Servidor Apache


Preparamos un directorio donde se alojar nuestra pgina de NagiosQL.
mkdir /opt/nagiosql
chown apache /opt/nagiosql/

Localizamos nuestro fichero de configuracin php.ini (p.e. con locate php.ini). En


Centos/Redhat est en /etc/php.ini. Verificamos que los parmetros siguientes tengan
este valor:
file_uploads = On
session.auto_start = 0

23/02/2015
date.timezone = "Europe/Madrid"

El valor de date.timezone por supuesto variar segn donde ests


America/Buenos_Aires, America/Bogota, America/Mexico_City, En el
php.ini nos indica una pgina del manual de PHP donde ver las configuraciones de
zona.
Creacin del fichero de configuracin de apache. Crearemos en nuestro servidor web un
fichero de configuracin de apache para NagiosQL. En Centos / Redhat ser:
/etc/httpd/conf.d/nagiosql.conf

Podemos configurarlo de forma bsica la autentificacin (usar autentificacin de


acceso a la BBDD mysql)
Alias /nagiosql "/opt/nagiosql"
<Directory "/opt/nagiosql">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Reiniciamos nuestro servidor de apache.

Instalacin de NagiosQL
Debemos descomprimir el sofware en la carpeta para apache que creamos para alojar
este y darle los permisos adecuados para nuestro usuario de apache. p.e.
descomprimimos inicialmente en nuestro home y movemos los archivos:
tar zxfv nagiosql_320.tar.gz
mv nagiosql32/* /opt/nagiosql/
chown -R apache /opt/nagiosql
chmod 750 /opt/nagiosql/config

Reiniciamos apache y ya podemos acceder a nuestra pgina web:


http://server_nagios/nagiosql
Nos aparecer el Wizard de instalacin y configuracin de este.

23/02/2015

Empezamos la instalacin donde chequear que cumplimos todas las dependencias y si


no es as nos indicar lo que no cumplimos. Podemos solucionarlo instalado los
necesario y refrescando la pgina inicial de configuracin y pinchando de nuevo Start
Installation.
Posteriormente nos aparecern los datos necesarios para crear la BBDD. El asistente
hace bien su trabajo y solo es necesario aadir

Administrative Database Password (Password de administracin de nuestro


mysql)

NagiosQL User Setup: La pass que tendr nuesrtousuario admin de Nagiosql en


mysql.

El resto lo dejamos por defecto. Podemos marcar tambin la casilla de Import Nagios
sample config si queremos partir de una BBDD con algunos ejemplos de objetos
Nagios.
Nos crear la BBDD y nos dar un aviso Please delete the install directory to
continue!
rm -rf /opt/nagiosql/install

Cargamos la app de nagiosql y ya la tenemos funcionando (accedemos con el usuario


admin que creamos en el asistente previo): http://servidor/nagiosql/

Instalacin de Servicepacks de NagiosQL


Nagiosql publica peridicamente servicepacks que bsicamente consisten en la
coleccin de archivos que han cambiado desde la publicacin de la versin de versin a
la que aplican. Para aplicarlos hay que bajar el zip, descomprimir y copiar encima de
nuestra instalacin.
Realizamos primero una copia de nuestro directorio por si acaso, p.e.:
cp -R /opt/nagiosql /opt/nagiosql.BCK

23/02/2015

Descomprimimos y copiamos cada uno de los parches sobre los archivos originales:
unzip nagiosql_3.2.0_sp1.zip
cp NagiosQL_3.2.0_SP1/* /opt/nagiosql/ -R
unzip nagiosql_320_sp2.zip
cp NagiosQL_3.2.0_SP2/* /opt/nagiosql/ -R

Reiniciamos / recargamos Apache.

Configuracin de Nagios
Por ltimo nos falta lo ms importante. Modificar la configuracin de Nagios para que
use los ficheros generados por NagiosQL. Modificamos nuestro fichero nagios.cfg.
Primero: debemos comentar cualquier referencia cgf_file y cfg_dir, Segundo:
aadimos las siguientes lneas:
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
#cfg_file=/etc/nagiosql/serviceescalation.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfg
cfg_dir=/etc/nagiosql/hosts
cfg_dir=/etc/nagiosql/services

Debemos asegurarnos tambin que el siguiente valor para que NagiosQL pueda reiniciar
Nagios:
check_external_commands=1

En este momento nos hemos quedado sin datos en Nagios hasta que configuremos
objetos desde NagiosQL as que si reiniciamos Nagios no arrancar. Se quejar de que
no tiene objetos.

Configuracin Inicial mnima de NagiosQL


Accedemos a NagiosQL y los primero que haremos para tener un funcionamiento
mnimo ser:

Men Administration / Config Targets / localhost / editar (el icono de


herramientas).

Para una instalacin de Nagios 3/4 compilado los valores habituales a cambiar serian:

23/02/2015
Nagios
Import
Nagios
Nagios
Nagios
Nagios

base directory: /usr/local/nagios/etc/


directory: /usr/local/nagios/etc/
command file: /usr/local/nagios/var/rw/nagios.cmd
binary file: /usr/local/nagios/bin/nagios
process file: /usr/local/nagios/var/nagios.lock
config file: /usr/local/nagios/etc/nagios.cfg

Para una instalacin de Nagios instalado por paquetes p.e. (Redhat, CentOS):
Nagios
Import
Nagios
Nagios
Nagios
Nagios

base directory: /etc/nagios/


directory: /etc/nagios/objects/
command file: /var/spool/nagios/cmd/nagios.cmd
binary file: /usr/sbin/nagios
process file: /var/run/nagios.pid
config file: /etc/nagios/nagios.cfg

En general, da igual como est instalado, busca cuidadosamente los ficheros que tienes
que configurarle a NagiosQL ya que la mayora de los posibles errores que puedan
surgir estn en esta configuracin y en los permisos.
Generar objetos a partir de los ejemplos que trae instalados.
NagiosQL trae configurados algunos objetos (hosts, servicios,). A no ser que no
marcramos durante la instalacin la opcin Import Nagios sample config. Para
empezar a analizarlo nos valen esos objetos pero debemos decirle que genere los
ficheros de configuracin a partir de estos. Lo haremos desde Men Tools / Nagios
control . Vamos ejecutando todas las opciones:

Write monitoring data

Write additional data

Check configuration files

Restart Nagios.

Sobre Nagios 3 todo debera ir ya perfecto. Si somos intrpidos y a da de hoy hemos


instalado NagiosQL sobre Nagios 4 no se realizar el restart desde esta opcin de
NagiosQL (aunque diga que si). Debemos realizar un pequeo cambio en un fichero
PHP detallado en este artculo. Algn otro problema con Nagios 4 tambin
documentado.
A partir de aqu ya tenemos listo para usar nuestro NagiosQL.

También podría gustarte