Nagios 3
De Wikillano
Contenido |
Instalando dependencias
Necesitamos el servidor web para poder ver la consola de nagios, por otro lado también es necesario la herramientas para compilar el código de nagios.
sudo apt-get install apache2 sudo apt-get install build-essential
Las librerias gd son para generar gráficos
sudo apt-get install libgd2-dev
Configurando usuarios
/usr/sbin/useradd -m nagios passwd nagios
/usr/sbin/groupadd nagios /usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd www-data
Bajarse el código fuente de nagios y sus plugins
los podemos bajar de la web:
http://www.nagios.org/download/download.php
Compilamos e Instalamos nagios
tar xzf nagios-3.0.6.tar.gz cd nagios-3.0.6
./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode
todavía no debemos arrancar Nagios
Configurar Nagios
todos lso ficheros de configuración están en
/usr/local/nagios/etc
Cambiamos el mail asociado al contacto administrador de nagios del siguiente fichero:
vi /usr/local/nagios/etc/objects/contacts.cfg
Configurar la Interfaz web
make install-webconf
Le ponemos un password a nagiosadmin.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin /etc/init.d/apache2 reload
Compilar e Instalar los plugin de Nagios
tar xzf nagios-plugins-1.4.11.tar.gz cd nagios-plugins-1.4.11
Compilar los plugins
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
Arrancar nagios
Creamos los enlaces para que arranque nagios al iniciar el sistema.
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
verificamos nagos
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
si no existen errores
/etc/init.d/nagios start
Entrar en la WEB
http://localhost/nagios/
Monitorizando
nagios puede monitorizar remotamente otras máquinas, pero existe dos maneras:
- servicios publicos (http,ftp...)
- estos servision se pueden monitorizar sin instalar nada en la máquina remota
- servicios internos (disco,carga,procesos...)
- para estos es necesario instalar un agente NRPE en el cliente que lanza los plugins y los envia al servidor nagios.
Como se puede observar en la imagen aparte de instalar el agente NRPE en el cliente también necesitamos el plugin check_nrpe en el servidor nagios para que pueda conversar con el demonio nrpe del cliente. (por ahora no lo he instalado)
Existen otros agentes, NSCA, NDOUtils si queremos más información sobre ellos podemos dirigirnos a la documentación de nagios.
Instalación del demonio NRPE en el cliente
Crear usuario nagios
/usr/sbin/useradd nagios passwd nagios
Instalamos los plugins en cliente
El demonio NRPE sera el encargado de lanzar los plugins, por ese motivo debemos instalarlos igual que lo hicimos con el servidor.
tar xzf nagios-plugins-1.4.6.tar.gz cd nagios-plugins-1.4.6
Compilamos
./configure make make install
cambiamos los permisos necesarios
chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec
Instalando NRPE
Nos bajamos el código fuente y lo descomprimimos.
tar xzf nrpe-2.12.tar.gz cd nrpe-2.12
Es posible que nos falten algunas dependencias openssl
apt-get install openssl libssl-dev
Configuramos y compilamos,
./configure make all make install-plugin make install-daemon make install-daemon-config
Ahora ya tendremos el demonio nrpe instalado, tenemos varias maneras de ejecutarlo:
- como demonio
- por xinetd
Instalar NRPE daemon como servicio debajo xinetd
make install-xinetd
Editar el fichero /etc/xinetd.d/nrpe y añadir la ip del servidor nagios.
only_from = 127.0.0.1 <nagios_ip_address>
También debemos añadir la entrada al fichero /etc/services.
nrpe 5666/tcp # NRPE
reinicia xinetd.
Ejecutar NRPE como demonio.
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- -c
- fichero de configuración
- -d
- opcion para que nrpe corra como demonio
Configuracion NRPE
Yo he optado por lanzar el servicio como demonio, esta es la opción del fichero de conf que he modificado.
vi /usr/local/nagios/etc/nrpe.cfg allowed_hosts=127.0.0.1,172.24.49.60
|
Esta opción el demonio NRPE la ignora si lo hacemos via xinetd, ya que esto se configuró en el fichero /etc/xinetd.d/nrpe. | |
Instalación del demonio NRPE en el servidor
Como ya comente más arriba, es necesario el plugin check_nrpe en el servidor, es el encargado de comunicarse con el demonio NRPE del cliente para que lanze los chequeos y este nos retorne los resultados.
compilamos el plugin
Basicamente es lo mismo que hizimos anteriormente
Descomprimimos
tar xzf nrpe-2.12.tar.gz cd nrpe-2.12
Compilamos
./configure make all
Instalamos el Plugin.
make install-plugin
Testeamos que el servidor nagios conecte con el cliente
/usr/local/nagios/libexec/check_nrpe -H 172.24.49.60
Nos devolverá la version de NRPE instalada en el cliente
NRPE v2.12
Definir el comando check_nrpe
Para poder utilizar el comando y poder consultar la información de los diferentes hosts, debemos de definir el comando en el fichero:
vi /usr/local/nagios/etc/commands.cfg
y añadir:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Ahora ya podemos definir servicios para nuestros clientes remotos de la siguiente manera.
define service{
use generic-service
host_name remotehost
service_description Current Users
check_command check_nrpe!check_users
}
Documentación
Toda la documentación e imagenes ha sido extraida de http://www.nagios.org

