CoffeeITWorks.ansible_nagios4_server_config

Estado de la Construcción

Nombre del Rol

Rol que configura Nagios y sincroniza la configuración de Nagios desde repositorios de git. Este rol está preparado y es compatible con otros plugins de roles de Nagios de ansiblecoffee, la interfaz Thruk, pnp4nagios, etc.

Requisitos

No hay requisitos, solo mantén tu sistema actualizado. Hasta ahora está probado solo en Ubuntu 14.04.

Soporte de Distribución de Rol

Ubuntu: bien
RedHat: No listo

Variables del Rol

Consulta todas en defaults/main.yml

Agrega a tus host_vars o group_vars:

Opciones adicionales de configuración de Nagios

Y añade a solo lectura:

nagios_cgi_authorized_for_read_only: usuario1, usuario2

O cambia los permisos especificados:

nagios_cgi_authorized_for_system_information: nagiosadmin
nagios_cgi_authorized_for_configuration_information: nagiosadmin
nagios_cgi_authorized_for_system_commands: nagiosadmin
nagios_cgi_authorized_for_all_services: nagiosadmin, usuario1, usuario2
nagios_cgi_authorized_for_all_hosts: nagiosadmin, usuario1, usuario2
nagios_cgi_authorized_for_all_service_commands: nagiosadmin
nagios_cgi_authorized_for_all_host_commands: nagiosadmin

Desactiva las notificaciones en hosts no requeridos usando host_vars/nombre_host

nagios_config_enable_notifications: 0

Característica de Clonar Repositorios

Si deseas, puedes configurar algunos repositorios de git para clonar la configuración en un subdirectorio especificado, esta es una excelente característica de este rol. Puedes tener múltiples repositorios, por ejemplo:

  • Repositorio de red, dir: "red"
  • Repositorio de servidores, dir: "servidores"
  • Repositorio de servicios de servidores, dir: "servicios"

Luego puedes reutilizar solo algunos de estos o agregar una configuración diferente para esta variable a otros hosts, como:

  • Host remoto sin chequeo de servicios
  • Servidor de pruebas con repositorio de pruebas, dir: "pruebas" y todos los repos anteriores.

Puedes usar etiqueta: "config_nagios" en tu tarea de ansible-playbook para sincronizar todos tus servidores cada vez que actualices los repositorios.

Aún mejor: utiliza algo como un githook de Jenkins para ejecutar automáticamente la tarea que llama a la etiqueta: config_nagios y todos tus servidores se sincronizarán automáticamente cada vez que subas algo nuevo a tus repositorios de Nagios con nueva configuración.

Ejemplo:

nagios_config_cfg_dirs_git:
  - { repo: "http://servidor/usuario/repo.git", version: "master", dir: "repo"}
  - { repo: "http://usuarios:contraseña@servidor/usuario/repo2.git", version: "master", dir: "repo2"}

También puedes usar otra variable con clave ssh:

Primero crea el directorio para las claves en el servidor remoto para el usuario remoto de ansible

cd
mkdir keys

Luego genera las claves y guárdalas como nagios_key_rsa

nagios_config_cfg_dirs_git_rsa:
  - { repo: "git@servidor:usuario/repo.git", version: "master", dir: "repo"}

Cuando la variable nagios_config_cfg_dirs_git_rsa exista, el rol buscará /home/usuario_remoto/keys/nagios_key_rsa para usarla.

Dependencias

Aquí debería ir una lista de otros roles alojados en Galaxy, además de cualquier detalle con respecto a parámetros que puedan necesitarse para otros roles o variables que se utilizan de otros roles.

Ejemplo de Playbook

Lista completa de roles:

- name: aplicar configuraciones de Nagios
  hosts: nagios4_servers
  become: yes
  become_method: sudo
  roles:
    - { role: nagios4_server, tags: ["install", "nagios4_server_all", "nagios4_server"] }
    - { role: nagios4_server_plugins, tags: ["install", "nagios4_server_all", "nagios4_server_plugins"] }
    - { role: nagios4_server_pnp4nagios, tags: ["install", "nagios4_server_all", "nagios4_server_pnp4nagios"] }
    - { role: nagios4_server_snmptrap, tags: ["install", "nagios4_server_all", "nagios4_server_snmptrap"] }
    - { role: ANXS.mysql, tags: ["install", "nagios4_server_all", "nagios4_server_thruk", "ANXS.mysql"] }
    - { role: nagios4_server_thruk, tags: ["install", "nagios4_server_all", "nagios4_server_thruk"] }
    - { role: postfix_client, tags: ["install", "nagios4_server_all", "postfix_client"] }
# Etiquetas adicionales: rol/etiqueta
# nagios4_server             - config_nagios
# nagios4_server             - nagios4_server_main_config
# nagios4_server             - config_nagios_cron
# nagios4_server_plugins     - config_nagios_plugins
# nagios4_server_plugins     - test_nagios_plugins
# nagios4_server_pnp4nagios  - test_nagios_pnp4nagios
# nagios4_server_thruk       - config_nagios_thruk_cron
# nagios4_server_thruk       - test_nagios_thruk
# nagios4_server_thruk_git   - config_nagios_thruk_git_cron

Etiquetas:

nagios4_server_main_config
nagios_config
config_nagios_cron

Detrás de Cortafuegos

Para clientes de hosts con cortafuegos, debes abrir estos puertos:

TCP:

  • Ping: host-activo
  • 5666: nrpe (Windows y Linux)
  • 1248: nsclient (solo Windows)
  • 9666: para nrpe personalizado cuando se usa 5666
  • 22: chequeos ssh
  • 80,443: chequeos http, https

UDP:

  • 161: chequeos SNMP

Licencia

BSD

Información del Autor

Autores principales: Diego Daguerre, Pablo Estigarribia.
Sitio: https://github.com/ansiblecoffee

Acerca del proyecto

Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.

Instalar
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config
Licencia
mit
Descargas
474
Propietario
IT Works group