sdarwin.nagios

Ansible Role: Nagios

Instala Nagios, NRPE (tanto cliente como servidor) y configura Nagios automáticamente en función del inventario existente de hosts de Ansible. El objetivo es tener un sistema completo de monitoreo Nagios en un solo rol de Ansible, sin requerir demasiada configuración manual.

Requisitos Previos

Asegúrate de que la resolución de nombres DNS o de /etc/hosts esté funcionando. Por ejemplo, que puedas hacer ping a web3 en web3.example.com. Se recomienda tener un correo electrónico, con opciones como Exim, Postfix y otros.

Variables del Rol

Todas las variables en el directorio defaults/ pueden ser sobreescritas o cambiadas.

Contactos/Usuarios:

Agrega usuarios que deberían poder iniciar sesión en la interfaz web de Nagios en la variable nagios_users:
nagios_users:

Otra forma mejor de agregar tanto contactos de Nagios como administradores es a través de la variable users, compatible con https://github.com/mivok/ansible-users

Este playbook buscará usuarios en el grupo sysadmin y estos se convertirán en administradores de Nagios.

Crea la variable users, un buen lugar es group_vars/all. Aquí hay un ejemplo.

users:

  • username: foo
    name: Foo Barrington
    groups: ['sysadmin']
    uid: 1001
    ssh_key:

¿De dónde vino ese valor htpasswd? Genera las contraseñas htpasswd manualmente y luego pégalos en users.
htpasswd -n mario
mario:$apr1$SheSL4Et$xry6RljdWWvUVrh42s7OA0

Debes configurar al menos un usuario sysadmin, como se explicó, o los contactos de Nagios no funcionarán.

Comandos de Nagios:

Los comandos de Nagios están en la variable nagios_commands, ver defaults/main.yml. Puedes agregar más comandos añadiendo a, o sobreescribiendo, la variable.

Servicios de Nagios:

Los servicios de Nagios están actualmente en los "checks" por grupo de host en nagios_host_groups, ver defaults/main.yml. Puedes agregar más servicios añadiendo a, o sobreescribiendo, la variable. Las comprobaciones de servicio por host se manejan de manera similar en la variable nagios_hosts en defaults/main.yml.

Hosts de Nagios:

Los hosts de Ansible en el grupo 'all' se convierten en hosts monitoreados por Nagios. No se requiere configuración.

Grupos de Hosts de Nagios:

Los grupos de Ansible se convierten en grupos de hosts de Nagios. No se requiere configuración.

Ignorar Hosts y Grupos de Hosts

Los siguientes valores están establecidos en defaults/main.yml:

nagios_hosts_ignore: ""
nagios_groups_ignore: ""

Pueden ser sobreescritos para incluir Hosts o Grupos de Hosts que deben ser ignorados por completo. Ejemplos:

nagios_hosts_ignore:
  - host1_skip_this_host
nagios_groups_ignore:
  - hostgroup_dev_to_skip
  - and_this_one

Esto determina qué hosts el servidor Nagios ignorará/omitirá, porque estos hosts serán excluidos de la configuración.

Otra consideración es si el playbook de Ansible debe ejecutarse en todos los servidores. El playbook de ejemplo default.yml tiene "- hosts: all", que instala el cliente de Nagios en todos los servidores conocidos. Podrías ajustar tu playbook de nivel superior y establecer una directiva "hosts: " diferente. Sin embargo, probablemente esté bien instalar el cliente de monitoreo en todos los servidores.

Ejemplo de Playbook

Consulta default.yml en la raíz de este rol.

Para instalar el cliente:
roles:
- { role: 'sdarwin.nagios', run_nagios_client: true }

Para instalar el servidor:
roles:
- { role: 'sdarwin.nagios', run_nagios_server: true }

Agrega servidores Nagios al grupo monitoring-servers en el inventario de Ansible. Ejemplo:

[monitoring-servers]
monitor.example.com

La URL de Nagios tendrá este formato: http://monitor.example.com/nagios/

Licencia

BSD

Información del Autor

Por Sam Darwin, 2016. Basado en roles preexistentes, consulta el archivo ACKNOWLEDGEMENTS.md. Se agradecen comentarios e informes de errores.

Acerca del proyecto

Install Nagios 4.x on Ubuntu or CentOS

Instalar
ansible-galaxy install sdarwin.nagios
Licencia
isc
Descargas
539
Propietario