Tutorial de Nagios - Monitoreo continuo con Nagios



Tutorial de Nagios: Nagios supervisa toda su infraestructura de TI para garantizar que los sistemas, aplicaciones, servicios y procesos comerciales funcionen correctamente.

Tutorial de Nagios:

Creo que hay muy pocas publicaciones sobre Nagios y no hay mucha información relevante disponible en Internet. Entonces, creo que esta publicación le dará una buena claridad sobre esta herramienta de monitoreo. Nagios monitorea toda su infraestructura de TI para garantizar que los sistemas, aplicaciones, servicios y procesos comerciales estén funcionando correctamente.Es parte integral del ciclo de vida de DevOps y es imprescindible para .En este tutorial de Nagios, cubriré los siguientes temas:

  1. ¿Por qué necesitamos un seguimiento continuo?
  2. ¿Qué es el monitoreo continuo?
  3. ¿Qué es Nagios?
  4. ¿Cómo instalar Nagios?
  5. Cómo agregar un servidor remoto usando NRPE (Ejecutor de complemento remoto de Nagios).

Comencemos este tutorial de Nagios, entendiendo por qué necesitamos el monitoreo continuo porque todo existe por una razón. Entonces, intentemos averiguar esa razón.





¿Por qué necesitamos un seguimiento continuo?

Las herramientas de monitoreo continuo resuelven cualquier error del sistema (poca memoria, servidor inaccesible, etc.) antes de que tengan un impacto negativo en la productividad de su negocio.

Las razones importantes para usar una herramienta de monitoreo son:



  • Detecta cualquier problema de red o servidor
  • Determina la causa raíz de cualquier problema.
  • Mantiene la seguridad y disponibilidad del servicio
  • Supervisa y soluciona problemas de rendimiento del servidor.
  • Nos permite planificar las actualizaciones de la infraestructura antes de que los sistemas obsoletos causen fallas.
  • Puede responder a problemas a la primera señal de un problema.
  • Se puede utilizar para solucionar problemas automáticamente cuando se detectan
  • Garantiza que las interrupciones de la infraestructura de TI tengan un efecto mínimo en los resultados de su organización.
  • Puede monitorear toda su infraestructura y procesos comerciales

Sí, hace mucho trabajo genial, pero ¿qué es?

¿Qué es el monitoreo continuo?

Primero permítame decirle dónde se encuentra el monitoreo continuo en el ciclo de vida de DevOps, considere el siguiente diagrama:

DevOps Life-Cyce - Tutorial de Nagios - Edureka



Al mirar el diagrama, debe pensar que esta es la última etapa del ciclo de vida de DevOps, pero no es así. El ciclo de vida de DevOps no tiene fin, y esa es la razón del símbolo de infinito. El monitoreo continuo entra en escena, una vez que la aplicación se implementa en los servidores de producción.

El monitoreo continuo se trata de la capacidad de una organización para detectar, informar, responder, contener y mitigar los ataques que ocurren en su infraestructura.

En realidad, la supervisión continua no es nueva, existe desde hace algún tiempo. Durante años, nuestros profesionales de seguridad están realizando análisis estáticos desde: registro del sistema, registros de firewall, registros de IDS, registros de IPS, etc. Pero no proporcionó el análisis y la respuesta adecuados. El enfoque de monitoreo continuo de hoy nos brinda la capacidad de agregar todos los eventos que mencioné anteriormente, relacionarlos, compararlos y luego estimar la postura de riesgo de la organización.

Si tomamos todas estas piezas y aseguramos el entrelazamiento entre ellas. Este es el quid de la monitorización continua.

Permítanme explicar esto con un caso de uso.Considere el diagrama a continuación:

Ahora, déjame explicarte el diagrama anterior:

  1. Disponemos de varias herramientas de seguridad, como Firewall, IDS, End Point Protection, etc., que están conectadas con un sistema de gestión de eventos e información de seguridad.
  2. Para lograr el monitoreo continuo, necesitamos que todas las partes se comuniquen entre sí, déjame explicarte eso.
  3. Tenemos herramientas de seguridad y una serie de 'puntos finales', que pueden incluir clientes y servidores, enrutadores, conmutadores, dispositivos móviles, etc.
  4. Estos dos grupos pueden luego comunicarse con un sistema de gestión de eventos e información de seguridad (SIEM), a través de un lenguaje común y de una manera más automatizada.
  5. Conectado a este SIEM hay dos componentes importantes, el primero es un Data Warehouse. Ahora, a este almacén de datos, conectaremos 'Análisis' e 'Inteligencia de seguridad'.
  6. La inteligencia de seguridad (SI) es la información relevante para proteger una organización de amenazas internas y externas, así como los procesos, políticas y herramientas diseñadas para recopilar y analizar esa información.
  7. Este SIEM también está conectado a un 'Sistema de cumplimiento y riesgo de gobernanza' que básicamente proporciona un panel de control.
  8. A este 'Sistema de cumplimiento y riesgo de gobernanza' adjuntamos una base de datos de riesgos. Esto nos da 'inteligencia procesable'.
  9. La inteligencia procesable no es más que información sobre la que se puede actuar, con la implicación adicional de que las acciones debería ser tomado.

