Nagios y Ansible II: nrpe

Continuando con nuestros playbooks de gestión de sistermas y servicios y, en concreto, con la monitorización de ellos con Nagios, vamos a ver cómo configuramos nrpe. Este es un demonio al que se conectará el servidor de Nagios para obtener el estado del servicio a comprobar.

El playbook nrpe.yml  es el que nos permite configurar los chequeos NRPE para todos los servidores (excepto los que aparezcan en el grupo nonrpe) de manera centralizada. Como hemos indicado en todas las entradas dedicadas a Ansible, el gestionar de esta forma este servicio, nos permite realizar los cambios una sóla vez ,en lugar de realizarlo para cada servidor y con comprobación de errores sintácticos. También, además, es posible modificar sólo un servidor o un grupo, con el parámetro –limit nombreServidor o nombreGrupo.

Continue reading “Nagios y Ansible II: nrpe”

Nagios y Ansible

Como comentábamos en la entrada anterior, utilizamos varias herramientas de monitorización cuya configuración hemos automatizado con Ansible. Además de Munin, también monitorizamos nuestros servicios con Nagios (aquí y aquí explicamos un poco de este software de monitorización) para el que hemos desarrollado dos playbooks: nagios.yml y nrpe.yml, con los que realizamos la configuración de este servicio de monitorización en todos los servidores donde se ejecuta dicho software de monitorización y para los monitorizar los servidores que lo consideremos (normalmente, todos).

Como en todos los playbooks de AnsibleEPS para nuestra infraestructura, este nos permite realizar de manera centralizada, para todos los servidores que realizan el servicio, las tareas de configuración asociadas a él,  realizándose los cambios una sola vez (en lugar de realizarlo para cada servidor) y, antes de ejecutarlo en cada servidor, comprueba la sintaxis, avisando de errores producidos si es el caso (aunque para estos playbooks no se vuelve a la versión anterior).

En esta entrada vamos a ver el primero de los playbooks:nagios.yml, el encargado de configurar el/los servidor(es) Nagios que tengamos en nuestra infraestructura.

Continue reading “Nagios y Ansible”

Automatización de la herramienta de monitorización Munin con AnsibleEPS

En nuestra unidad, utilizamos varias herramientas de monitorización libres cuya configuración automatizamos con Ansible. Uno de ellos es Munin (para quien quiera conocer más sobre Munin, aquí tiene una guía de inicio). En esta entrada, vamos a ver cómo funciona y cómo podemos configurar el playbook de AnsibleEPS para Munin.

Como en todos los playbooks de AnsibleEPS para nuestra infraestructura, este nos permite realizar de manera centralizada, para todos los servidores que realizan el servicio, las tareas de configuración asociadas a él. En el caso de Munin: la configuración de la lista de clientes munin.

Lo primero que debemos tener en cuenta es que el playbook common.yml se encarga (entre otras muchas tareas: más información sobre este playbook aquí) de instalar y configurar el software de los clientes (munin-node). Además permitirá el acceso desde los servidores del grupo munin.

¿Cómo se realizan los cambios para Munin? Mediante  el fichero situado en roles/munin/templates/etc/munin/conf.d/hosts.j2  Dicho template no es mas que el fichero de configuración hosts del servidor Munin con la lista de clientes munin. El template obtiene todos los equipos del inventario excepto los del grupo nomunin y los introduce en la lista. Si queremos tener otros clientes munin que no se encuentren en el inventario, se creará a mano un fichero con la lista dentro del mismo directorio (ya existe un fichero así llamado hosts-outsiders).

La ejecución del playbook se realiza con la orden:  ansible-playbook munin.yml que afectará a todos los servidores incluidos en el grupo munin. Tras la ejecución de esta orden, tendríamos configurado en los servidores del grupo munin la recolección de datos de todos nuestros servidores excepto de aquellos que hayamos incluido en el grupo nomunin.

Si queremos que todo sea automático (hasta la inclusión de los servidores) disponemos de una aplicación de monitorización genérica que llamamos EPS-MS (el software está en Github) que descubre todos los servidores de la red que le indiquemos. Así, la diferencia entre ambos es que, mientras con EPS-MS los servidores se localizan automáticamente por la aplicación, en  AnsibleEPS los servidores los introduce el administrador en el inventario pero el resultado es que tendremos nuestro servidor/servidores de Munin monitorizando los servidores de nuestra infraestructura de los que necesitemos tener información (para nosotros, todos 😉 ).

¡Esperamos que os sea útil!

Tu red bajo control: monitorización con Nagios

¿No te ha ocurrido nunca que en el peor momento se llena el disco duro? ¿O que se pare esa aplicación por red que tienes encendido 24 horas al día y tardes una semana en enterarte? Sí, podrías realizar unos programas que comprobasen constantemente que todo está funcionando en tus equipos, y te avisara cuando algo falla. Pero, ¿para qué hacerlo, si existe una herramienta profesional (y gratuita) que ya lo hace por ti? Nagios.

Si dispones de una vieja máquina con Linux, puedes instalar Nagios, y monitorizar todas tus máquinas y sus servicios de red en tiempo casi real, mostrando cualquier error vía web (ya que Nagios utiliza apache para mostrar los resultados) o mediante correo. Incluso podemos integrarlo en la barra del Firefox.

 


Nagios te avisará inmediatamente de cualquier problema que vea en los equipos de tu red, mediante unos plugins configurables. Sin embargo, su mayor eficacia la consigue en colaboración con NRPE.

NRPE (Nagios Remote Plugin Ejecutor) es un software disponible para Linux y Windows (en Windows se llama Nsclient++) que se instala en cada uno de los equipos a monitorizar, y que contacta con Nagios para informarle de cualquier anomalía que ocurra en su interior. Por supuesto es fácilmente programable y podemos ajustarlo al control que nos interese (NRPE incluye varios plugins por defecto para las tareas más comunes):


Y lo mejor de todo es que, no sólo nos informa del problema, sino que además es capaz de solucionarlo. Para ello simplemente programaremos NRPE para que ejecute una serie de comandos ante una alarma.

Nagios es una herramienta imprescindible para administradores, pero también muy recomendable para cualquier usuario que quiera estar seguro que sus equipos están funcionando correctamente, sea una máquina o cien.

Es muy sencillo encontrar información en Internet sobre la instalación y configuración de Nagios y NRPE. La página oficial es: http://www.nagios.org