CoffeeITWorks.ansible_nagios4_server_config
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
Configure nagios, prepared to be compatible with thruk, pnp4nagios, nagios_plugins. Has feature to clone nagios config from git repos.
ansible-galaxy install CoffeeITWorks.ansible_nagios4_server_config