Entonces, aquí, estamos monitoreando los eventos de manera continua y determinando qué nivel de riesgo estamos experimentando. Con esto, podemos correlacionar los eventos en el SIEM. Podemos realizar la detección de anomalías y comportamiento de la red en el 'motor de análisis'. De esto se trata el monitoreo continuo:

La integración de una organizaciónherramientas de seguridad,la agregación,normalización ycorrelación de los datos producidos por las herramientas de seguridad. El análisis de esos datos, basado en los objetivos de riesgo de la organización y el conocimiento de amenazas, y respuesta casi en tiempo real a los riesgos identificados.

'Si no puede medirlo, no puede administrarlo'. Espero que sepas de lo que estoy hablando.

A continuación, en este tutorial de Nagios, te presentaré una de las herramientas de monitoreo más famosas, 'Nagios'.

¿Qué es Nagios?

Nagios se utiliza para el monitoreo continuo de sistemas, aplicaciones, servicios y procesos comerciales, etc.en una cultura DevOps. En el caso de una falla, Nagios puede alertar al personal técnico del problema, permitiéndoles comenzar los procesos de reparación antes de que las interrupciones afecten los procesos comerciales, los usuarios finales o los clientes. Con Nagios, no tiene que explicar por qué una interrupción invisible de la infraestructura afecta los resultados de su organización.

Déjame explicarte cómo funciona Nagios.Considere el diagrama a continuación:

Nagios se ejecuta en un servidor, generalmente como un demonio o un servicio.

Periódicamente ejecuta complementos que residen en el mismo servidor, se ponen en contacto con hosts o servidores en su red o en Internet. Se puede ver la información de estado utilizando la interfaz web. También puede recibir notificaciones por correo electrónico o SMS si sucede algo.
El demonio de Nagios se comporta como un programador que ejecuta ciertos scripts en ciertos momentos. Almacena los resultados de esos scripts y ejecutará otros scripts si estos resultados cambian.

Complementos: Estasson ejecutables compilados o scripts (scripts de Perl, scripts de shell, etc.) que se pueden ejecutar desde una línea de comando para verificar el estado de un host o servicio. Nagios usa los resultados de los complementos para determinar el estado actual de los hosts y servicios en su red.

Analicemos ahora su arquitectura.

Arquitectura de Nagios:

  • Nagios se basa en una arquitectura de servidor / agentes.
  • Por lo general, en una red, un servidor Nagios se ejecuta en un host y los complementos interactúan con los hosts locales y remotos que necesitan ser monitoreados.
  • Estos complementos enviarán información al Programador, que la muestra en una GUI.

También necesito explicarte NRPE (Nagios Remote Plugin Executor).

El complemento NRPE está diseñado para permitirle ejecutar complementos de Nagios en máquinas remotas Linux / Unix. La razón principal para hacer esto es permitir que Nagios monitoree los recursos “locales” (como la carga de la CPU, el uso de memoria, etc.) en máquinas remotas. Dado que estos recursos públicos no suelen estar expuestos a máquinas externas, se debe instalar un agente como NRPE en las máquinas remotas Linux / Unix.

Considere el diagrama a continuación:

  • El complemento check_nrpe reside en la máquina de monitoreo local.
  • El demonio NRPE se ejecuta en la máquina remota Linux / Unix.
  • Existe una conexión SSL (Secure Socket Layer) entre el host de monitoreo y el host remoto como se muestra en el diagrama anterior.

Ahora en este tutorial de Nagios, es hora de que algunos Las manos en .

Comencemos instalando Nagios Core

Instale Nagios Core:

