Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
23/02/2015
date.timezone = "Europe/Madrid"
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
23/02/2015
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
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
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.
Para una instalacin de Nagios 3/4 compilado los valores habituales a cambiar serian:
23/02/2015
Nagios
Import
Nagios
Nagios
Nagios
Nagios
Para una instalacin de Nagios instalado por paquetes p.e. (Redhat, CentOS):
Nagios
Import
Nagios
Nagios
Nagios
Nagios
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:
Restart Nagios.