Instalación Nagios 4.1.1 - OpenSUSE Leap 42.1

Nagios 4.1.1, Nagios-Plugins 2.1.1 y OpenSUSE Leap 42.1

Preparando OpenSUSE

La instalación de Nagios la he realizado con OpenSUSE recién instalado.

Lo primero que vamos a hacer es asegurarnos que los repositorios, paquetes y posibles parches están actualizados:

# zypper refresh && zypper update && zypper patch

El siguiente paso es intalar los paquetes que nos harán falta para posteriormente ejecutar Nagios:

# zypper install gcc glibc php5 apache2 perl apache2-mod_php5 php5-mbstring php5-gd gd-devel make libmcrypt php5-bz2 php5-mcrypt php5-mysql php5-zip pwgen php5-zlib phpmyadmin

Agregamos el usuario y grupo nagios, también el grupo nagcmd donde meteremos el usuario nagios y wwwrun.

# groupadd nagios
# usermod -a -G nagios nagios
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd wwwrun

Compilando Nagios 4.1.1 y Plugins 2.1.1

Primero nos movemos a la carpeta /tmp y descargamos el source.

# cd /tmp
# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
# wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Descomprimimos el tar de nagios-4.1.1 y una vez dentro ejecutamos el script de configuración.

# tar xvzf nagios-4.1.1.tar.gz
# cd nagios-4.1.1
# ./configure --with-command-group=nagcmd

Ahora ya podemos compilar nagios con los siguientes comandos:

# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# make install-webconf

Seguimos el mismo procedimiento que para nagios con los plugins:

Descomprimimos el tar de nagios-plugins-2.1.1 y una vez dentro ejecutamos el script de configuración.

# cd /tmp
# tar xzf nagios-plugins-2.1.1.tar.gz
# cd nagios-plugins-2.1.1
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

Seguidamente compilamos los plugins:

# make
# make install

Configurando Apache2

Primero definimos la contraseña para el usuario nagiosadmin que usaremos para la interfaz web.

# htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Ahora tenemos que hacer que apache actualice su versión en los ficheros de configuración, con el siguiente comando:

# a2enmod version
Nota: Si esto no funciona hay que modificar el fichero /etc/apache2/httpd.conf

Ahora en el fichero de configuración de apache (antes nombrado) tenemos que añadir el nombre del servidor:

# cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bak
# vim /etc/apache2/httpd.conf
Se añade lo siguiente: “ServerName {nombre_servidor_(localhost)}

Ahora vamos al fichero de configuración por defecto, en este fichero cambiaremos el directorio por defecto a el directorio de nuestro nagios:

# cp /etc/apache2/default-server.conf /etc/apache2/default-server.conf.bak
# vim /etc/apache2/default-server.conf

Antiguo directorio: /srv/www/html, Nuevo directorio: /usr/local/nagios/share. Iniciamos el servicio apache:

# systemctl enable apache2
# systemctl start apache2

Y verificamos que funciona.

# systemctl status apache2 -l

Configurando Nagios

Primero lo que haremos será modificar el fichero de configuración de la monitorización de localhost, ya que tenemos que añadir la contraseña que hemos puesto al acceso de apache (htpasswd2) en el check de HTTP para que pueda comprobarlo:

# cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg.bak
# vim /usr/local/nagios/etc/objects/localhost.cfg
Añadiremos donde ponga “check_http” la siguiente cadena de caracteres:
“!-a nagiosadmin:{password}”
Por lo que quedará así:
“check_http!-a nagiosadmin:{password}”

El siguiente comando nos sirve de mucho, ya que en cada modificación a nagios por seguridad hay que ejecutarlo para verificar que todo está OK.

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Para más comodidad creamos un alias con el comando:

# alias nagioscheck=’/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg’

SI todo esta OK, es decir, hay 0 errores y 0 warnings, iniciamos nuestro servicio nagios.

# systemctl enable sshd
# systemctl start sshd
# systemctl enable nagios
# systemctl start nagios
Nota: También encendemos el sshd, para que la comprobación del localhost se haga correctamente.