Cómo instalar Nagios 4.4.5 en RHEL / CentOS 8/7 y Fedora 30


Nagios es una increíble herramienta de monitoreo de código abierto, le brinda un entorno de monitoreo más completo para estar siempre atento a todas sus máquinas/redes , ya sea que se encuentre en su centro de datos o solo en sus pequeños laboratorios.

Con Nagios, puede monitorear sus hosts remotos y sus servicios de forma remota en una sola ventana. Muestra advertencias e indica si algo sale mal en sus servidores, lo que eventualmente nos ayuda a detectar algunos problemas antes de que ocurran. Nos ayuda a reducir el tiempo de inactividad y las pérdidas comerciales.

Recientemente, Nagios lanzó sus últimas versiones Nagios Core 4.4.5 y su última versión estable de complementos de Nagios 2.2.1 el 20 de agosto de 2019.

Este artículo está destinado a guiarlo con instrucciones sencillas sobre cómo instalar la última versión de Nagios Core 4.4.5 desde el código fuente (tarball) en las distribuciones RHEL 8/7/6, CentOS 8/7/6 y Fedora 26-30.

En 30 minutos estará monitoreando su máquina local, sin procedimiento de instalación avanzada, solo instalación básica que funcionará al 100% en la mayoría de los servidores Linux actuales.

Tenga en cuenta: Las instrucciones de instalación que se muestran aquí están escritas en base a la distribución de Linux CentOS 7.5.

Instalación de Nagios 4.4.5 y Nagios Plugin 2.2.1

Si sigue estas instrucciones correctamente, terminará con la siguiente información.

  1. Nagios and its plugins will be installed under /usr/local/nagios directory.
  2. Nagios will be configured to monitor few services of your local machine (Disk Usage, CPU Load, Current Users, Total Processes, etc.)
  3. Nagios web interface will be available at http://localhost/nagios

Necesitamos instalar Apache, PHP y algunas bibliotecas como gcc, glibc, glibc-common y las bibliotecas GD y sus bibliotecas de desarrollo antes de instalar Nagios 4.4.5 con la fuente. Y para hacerlo, podemos usar el instalador de paquetes predeterminado de yum.

[[email protected]]# yum install -y httpd httpd-tools php gcc glibc glibc-common gd gd-devel make net-snmp

-------------- On Fedora -------------- 
[[email protected]]# dnf install -y httpd httpd-tools php gcc glibc glibc-common gd gd-devel make net-snmp

Cree un nuevo usuario de nagios usando el comando useradd y la cuenta de grupo nagcmd y establezca una contraseña.

[[email protected]]# useradd nagios
[[email protected]]# groupadd nagcmd

A continuación, agregue tanto el usuario nagios como el usuario apache al grupo nagcmd usando el comando usermod.

[[email protected]]# usermod -G nagcmd nagios
[[email protected]]# usermod -G nagcmd apache

Cree un directorio para su instalación de Nagios y todas sus descargas futuras.

[[email protected]]# mkdir /root/nagios
[[email protected]]# cd /root/nagios

Ahora descargue los últimos paquetes de Nagios Core 4.4.5 y los complementos de Nagios 2.2.1 con el comando wget.

[[email protected] nagios~]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz
[[email protected] nagios~]# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Necesitamos extraer los paquetes descargados con el comando tar de la siguiente manera.

[[email protected] nagios~]# tar -xvf nagios-4.4.5.tar.gz
[[email protected] nagios~]# tar -xvf nagios-plugins-2.2.1.tar.gz

Cuando extraiga estos archivos tar con el comando tar, aparecerán dos nuevas carpetas en ese directorio.

[[email protected] nagios ~]# ls -l
total 13520
drwxrwxr-x 18 root root     4096 Aug 20 17:43 nagios-4.4.5
-rw-r--r--  1 root root 11101966 Aug 20 17:48 nagios-4.4.5.tar.gz
drwxr-xr-x 15 root root     4096 Apr 19 12:04 nagios-plugins-2.2.1
-rw-r--r--  1 root root  2728818 Apr 19 12:04 nagios-plugins-2.2.1.tar.gz

