Cómo configurar la herramienta de monitoreo de redes Naemon en Linux
Naemon es una aplicación de monitoreo de red y sistema de código abierto que vigila los hosts y otros servicios que usted especifique, le avisa cuando las cosas van mal y le notifica cuando mejoran. Naemon se basa en Nagios 4.0.2 y pretende ser un reemplazo directo de Nagios. Actualmente, Naemon Suite es aproximadamente equivalente a Nagios Core, lo que hace que Naemon Core sea el equivalente de «Nagios Core Core». Naemon es el término general de toda la «Suite Naemon» que consta de dos partes diferentes, Naemon Core y la interfaz web de Thruk Monitoring. Generalmente nos referiremos a naemon Suite como solo Naemon. En este artículo, instalaremos naemon en centos 7 y ubuntu 16.04 y exploraremos su uso en Centos a través de NPRE.
Características de Naemon
→ Monitoreo de servicios de red como SMTP, POP3, HTTP, NNTP, PING, FTP, etc.
→ Supervisión de los recursos del host (carga del procesador, uso del disco, uso de la memoria, etc.
→ Diseño de complemento simple que permite a los usuarios desarrollar fácilmente sus propias verificaciones de servicio personalizadas.
→ Verificaciones de servicio paralelas.
→ Interfaz web de Thruk Monitoring para editar la configuración y ver el estado actual de la red, historial de problemas, archivos de registro, informes, paneles, procesos comerciales, etc.
→ Capacidad para definir la jerarquía de hosts de la red utilizando hosts «principales», lo que permite la detección y distinción entre hosts inactivos y no accesibles.
→ Notificaciones de contacto cuando ocurren problemas con el servicio o el host y se resuelven (por correo electrónico, buscapersonas o un método definido por el usuario).
→ Capacidad para definir controladores de eventos que se ejecutarán durante el servicio o eventos de host para la resolución proactiva de problemas.
→ Rotación automática de archivos de registro.
→ Soporte para implementar hosts de monitoreo redundantes.
Componentes
Naemon tiene cuatro componentes, son Naemon core, Livestatus, Thruk y Plugins.
Núcleo de Naemon: El núcleo de naemon es el proceso que realiza el monitoreo real de su sistema.
Livestatus: Livestatus es una interfaz que sus herramientas pueden usar para consultar el núcleo de Naemon como una base de datos.
A través de: Thruk es la interfaz de usuario web que se envía con Naemon Suite.
Complementos: Naemon ejecuta estos complementos para determinar el estado actual de los hosts y servicios en su red. Hay una colección bien mantenida de complementos disponibles en Proyecto de Complementos de Monitoreo.
Instalar Naemon en Ubuntu 16
Para instalar naemon en Ubuntu 16, primero necesitamos instalar sus dependencias. Instale las dependencias de naemon ejecutando el siguiente comando en la terminal.
# sudo apt-get install bsd-mailx apache2 apache2-utils libapache2-mod-fcgid libfontconfig1 libjpeg62 libgd3 libxpm4 xvfb libmysqlclient20
Agregar Repositorio de Consol Labs a la base de datos apt.
# gpg --keyserver keys.gnupg.net --recv-keys F8C1CA08A57B9ED7 # gpg --armor --export F8C1CA08A57B9ED7 | apt-key add - # echo "deb http://labs.consol.de/repo/stable/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/labs-consol-stable.list
Ahora actualice la base de datos de apt.
# sudo apt-get update
Instale Naemon, el complemento de Nagios se instalará junto con naemon.
# sudo apt-get install naemon
Cambiar la ruta a los complementos de Nagios
# sudo vi /etc/naemon/resource.cfg
busque $ USER1 $ = / usr / lib / naemon / plugins y reemplácelo con $ USER1 $ = / usr / lib / nagios / plugins
Cambie la contraseña predeterminada para la interfaz de usuario web Thruk usando el siguiente comando.
# htpasswd /etc/thruk/htpasswd thrukadmin New password: Re-type new password: Updating password for user thrukadmin
Reinicie Apache y Naemon
# sudo service naemon restart # sudo service apache2 restart
Ahora puede acceder a la interfaz de usuario web de Naemon apuntando su navegador favorito a http: // SERVER-IP / naemon.
Inicie sesión con el nombre de usuario como thrukadmin y la contraseña que ha creado en el paso anterior.
Instalar Naemon en CentOS 7
Agregue el repositorio de consol lab a la base de datos de yum
# rpm -Uvh "https://labs.consol.de/repo/stable/rhel7/i386/labs-consol-stable.rhel7.noarch.rpm"
Instalar naemon
# yum install naemon*
Desactive SELINUX y hágalo persistente.
# setenforce 0 # vi /etc/selinux/config
Ahora edite la fila: «SELINUX = enforcing» y reemplácela con: «SELINUX = disabled»
Para el complemento nagios, instale el repositorio EPEL. A continuación, instale los complementos de nagios y nrpe
# yum install epel-release # yum install nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe
Habilitar apache y naemon
# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. # systemctl enable naemon Created symlink from /etc/systemd/system/multi-user.target.wants/naemon.service to /usr/lib/systemd/system/naemon.service.
Inicie Apache y naemon
# systemctl start httpd # systemctl start naemon
Habilitar thruk durante el inicio del sistema
# systemctl enable thruk thruk.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig thruk on
Empezar a través
# service thruk start Starting thruk.....( 11192) OK
Cambie la contraseña predeterminada para la interfaz de usuario web Thruk usando el siguiente comando.
# htpasswd /etc/thruk/htpasswd thrukadmin New password: Re-type new password: Updating password for user thrukadmin
Ahora puede acceder a la interfaz de usuario web de Naemon apuntando su navegador favorito a http: // SERVER-IP / naemon.
Ahora que tenemos un servidor naemon ejecutándose en una red, queremos agregar un host Linux remoto para monitorearlo a través del servidor naemon. Para eso, necesitamos instalar el complemento nagios y el ejecutor del complemento remoto Nagios, es decir, nrpe en el sistema / cliente remoto. El complemento de Nagios permite al servidor naemon ejecutar complementos de forma remota en un host Linux / Unix remoto. Nuestra configuración se ve a continuación:
Dirección IP | Nombre de host | |
Servidor Naemon (CentOS 7) |
10.0.0.55 | servidor-naemon |
Host / cliente remoto (CentOS 7) |
10.0.0.38 | node01 |
Configurar el host / cliente remoto de CentOS 7 (10.0.0.38)
Primero actualice su host / cliente remoto
# yum update
Instale el repositorio de EPEL.
# yum install epel-release
A continuación, instale nagios-plugins, openssl y nrpe
# yum install nrpe nagios-plugins-all openssl
Enumere todos los complementos de nagios disponibles.
# ls -l /usr/lib64/nagios/plugins/
Cambie al directorio de configuración de nagios y edite nrpe.cfg. Agregue la IP del servidor naemon a allowed_hosts, especifique server_port de su elección, command_timeout establecido en 60 y connection_timeout establecido en 300. El resto de los valores de configuración siguen siendo los mismos.
# cd /etc/nagios/ # vi nrpe.cfg log_facility=daemon pid_file=/var/run/nrpe/nrpe.pid server_port=5666 #server_address=127.0.0.1 nrpe_user=nrpe nrpe_group=nrpe allowed_hosts=127.0.0.1,10.0.0.55 dont_blame_nrpe=0 allow_bash_command_substitution=0 # command_prefix=/usr/bin/sudo debug=1 command_timeout=60 connection_timeout=300 #allow_weak_random_seed=1 #include=<somefile.cfg> command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1 command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200 #command[check_users]=/usr/lib64/nagios/plugins/check_users -w $ARG1$ -c $ARG2$ #command[check_load]=/usr/lib64/nagios/plugins/check_load -w $ARG1$ -c $ARG2$ #command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ #command[check_procs]=/usr/lib64/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ include_dir=/etc/nrpe.d/
Reiniciar NPRE
# systemctl start nrpe
usando netstat, averigüe si npre está escuchando en el puerto 5666
# netstat -pltn
Permitir que el firewall permita el tráfico al puerto 5666
Para usuarios de firewalld
# firewall-cmd --permanent --add-port=5666/tcp # firewall-cmd --reload
Para usuarios de IPTABLE
# iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT # service iptables save # service iptables restart
NPRE ahora podrá aceptar solicitudes del servidor naemon para ejecutar comandos y enviarle los resultados.
Configurar el servidor Naemon (10.0.0.55)
Ya hemos instalado el servidor naemon en el paso 1. Definamos ahora la configuración para el host, el servicio y los comandos en el servidor. Verifique las plantillas para el host, los servicios dentro del directorio /etc/naemon/conf.d/templates. Puede crear un archivo de configuración para el host y el servicio por separado cuando aumente su número de instancias de supervisión. Para este tutorial, mantendremos la configuración del host y del servicio en el mismo archivo, es decir, en node01.cfg
# cd /etc/naemon/conf.d # vi /etc/naemon/conf.d/node01.cfg define host{ use linux-server host_name node01 alias node01 address 10.0.0.55 } define service{ use generic-service host_name node01 service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use generic-service host_name node01 service_description Current Load check_command check_nrpe!check_load } define service{ use generic-service host_name node01 service_description Total Processes check_command check_nrpe!check_users }
Edite el archivo commands.cfg para que nrpe pueda ejecutar el comando en node01 para recuperar los datos.
# vi /etc/naemon/conf.d/commands.cfg define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
Reinicie naemon y apache
# systemctl restart naemon # systemctl restart httpd
Asegúrese de que el complemento NRPE del servidor naemon pueda comunicarse con el demonio nrpe en la máquina host / cliente remota.
# /usr/lib64/naemon/plugins/check_nrpe -H 10.0.0.38 NRPE v2.15
Actualice el navegador y haga clic en «Host» desde la barra lateral izquierda a través de webUI, podrá encontrar el host remoto (nodo01) en «Detalles de estado del host para todos los grupos de host»
Haga clic en el nombre de host «node01», se le mostrarán los detalles de la información del estado del host para node01.
Conclusión
Naemon es una bifurcación del proyecto Nagios y su interfaz de complemento es 100% compatible con nagios. El núcleo de Naemon se basa en el núcleo de nagios 4 pero con varias correcciones de errores y mejoras en el rendimiento. Por lo tanto, puede cambiar fácilmente a naemon con varias mejoras sobre nagios 4. En este tutorial, hemos agregado un único host remoto para monitorear, pero ahora puede continuar agregando más funcionalidades como notificaciones, informes, datos de rendimiento, etc., como se describe en guía de usuario de naemon.