Nagios es un software de código abierto para el monitoreo de sistemas y redes. Nagios puede monitorear la actividad de un host y sus servicios, y proporciona una advertencia/alerta si sucede algo malo en el servidor. Nagios puede ejecutarse en sistemas operativos Linux. En este momento, estoy usando Ubuntu 16.04 para la instalación.
Requisitos
- 2 Ubuntu 16.04:servidores de 64 bits
- 1 - Servidor Nagios con IP:192.168.1.9
- 2 - Cliente Ubuntu con IP:192.168.1.10
- Acceso raíz/Sudo
Lo que haremos en este tutorial:
- Software las dependencias del paquete como - LAMP, etc.
- Configuración de usuarios y grupos.
- Instalando Nagios.
- Configuración de Apache.
- Probando el servidor Nagios.
- Agregar un host a monitorear.
Instalando los requisitos previos
Nagios requiere el compilador gcc y build-essentials para la compilación, LAMP (Apache, PHP, MySQL) para la interfaz web de Nagios y Sendmail para enviar alertas desde el servidor. Para instalar todos esos paquetes, ejecute este comando (es solo 1 línea):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
Configuración de usuarios y grupos
Para que se ejecute Nagios, debe crear un nuevo usuario para Nagios. Nombraremos al usuario "nagios" y además crea un grupo llamado "nagcmd" . Agregamos el nuevo usuario al grupo como se muestra a continuación:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data
Instalando Nagios
Paso 1:descarga y extrae el núcleo de Nagios
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0
Paso 2:Compilar Nagios
Antes de compilar Nagios, deberá configurarlo con el usuario y el grupo que creó anteriormente.
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Para obtener más información, utilice:./configure --help .
Ahora para instalar Nagios:
make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Y copie el directorio evenhandler al directorio de nagios:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Paso 3:instale los complementos de Nagios
Descargue y extraiga los complementos de Nagios:
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/
Instale los complementos de Nagios con los siguientes comandos:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
Paso 4:configurar Nagios
Una vez completada la fase de instalación, puede encontrar la configuración predeterminada de Nagios en /usr/local/nagios/.
Configuraremos Nagios y el contacto de Nagios.
Edite la configuración predeterminada de Nagios con vim:
vim /usr/local/nagios/etc/nagios.cfg
descomente la línea 51 para la configuración del monitor del host.
cfg_dir=/usr/local/nagios/etc/servers
Guardar y salir.
Agregue una nueva carpeta llamada servidores:
mkdir -p /usr/local/nagios/etc/servers
El contacto de Nagios se puede configurar en el archivo contact.cfg. Para abrirlo usa:
vim /usr/local/nagios/etc/objects/contacts.cfg
Luego reemplace el correo electrónico predeterminado con su propio correo electrónico.
Configurando Apache
Paso 1:habilite los módulos de Apache
sudo a2enmod rewrite
sudo a2enmod cgi
Puede usar el comando htpasswd para configurar un usuario nagiosadmin para la interfaz web de nagios
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
y escriba su contraseña.
Paso 2:habilitar el host virtual de Nagios
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Paso 3:iniciar Apache y Nagios
service apache2 restart
service nagios start
Cuando se inicia Nagios, es posible que vea el siguiente error:
Starting nagios (via systemctl): nagios.serviceFailed
Y así es como solucionarlo:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios
Ahora edite el archivo de Nagios:
vim /etc/init.d/nagios
... y agrega el siguiente código:
DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock
Hazlo ejecutable e inicia Nagios:
chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start
Prueba del servidor Nagios
Abra su navegador y acceda a la ip del servidor de Nagios, en mi caso: http://192.168.1.9/nagios .
Iniciar sesión en Nagios con apache htpasswd.
Panel de administración de Nagios
Agregar un host a monitorear
En este tutorial, agregaré un host Ubuntu para monitorear el servidor Nagios que hemos creado anteriormente.
Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10
Paso 1:conectarse al host de ubuntu
ssh [email protected]
Paso 2:instalar el servicio NRPE
sudo apt-get install nagios-nrpe-server nagios-plugins
Paso 3:configurar NRPE
Una vez completada la instalación, edite el archivo nrpe /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
... y agregue la IP del servidor Nagios 192.168.1.9 a la dirección_servidor.
dirección_servidor=192.168.1.9
Paso 4:reiniciar NRPE
service nagios-nrpe-server restart
Paso 5:agregar Ubuntu Host al servidor Nagios
Conéctese al servidor de Nagios:
ssh [email protected]
Luego cree un nuevo archivo para la configuración del host en /usr/local/nagios/etc/servers/.
vim /usr/local/nagios/etc/servers/ubuntu_host.cfg
Agregue las siguientes líneas:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host address 192.168.1.10 register 1 } define service { host_name ubuntu_host service_description PING check_command check_ping!100.0,20%!500.0,60% max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check Users check_command check_local_users!20!50 max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Local Disk check_command check_local_disk!20%!10%!/ max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check SSH check_command check_ssh max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Total Process check_command check_local_procs!250!400!RSZDT max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 }
Puede encontrar muchos check_command en el archivo /usr/local/nagios/etc/objects/commands.cfg. Consulte allí si desea agregar más servicios como DHCP, POP, etc.
Y ahora revisa la configuración:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
... para ver si la configuración es correcta.
Paso 6:reiniciar todos los servicios
En Ubuntu Host, inicie el servicio NRPE:
service nagios-nrpe-server restart
... y en el servidor de Nagios, inicie Apache y Nagios:
service apache2 restart
service nagios restart
Paso 7:prueba del host de Ubuntu
Abra el servidor Nagios desde el navegador y vea ubuntu_host siendo monitoreado.
El host de Ubuntu está disponible en el host monitoreado.
Todos los servicios monitoreados sin error.
Conclusión
Nagios es una aplicación de código abierto para monitorear un sistema. Nagios ha sido ampliamente utilizado debido a la facilidad de configuración. Nagios es compatible con varios complementos, e incluso puede crear sus propios complementos. Mire aquí para obtener más información.