Ahora, primero configuraremos Nagios Core y para hacerlo debemos ir al directorio de Nagios y ejecutar el archivo de configuración y si todo va bien, mostrará la salida al final como salida de muestra. Por favor ver más abajo.

[[email protected] nagios~]# cd nagios-4.4.5/
[[email protected] nagios-4.4.5 ]# ./configure --with-command-group=nagcmd
Creating sample config files in sample-config/ ...


*** Configuration summary for nagios 4.4.5 2019-08-20 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagcmd
             Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
    Install ${includedir}:  /usr/local/nagios/include/nagios
                Lock file:  /run/nagios.lock
   Check result directory:  /usr/local/nagios/var/spool/checkresults
           Init directory:  /lib/systemd/system
  Apache conf.d directory:  /etc/httpd/conf.d
             Mail program:  /usr/bin/mail
                  Host OS:  linux-gnu
          IOBroker Method:  epoll

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):  /usr/bin/traceroute


Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.

Después de la configuración, necesitamos compilar e instalar todos los binarios con el comando make all y make install, instalará todas las bibliotecas necesarias en su máquina y podemos continuar.

[[email protected] nagios-4.4.5 ]# make all
[[email protected] nagios-4.4.5 ]# make install
*** Compile finished ***

If the main program and CGIs compiled without any errors, you
can continue with testing or installing Nagios as follows (type
'make' without any arguments for a list of all possible options):

  make test
     - This runs the test suite

  make install
     - This installs the main program, CGIs, and HTML files

  make install-init
     - This installs the init script in /lib/systemd/system

  make install-daemoninit
     - This will initialize the init script
       in /lib/systemd/system

  make install-groups-users
     - This adds the users and groups if they do not exist

  make install-commandmode
     - This installs and configures permissions on the
       directory for holding the external command file

  make install-config
     - This installs *SAMPLE* config files in /usr/local/nagios/etc
       You'll have to modify these sample files before you can
       use Nagios.  Read the HTML documentation for more info
       on doing this.  Pay particular attention to the docs on
       object configuration files, as they determine what/how
       things get monitored!

  make install-webconf
     - This installs the Apache config file for the Nagios
       web interface

  make install-exfoliation
     - This installs the Exfoliation theme for the Nagios
       web interface

  make install-classicui
     - This installs the classic theme for the Nagios
       web interface

El siguiente comando instalará los scripts de inicio para Nagios.

[[email protected] nagios-4.4.5 ]# make install-init

Para que Nagios funcione desde la línea de comandos, necesitamos instalar el modo de comando.

[[email protected] nagios-4.4.5 ]# make install-commandmode

A continuación, instale los archivos de muestra de Nagios, ejecute el siguiente comando.

[[email protected] nagios-4.4.5 ]# make install-config
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg
/usr/bin/install -c -b -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/resource.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/templates.cfg /usr/local/nagios/etc/objects/templates.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/commands.cfg /usr/local/nagios/etc/objects/commands.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/windows.cfg /usr/local/nagios/etc/objects/windows.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/nagios/etc/objects/printer.cfg
/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/nagios/etc/objects/switch.cfg

*** Config files installed ***

Remember, these are *SAMPLE* config files.  You'll need to read
the documentation for more information on how to actually define
services, hosts, etc. to fit your particular needs.

Abra el archivo "contactos.cfg" con su elección de editor y configure la dirección de correo electrónico asociada con la definición de contacto de nagiosadmin para recibir alertas por correo electrónico.

# vi /usr/local/nagios/etc/objects/contacts.cfg
###############################################################################
###############################################################################
#
# CONTACTS
#
###############################################################################
###############################################################################

# Just one contact defined by default - the Nagios admin (that's you)
# This contact definition inherits a lot of default values from the 'generic-contact'
# template which is defined elsewhere.

define contact{
       contact_name                    nagiosadmin             ; Short name of user
       use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
       alias                           Nagios Admin            ; Full name of user

       email                           [email protected]     ; *** CHANGE THIS TO YOUR EMAIL ADDRESS ****
       }

