Instalar servidor LAMP

Un requisito imprescindible es instalar un servidor LAMP, esto es, la combinación de Apache2, PHP 5 y MySQL o MariaDB.
Siguiendo paso a paso.

  • sudo apt-get install -y update
  • sudo apt-get -y install apache2
  • sudo apt-get -y install mysql-server php5-mysql
  • apt-get -y install php5 libapache2-mod-php5 php5-mcrypt
  • apt-get -y install php5-cgi php5-gd php5-common php5-curl

Instalar Nagios

Instalamos el paquete build-essential, esencial para compilar, ya que los ficheros están escritos en C.

  • sudo apt-get -y install build-essential

Añadiremos unos paquetes extras que son necesarios:

  • sudo apt-get -y install libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip curl

Creamos el usuario y el grupo con el que trabajaremos:

  • useradd nagios
  • groupadd nagcmd
  • usermod -a -G nagcmd nagios

Nos descargamos la última versión de Nagios, que a fecha de hoy es la 4.1.1 (10/05/2016)

  • cd /tmp
  • curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Descomprimimos el fichero utilizando el programa tar:

  • tar xvf nagios-4.1.1.tar.gz

Accedemos a la carpeta y asignamos el usuario y el grupo antes de compilar:

  • cd nagios-4.1.1
  • ./configure –with-nagios-group=nagios –with-command-group=nagcmd

Compilamos:

  • sudo make all

Seguimos con los scripts:

  • sudo make install
  • sudo make install-commandmode
  • sudo make install-init
  • sudo make install-config

Configuramos la parte del servidor web y añadimos el usuario de Apache www-data al grupo nagcmd:

  • sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
  • usermod -G nagcmd www-data

Instalar Plugins de Nagios

Ahora de manera adicional y totalemente recomendada, instalaremos el paquete de plugins. Accedemos a la carpeta /tmp y descagamos el fichero:

  • cd /tmp
  • curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Al igual que con el archivo de core, también descomprimimos con tar:

  • tar xvf nagios-plugins-2.1.1.tar.gz

Accedemos a la carpeta:

  • cd nagios-plugins-2.1.1

Asignamos usuario y grupo y compilamos

  • ./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-openssl
  • make
  • make install

Instalar Plugin NRPE

Para poder monitorizar máquinas con GNU Linux debemos instalar el plugin NRPE, los pasos son similares a los anteriores.

Accedemos a la carpeta /tmp y descargamos la última versión:

  • cd /tmp
  • curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Descomprimimos el fichero y accedemos a la carpeta recién creada:

  • tar xvf nrpe-2.15.tar.gz
  • cd nrpe-2.15

Asignamos usuario y grupo:

  • ./configure –enable-command-args –with-nagios-user=nagios –with-nagios-group=nagios –with-ssl=/usr/bin/openssl –with-ssl-lib=/usr/lib/x86_64-linux-gnu

Compilamos y ejecutamos los scripts:

  • sudo make all
  • sudo make install
  • sudo make install-xinetd
  • sudo make install-daemon-config

Modificamos el fichero /etc/xinetd.d/nrpe y modificamos la línea only_from y añadimos la IP de nuestro servidor:

  • sudo vi /etc/xinetd.d/nrpe
  • only_from = 127.0.0.1 192.168.0.200

Salimos y reiniciamos el servicio:

  • sudo service xinetd restart o sudo /etc/init.d/xinetd restart

Configurar Nagios

Primero de todo crearemos una nueva carpeta, donde ubicaremos la configuración de nuestros servidores:

  • sudo mkdir /usr/local/nagios/etc/servers

Modificamos el fichero de configuración principal y descomentamos la siguiente linea:

  • sudo nano /usr/local/nagios/etc/nagios.cfg
  • #cfg_dir=/usr/local/nagios/etc/servers
Guardamos y salimos.

Configurar contactos

Modificamos el fichero de contactos, para añadir nuestro correo electrónico:

  • /usr/local/nagios/etc/objects/contacts.cfg

Modificamos la línea “mail” con nuestro correo electrónico, guardamos y cerramos.

Configuramos el comando check_nrpe

Para que el plugin NRPE monitorice nuestro servidor, debemos modificar el fichero:

  • sudo vi /usr/local/nagios/etc/objects/commands.cfg

Y añadimos al final del fichero:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Guardamos y salimos

Configurar Apache

Habilitamos los módulos de Apache ‘rewrite’ y ‘cgi’:

  • sudo a2enmod rewrite
  • sudo a2enmod cgi

Asignamos una contraseña para el usuario ‘nagiosadmin” que utilizaremos para acceder a la web:

  • sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Creamos un enlace simbólico utilizando ln, que apunte a la carpeta de sites-enabled de Apache y reiniciamos los servicios de Nagios y Apache:

  • sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
  • sudo service nagios start
  • sudo service apache2 restart
Añadimos Nagios al arranque del sistema, mediante un enlace simbólico:
  • sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Comprobamos que la configuración es correcta:
  • sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Problemas en el arranque

Si al arrancar el servicio nos devuelve el siguiente mensaje:

Failed to start nagios.service: Unit nagios.service failed to load: No such file or directory.

Debemos copiar el fichero /etc/init.d/skeleton a /etc/init.d/nagios

  • sudo cp /etc/init.d/skeleton /etc/init.d/nagios

Y añadimos las siguientes líneas:

  • sudo vi /etc/init.d/nagios
  1. DESC=»Nagios»
  2. NAME=nagios
  3. DAEMON=/usr/local/nagios/bin/$NAME
  4. DAEMON_ARGS=»-d /usr/local/nagios/etc/nagios.cfg»
  5. PIDFILE=/usr/local/nagios/var/$NAME.lock

Modificamos los permisos del fichero y arrancamos el servicio:

  • sudo chmod +x /etc/init.d/nagios
  • sudo /etc/init.d/nagios start

Y si todo ha ido bien ya podemos ir a nuestro navegador, escribiendo http://nuestra-ip/nagios

Fuente http://www.ochobitshacenunbyte.com/

Comando para agregar un usuario al apache para autenticar en la web del nagios.

htpasswd2 -c /usr/local/nagios/etc/htpasswd.users NuevoUsuario