El proceso completo para instalar Nagios se puede resumir en cuatro pasos:

  1. Instalar los paquetes necesarios en el servidor de supervisión
  2. Instale Nagios Core, Nagios Plugins y NRPE (Nagios Remote Plugin Executor)
  3. Configurar la contraseña de Nagios para acceder a la interfaz web
  4. Instalar NRPE en el cliente

Paso - 1: Instale los paquetes necesarios en el servidor de supervisión:

Visite el sitio web: http://dl.fedoraproject.org/pub/epel/6/

Haga clic en i386 y será redirigido a una página.

Como estoy usando CentOS 6, haré clic derecho y copiaré la ubicación del enlace de ' epel-release-6-8.noarch.rpm ', Como se muestra en la captura de pantalla anterior.

Abra la terminal y use rpm -Uvh comando y pegue el enlace.

Necesitamos descargar un repositorio más, para eso visite el sitio web ' http://rpms.famillecollet.com/enterprise/

Haga clic con el botón derecho y copie la ubicación del enlace para ' remi-release-6.rpm

Vuelva a abrir la terminal y use rpm -Uvh comando y pegue el enlace.

Bien, hemos terminado con los requisitos previos. Procedamos al siguiente paso.

Paso - 2: Instale Nagios Core, Nagios Plugins y NRPE (Nagios Remote Plugin Executor):

Ejecute el siguiente comando en la terminal:

yum -y instalar nagios nagios-plugins-all nagios-plugins-nrpe nrpe httpd php

Esto instalará Nagios, complementos de Nagios, complementos para NRPE, NRPE, Apache y PHP

Se requiere el servidor web Apache para monitorear el estado actual del servidor web.

Php se utiliza para procesar el contenido dinámico de la fecha del sitio.

A continuación, necesitamos habilitar el servicio Apache y Nagios:

chkconfig httpd en && chkconfig nagios en

Nuestro siguiente paso es iniciar Nagios y Apache:

service httpd start && service nagios start

Ahora, habilitaré la memoria de intercambio de al menos 1 GB. Es hora de crear el archivo de intercambio usando el comando dd:

dd if = / dev / zero of = / swap bs = 1024 count = 2097152

Swap se utiliza básicamente para liberar información de la RAM a la que no se accede con tanta frecuencia y moverla a una partición específica de nuestro disco duro.

Ahora que ha creado la partición de intercambio, use el comando mkswap para configurar la partición de intercambio. Esto preparará el archivo de intercambio creando un área de intercambio de Linux.

mkswap / swap

Para evitar que el archivo sea legible por todo el mundo, debe configurar los permisos correctos en el archivo de intercambio:

raíz de chown. / swap chmod 0600 / swap

Si no ve ningún error, su espacio de intercambio está listo para usar. Para activarlo de inmediato, escriba:

cambiar / cambiar

Este archivo durará en el servidor privado virtual hasta que la máquina se reinicie. Puede asegurarse de que el intercambio sea permanente agregándolo al archivo fstab.

echo / swap swap swap valores predeterminados 0 0 >> / etc / fstab

El kernel del sistema operativo puede ajustar la frecuencia con la que se basa en el intercambio mediante un parámetro de configuración conocido como perversidad .

Para encontrar la configuración de intercambio actual, escriba:

cat / proc / sys / vm / swappiness

El intercambio puede tener un valor de 0 a 100. El intercambio cercano a 100 significa que el sistema operativo cambiará con frecuencia y, por lo general, demasiado pronto. Aunque el intercambio proporciona recursos adicionales, la RAM es mucho más rápida que el espacio de intercambio. Cada vez que se mueve algo de la RAM para intercambiar, se ralentiza.

Un valor de intercambio de 0 significa que el operador solo se basará en el intercambio cuando sea absolutamente necesario. Podemos ajustar el intercambio con el comando sysctl. Para que su VPS aplique automáticamente esta configuración cada vez que se inicia, puede agregar la configuración a /etc/sysctl.confarchivo:

echo vm.swappiness = 0 >> /etc/sysctl.conf && sysctl -p

Finalmente, hemos terminado con el segundo paso.

Continuemos y establezcamos la contraseña de Nagios para acceder a la interfaz web.

Paso - 3: Configure la contraseña de Nagios para acceder a la interfaz web:

Configure la contraseña para acceder a la interfaz web, use el siguiente comando:

htpasswd -c / etc / nagios / passwd nagiosadmin

Escriba la contraseña y confírmela volviéndola a escribir.

Ahora, abre el navegador. Aquí, escriba su IP pública o nombre de host / nagios. Considere el siguiente ejemplo:

