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!