Hemos terminado con toda la configuración en el backend, ahora configuraremos la Interfaz Web para Nagios con el siguiente comando. El siguiente comando configurará la interfaz web para Nagios y se creará un usuario administrador web "nagiosadmin".

[[email protected] nagios-4.4.5 ]# make install-webconf

En este paso, crearemos una contraseña para "nagiosadmin". Después de ejecutar este comando, proporcione una contraseña dos veces y manténgala en memoria porque esta contraseña se utilizará cuando inicie sesión en la interfaz web de Nagios.

[[email protected] nagios-4.4.5]# htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

Reinicie Apache para que la nueva configuración surta efecto.

[[email protected] nagios-4.4.5]# service httpd start               [On RHEL/CentOS 6]
[[email protected] nagios-4.4.5]# systemctl start httpd.service     [On RHEL/CentOS 7/8 and Fedora]

Hemos descargado los complementos de Nagios en/root/nagios. Vaya allí y configúrelo e instálelo como se indica a continuación.

[[email protected] nagios-4.4.5]# cd /root/nagios
[[email protected] nagios]# cd nagios-plugins-2.2.1/
[[email protected] nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.2.1]# make
[[email protected] nagios-plugins-2.2.1]# make install

Ahora hemos terminado con la configuración de Nagios y es hora de verificarlo y para hacerlo, inserte el siguiente comando. Si todo va bien, se mostrará de forma similar a la siguiente salida.

[[email protected] nagios]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.4.5
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2019-08-20
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
	Checked 8 services.
	Checked 1 hosts.
	Checked 1 host groups.
	Checked 0 service groups.
	Checked 1 contacts.
	Checked 1 contact groups.
	Checked 24 commands.
	Checked 5 time periods.
	Checked 0 host escalations.
	Checked 0 service escalations.
Checking for circular paths...
	Checked 1 hosts
	Checked 0 service dependencies
	Checked 0 host dependencies
	Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

Para que Nagios funcione después de reiniciar, necesitamos agregar nagios y httpd con chkconfig y el comando systemctl.

[[email protected] ]# chkconfig --add nagios
[[email protected] ]# chkconfig --level 35 nagios on
[[email protected] ]# chkconfig --add httpd
[[email protected] ]# chkconfig --level 35 httpd on
[[email protected] ]# systemctl enable nagios
[[email protected] ]# systemctl enable httpd

Reinicie Nagios para que la nueva configuración surta efecto.

[[email protected] ]# service nagios start              [On RHEL/CentOS 6]
[[email protected] ]# systemctl start nagios.service    [On RHEL/CentOS 7/8 and Fedora]

Su Nagios está listo para funcionar, por favor ábralo en su navegador con “http:/dirección-IP-de-su-servidor/nagios” o “http:/FQDN/nagios” y proporcione el nombre de usuario “nagiosadmin” y la contraseña.

¡Felicidades! Ha instalado y configurado correctamente Nagios y sus complementos. Acaba de comenzar su viaje hacia la supervisión.

Actualice Nagios 3.xa Nagios 4.4.5

Si ya está ejecutando una versión anterior de Nagios, puede actualizarla en cualquier momento. Para hacerlo, solo necesita descargar el último archivo tar y configurarlo como se muestra a continuación.

[[email protected] ]# service nagios stop
[[email protected] ]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz
[[email protected] ]# tar -zxvf nagios-4.4.5.tar.gz
[[email protected] ]# cd nagios-4.4.5
[[email protected] ]# ./configure
[[email protected] ]# make all
[[email protected] ]# make install
[[email protected] ]# service nagios start

Eso es todo por ahora, en mis próximos artículos, le mostraré cómo agregar Linux, Windows, impresoras, conmutadores y dispositivos al servidor de monitoreo de Nagios. Si tiene algún problema durante la instalación, comuníquese con nosotros a través de los comentarios. Hasta entonces, permanece atento y conectado a Tecmint y no te olvides de darnos Me gusta y compartirnos para difundir.

Leer también:

  1. How to Add Linux Host to Nagios Monitoring Server
  2. How to Add Windows Host to Nagios Monitoring Server