Aquí, ingrese el nombre de usuario y la contraseña. Por defecto, el nombre de usuario es nagiosadmin, y la contraseña es lo que ha establecido en el paso anterior. Finalmente, presione OK.

Después de esto, será dirigido al panel de Nagios Core.

Puede hacer clic en hosts y ver qué todos los hosts que su Nagios Core está monitoreando actualmente.

Puede notar que solo está monitoreando un host, es decir, localhost. Si quiero que mi Nagios Core monitoree un host remoto, necesito instalar NRPE en ese host remoto. Esto nos lleva al siguiente paso, instalar NRPE en el cliente / máquina que desea que Nagios monitoree.

Paso - 4: Instale NRPE en el cliente:

Muy bien, instalemos NRPE en la máquina cliente.

En primer lugar, debe instalar los paquetes requeridos como lo hice en mi máquina servidor Nagios. Entonces, simplemente ejecute los mismos comandos, considere las siguientes capturas de pantalla:

Ahora instale Nagios, Nagios Plugins y NRPE en el cliente:

yum -y instalar nagios nagios-plugins-all nrpe

Una vez que esté instalado, habilite el servicio NRPE:

chkconfig nrpe en


Nuestro siguiente paso es editar el, nrpe.cfg archivo. Estaré usando el nosotros editor, también puede elegir cualquier otro editor:

Debe agregar la dirección IP de su servidor de monitoreo, en la línea de host permitida, considere la siguiente captura de pantalla:

Aquí, la dirección IP de mi servidor de monitoreo es 192.168.56.101.

Ahora, necesitamos configurar reglas de firewall para permitir la conexión entre el servidor de monitoreo y el cliente.

iptables -N NRPE

-Se usa una opción para agregar la nueva regla al final de una cadena. Si desea colocarlo en otro lugar de la cadena, puede usar la opción -I que le permite especificar la posición de la nueva regla.

El siguiente comando acepta solicitudes tcp en los puertos 5666.

iptables -I ENTRADA -s 0/0 -p tcp --dport 5666 -j NRPE iptables -I NRPE -s 192.168.56.101 -j ACEPTAR iptables -A NRPE -s 0/0 -j DROP

Esto básicamente configurará iptables para aceptar paquetes de un host en particular, en mi caso, 192.168.56.101, y descarta los paquetes de otros hosts.

Ahora, guardaré estas configuraciones:

/etc/init.d/iptables guardar

Inicie el servicio NRPE ahora.

servicio nrpe start

Ahora vuelva al servidor de supervisión.

Aquí, necesito editar el archivo nagios.cfg.

vi /etc/nagios/nagios.cfg

Descomenta la línea - cfg_dir = etc/nagios/servers

Cree un directorio de 'servidor', para ese uso mkdir mando.

mkdir / etc / nagios / servers /

Cambie su directorio de trabajo a servidores.

cd / etc / nagios / servers

Cree un nuevo archivo en este directorio con la extensión .cfg y edítelo. Lo nombraré como client.cfg, y usaré nosotros editor.

vi /etc/nagios/servers/client.cfg

Aquí agregue las siguientes líneas:

código de ejemplo de Python de regresión logística

Esto básicamente incluye el tipo de servicios que quiero monitorear. Dé el nombre de host de la máquina y su dirección IP que desea que Nagios monitoree.

De manera similar, puede agregar la cantidad de servicios que desea monitorear. Se pueden utilizar las mismas configuraciones para agregar 'n' números de clientes.

Último paso, muchachos, configure los permisos de la carpeta correctamente y reinicie Nagios.

chown -R nagios. / etc / nagios /

Ahora, reinicia Nagios

reiniciar el servicio nagios

Abra el navegador y vuelva a escribir el nombre de host o ip pública / nagios /. En mi caso es localhost / nagios /.

Haga clic en hosts para ver todas las máquinas que Nagios está monitoreando actualmente.

Aquí puede notar que actualmente está monitoreando la máquina cliente (nombre de host de la máquina que quiero que Nagios monitoree). Básicamente, hemos agregado un host remoto usando NRPE.

Espero que hayas disfrutado leyendo este tutorial de Nagios, pronto publicaré más blogs sobre Nagios.

Si encuentra relevante este tutorial de Nagios, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación de certificación de Edureka DevOps ayuda a los alumnos a adquirir experiencia en varios procesos y herramientas de DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack y GIT para automatizar varios pasos en SDLC.

¿Tienes una pregunta para mí? Menciónelo en la sección de comentarios y me pondré en contacto con usted.