Mucho hemos hablado acerca de la importancia de realizar tareas de monitoreo y gestión sobre los diversos servidores administrados ya que de esto depende su perfecta operabilidad y debemos tener en cuenta que muchos procesos, servicios y tarea dependen de un servidor estable y seguro.
Dentro de las herramientas que podemos usar para llevar a cabo este propósito tenemos Nagios y hoy este tutorial analizará cómo instalarla y acceder a un monitoreo en tiempo real de un servidor CentOS 7. Gracias a la monitorización podremos controlar lo que ocurre en nuestros equipos previniendo así cualquier fallo o detectando la causa de alguno de ellos.
Veamos qué es Nagios y por qué es importante para conocer todo lo que ocurre en nuestros equipos y en nuestra red.
Gracias a Nagios recibiremos alertas y notificaciones sobre todos los sucesos que ocurran dentro del sistema operativo y la gestión remota de los equipos se desarrolla en un solo entorno lo que facilita su control.
- Monitoreo remoto usando los protocolos SSH o SSL.
- Podremos gestionar y supervisar protocolos de red como SMTP, POP3, HTTP, NNTP, ICMP, SNMP.
- Sistema de plugins que brinda la posibilidad de crear nuevos servicios de supervisión usando herramientas como Python, PHP, C++, entre otras.
- Soporta la implementación de host de monitoreo redundantes.
- Gestión en tiempo real.
- Incluye gráficos de rendimiento, auto descubrimiento y monitoreo distribuido.
- Contar con permisos de usuario root.
- Tener instalado LAMP en el servidor CentOS 7.
1. Instalar librerías para Nagios en CentOS 7
El primer paso consiste en instalar una serie de librerías que serán fundamentales para el óptimo desarrollo de Nagios en CentOS 7, para esto ejecutaremos la siguiente línea. Aceptamos la descarga y respectiva instalación de los paquetes.
sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip
2. Crear usuario y grupo para Nagios en CentOS 7
Este usuario es fundamental para la ejecución del proceso Nagios, en este caso crearemos el usuario nagios y el grupo nagcmd, para ello usaremos las siguientes líneas en su orden:
sudo useradd nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagios
3. Instalar Nagios Core en CentOS 7
Para esto debemos ir al siguiente enlace para comprobar la última versión de Nagios Core, la cual es 4.3.1 actualmente.
Allí podemos dar clic derecho sobre el link de descarga y seleccionar la opción Copiar dirección de enlace
En primer lugar accederemos al directorio raíz usando la opción cd ~ y posteriormente ejecutaremos la siguiente línea con la respectiva versión de Nagios Core:
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz
A continuación extraemos el contenido del archivo descargado ejecutando lo siguiente:
tar xvf nagios-*.tar.gz
Una vez extraído el contenido vamos al directorio donde ha sido extraído Nagios Core usando la siguiente opción:
cd nagios-*
Allí configuraremos el instalador ejecutando lo siguiente:
./configure --with-command-group=nagcmd
El siguiente paso consiste en compilar Nagios ejecutando lo siguiente:
make all
Una vez completado este comando procedemos a ejecutar los siguientes comandos en su orden para instalar Nagios, los scripts asociados y algunos archivos de configuración:
sudo make install sudo make install-commandmode sudo make install-init sudo make install-config sudo make install-webconf
Ahora agregaremos el grupo creado para Nagios a Apache para evitar problemas en la conectividad:
sudo usermod -G nagcmd apache
4. Instalar los plugins de Nagios en CentOS 7
Ahora procedemos a la instalación de los plugins de Nagios los cuales nos permiten obtener una mayor compatibilidad y funcionalidad de la herramienta.
En el siguiente enlace encontramos la versión más reciente de plugins siendo la 2.2.1 la actual:
Para su descarga copiaremos la dirección de enlace y en CentOS 7 nos dirigimos al directorio principal usando la opción cd ~. Una vez allí en el directorio ejecutaremos lo siguiente para su descarga:
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
Extraemos el contenido del archivo descargado ejecutando lo siguiente:
tar xvf nagios-plugins-*.tar.gz
Ahora, accedemos al directorio donde se ha descargado ejecutando
cd nagios-plugins-*.Una vez allí configuraremos el archivo descargado ejecutando la siguiente línea:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
Procedemos a compilar los plugins de Nagios ejecutando el comando make:
Instalamos los plugins usando la siguiente línea:
sudo make install
5. Instalar NRPE en CentOS 7
NRPE (Nagios Remote Plugin Executor) nos permite establecer las comunicaciones remotas entre los servidores.
En la siguiente página encontramos la última versión de NRPE la cual debemos copiar para proceder con su descarga:
Accedemos al directorio principal usando cd ~ y allí ejecutaremos la siguiente línea para realizar la descarga respectiva:
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
Extraemos el contenido del archivo:
tar xvf nrpe-*.tar.gz
Ahora vamos al directorio donde fue extraído dicho archivo usando cd nrpe-* y allí configuraremos el archivo ejecutando lo siguiente:
./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
Ahora procedemos a construir e instalar NRPE y algunos archivos de configuración ejecutando las siguientes líneas en su orden:
make all sudo make install sudo make install-xinetd sudo make install-daemon-config
Una vez ejecutados estos comandos accederemos el script xinetd para realizar un cambio, para ello usaremos el editor preferido:
sudo nano /etc/xinetd.d/nrpe
Allí debemos ir a la línea only_from y asignar la dirección IP de nuestro servidor CentOS 7:
Guardamos el archivo usando la combinación de teclas
Ctrl + O
y salimos del mismo usando:
Ctrl + X
Reiniciamos el servicio de xinetd ejecutando lo siguiente:
sudo service xinetd restart
Hasta este punto hemos instalado de forma correcta Nagios en CentOS 7.
6. Configurar Nagios 4 en CentOS 7
Para realizar los respectivos ajustes en Nagios debemos acceder a su archivo de configuración usando la siguiente línea:
sudo nano /usr/local/nagios/etc/nagios.cfg
Allí debemos ir a la línea cfg_dir=/usr/local/nagios/etc/servers y descomentarla borrando el símbolo #:
Guardamos los cambios y salimos del archivo. Ahora crearemos un directorio donde estarán alojadas las configuraciones de cada uno de los servidores que sean monitoreados, para ello debemos realizar lo siguiente:
sudo mkdir /usr/local/nagios/etc/servers
sudo nano /usr/local/nagios/etc/objects/contacts.cfgAllí ubicaremos la línea email y veremos lo siguiente:
Allí ingresaremos la respectiva cuenta de correo donde recibiremos las alertas sobre el servidor. Guardamos los cambios y salimos del archivo.
7. Configurar comando check_nrpe en CentOS 7
Para configurar este comando que nos permitirá configurar las conexiones remotas accederemos a su respectivo archivo de configuración ejecutando lo siguiente:
sudo nano /usr/local/nagios/etc/objects/commands.cfg
Allí vamos al final del archivo y agregaremos lo siguiente:
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
Guardamos los cambios.
8. Configurar Apache en CentOS 7
El siguiente paso consisten en crear un usuario llamado nagiosadmin, mediante el cual tendremos acceso web usando Apache, para esto usaremos el comando htpasswd:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Sera necesario establecer las respectivas contraseñas:
Reiniciaremos los servicios de Apache:
sudo systemctl start nagios.service sudo systemctl restart httpd.service
Si deseamos que Nagios este configurado desde el inicio del sistema ejecutaremos la siguiente línea:
sudo chkconfig nagios on
sudo nano /etc/httpd/conf.d/nagios.conf
Allí debemos comentar añadiendo el símbolo # al inicio a las siguientes líneas:
***** allow,deny Allow from all
Y descomentar eliminando el símbolo # a las siguientes líneas:
# ***** deny,allow # Deny from all # Allow from 127.0.0.1
Guardamos los cambios. Sera necesario reiniciar los servicios de Apache:
sudo systemctl restart nagios.service sudo systemctl restart httpd.service
9. Acceder a Nagios 4 en CentOS 7
Con todos estos valores configurados podremos ir a cualquier navegador e ingresar la siguiente sintaxis:
htpp://IP/nagios
Se desplegará el siguiente mensaje de autentificación donde debemos ingresar el usuario y contraseña asignadas de Nagios:
Pulsamos en Iniciar sesión y este será el entorno de Nagios en CentOS 7:
Desde allí tendremos la posibilidad de realizar los respectivos análisis en las opciones laterales como:
Como hemos comprobado Nagios es una práctica herramienta para la gestión del proceso de supervisión de nuestros servidores. Te proponemos en el siguiente tutorial otra alternativa para que realices cómo monitorizar el rendimiento en Linux con Pydash.