En este post aprenderás cómo instalar y configurar Nagios en un servidor Centos7. Nagios es un complejo sistema de monitorización que permite controlar varios servidores.
Nagios se configura mediante línea de comandos, para facilitar la tarea instalarás NagiosQL que permitirá configurar Nagios vía web.
Instalar LAMP
En este artículo se explica al detalle cómo hacerlo, aquí dejamos los comandos necesarios:
# yum install wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip
# systemctl start httpd.service
# systemctl enable httpd.service
# yum install mariadb-server mariadb
# systemctl start mariadb.service
# systemctl enable mariadb.service
# mysql_secure_installation
# yum install epel-release
# yum install php php-mysql php-cli php-pear php-develInstalar Nagios
En el momento de hacer este artículo la versión estable de Nagios es la 4.3.4, por favor visita la web de Nagios por si hubiera alguna versión más reciente e instala la última versión.
Para usar Nagios necesitarás crear un usuario y añadirlo al grupo apache:
# useradd nagios
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagios,nagcmd apacheAhora ya podrás proceder a descargar Nagios e instalarlo:
# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
# tar -xzvf nagios-4*
# cd nagios-*
# ./configure --with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf
# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminEn este último paso nos habrás solicitado que asigne una contraseña al usuario “nagiosadmin” será el utilizarás para acceder vía web a Nagios.
Instalar plugins Nagios
Nagios requiere de plugins para poder realizar comprobaciones de servicios. En el momento de hacer este artículo la última versión de plugins es la 2.2.1, por favor visita la web de Nagios por si hubiera alguna versión más reciente e instala la última versión.
Para instalar los plugins de Nagios ejecuta:
# cd ..
# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
# tar -xzvf nagios-plugins*
# cd nagios-plugins*
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make installAhora ya tienes Nagios instalado, por lo cual actívalo e inicialo:
# systemctl restart httpd
# systemctl enable nagios
# systemctl start nagiosInstalación NagiosQL
NagiosQL es una interface web que nos permite configurar Nagios sin tener que entrar a editar ficheros por SSH.
# cd ..
# wget https://netcologne.dl.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.3.0/nagiosql_330.tar.gz
# tar -xzvf nagiosql_330.tar.gz
# chmod 777 nagiosql33/config
# mv nagiosql33 /usr/local/nagios/share/
# mkdir /etc/nagiosql
# chmod 777 /etc/nagiosqlActualizala configuración de PHP para establecer la zona horaria correcta:
# vi /etc/php.inidate.timezone = “Europe/Madrid# systemctl restart httpdAhora crea una base de datos, usuario y contraseña para usar NagiosQL:
MariaDB [(none)]> create database nagios character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on nagios.* to nagios@localhost identified by 'nagiostest';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit;
ByeConfiguración NagiosQL
Ahora que ya tienes Nagios y NagiosQL instalado procede a la configuración de NagiosQL mediante la interfaz web, para ello entra al navegador a http://IP-Publica/nagios/nagiosql33/install/index.php y rellena los datos que nos soliciten, aquí dejamos unas capturas del proceso:
Configuración NagiosQL con Nagios
Ahora que ya tienes NagiosQL es hora hacer que funcione en conjunto con Nagios para ello edita:
# vi /usr/local/nagios/etc/nagios.cfgHay que comentar todos los cfg_file hasta routers y añadir los que indicamos a continuación:
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.
# You can split your object definitions across several config files
# if you wish (as shown below), or keep them all in a single config file.
# You can specify individual object config files as shown below:
#cfg_file=/usr/local/nagios/etc/objects/commands.cfg
#cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
#cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
#cfg_file=/usr/local/nagios/etc/objects/templates.cfg
# Definitions for monitoring the local (Linux) host
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
# Definitions for monitoring a Windows machine
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
# Definitions for monitoring a router/switch
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
# Definitions for monitoring a network printer
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
# You can also tell Nagios to process all config files (with a .cfg
# extension) in a particular directory by using the cfg_dir
# directive as shown below:
#cfg_dir=/usr/local/nagios/etc/servers
#cfg_dir=/usr/local/nagios/etc/printers
#cfg_dir=/usr/local/nagios/etc/switches
#cfg_dir=/usr/local/nagios/etc/routers
cfg_file=/etc/nagiosql/contacttemplates.cfg
cfg_file=/etc/nagiosql/contactgroups.cfg
cfg_file=/etc/nagiosql/contacts.cfg
cfg_file=/etc/nagiosql/timeperiods.cfg
cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg
cfg_file=/etc/nagiosql/servicegroups.cfg
cfg_dir=/etc/nagiosql/hosts
cfg_dir=/etc/nagiosql/services
cfg_file=/etc/nagiosql/hosttemplates.cfg
cfg_file=/etc/nagiosql/servicetemplates.cfg
cfg_file=/etc/nagiosql/servicedependencies.cfg
cfg_file=/etc/nagiosql/serviceescalations.cfg
cfg_file=/etc/nagiosql/hostdependencies.cfg
cfg_file=/etc/nagiosql/hostescalations.cfg
cfg_file=/etc/nagiosql/hostextinfo.cfg
cfg_file=/etc/nagiosql/serviceextinfo.cfgAhora entra en la interfaz web de NagiosQL y entra en “Administración > Config targets” y edita localhost. Luego dirígete a “Herramientas > Control Nagios” y haz todas las comprobaciones. Aquí dejamos capturas de pantalla de este proceso.
Ya podrás empezar a usar Nagios configurando los servidores desde NagiosQL.
Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites, consúltanos!