ansible_nagios4_server_config
Имя Роли
Роль, которая настраивает Nagios и синхронизирует конфигурацию Nagios из репозиториев git. Эта роль подготовлена и совместима с другими плагинами ролей Nagios от ansiblecoffee, интерфейсом Thruk, pnp4nagios и т.д.
Требования
Нет требований, просто поддерживайте свою систему в обновленном состоянии. В настоящее время тестировалось только на Ubuntu 14.04.
Поддержка распределения роли
Ubuntu: все работает RedHat: не готово
Переменные роли
Смотрите все в defaults/main.yml
Добавьте в ваши host_vars или group_vars:
Дополнительные параметры конфигурации Nagios
И добавьте в только для чтения:
nagios_cgi_authorized_for_read_only: user1, user2
Или измените указанные разрешения:
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,user1,user2
nagios_cgi_authorized_for_all_hosts: nagiosadmin,user1,user2
nagios_cgi_authorized_for_all_service_commands: nagiosadmin
nagios_cgi_authorized_for_all_host_commands: nagiosadmin
Отключите уведомления для хостов, для которых они не требуются, используя host_vars/имя_хоста
nagios_config_enable_notifications: 0
Функция клонирования репозиториев
Если хотите, вы можете настроить какой-то git-репозиторий для клонирования конфигурации в указанный подкаталог, это отличная функция этой роли. Вы можете иметь несколько репозиториев, например:
- Репозиторий сети, директория: "net"
- Репозиторий серверов, директория: "servers"
- Репозиторий серверных услуг, директория: "services"
Вы можете повторно использовать только некоторые из них или добавить дополнительную разную конфигурацию для этой переменной к другим хостам, например:
- Удаленный хост без проверки услуг
- Тестовый сервер с тестовым репозиторием, директория: "testing" и все предыдущие репозитории.
Затем вы можете использовать тег: "config_nagios" в задаче ansible-playbook для синхронизации всех ваших серверов каждый раз, когда вы обновляете репозитории.
Еще лучше: используйте что-то вроде githook Jenkins, чтобы автоматически запускать задачу, которая вызывает тег: config_nagios, и все ваши серверы будут автоматически синхронизированы каждый раз, когда вы добавляете что-то новое в ваши репозитории Nagios с новой конфигурацией.
Пример:
nagios_config_cfg_dirs_git:
- { repo: "http://server/user/repo.git", version: "master", dir: "repo"}
- { repo: "http://users:password@server/user/repo2.git", version: "master", dir: "repo2"}
Вы также можете использовать другую переменную с ключом ssh:
Сначала создайте директорию для ключей на удаленном сервере для удаленного пользователя ansible.
cd
mkdir keys
Затем сгенерируйте ключи и сохраните их как nagios_key_rsa
nagios_config_cfg_dirs_git_rsa:
- { repo: "git@server:user/repo.git", version: "master", dir: "repo"}
Когда переменная nagios_config_cfg_dirs_git_rsa существует, роль будет искать /home/remoteuser/keys/nagios_key_rsa для использования.
Зависимости
Список других ролей, размещенных на Galaxy, должен находиться здесь, а также любые подробности относительно параметров, которые могут потребоваться для других ролей, или переменных, используемых из других ролей.
Пример Playbook
Полный список ролей:
- name: применить настройки 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"] }
# Дополнительные теги: роль/тег
# 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
теги:
nagios4_server_main_config
nagios_config
config_nagios_cron
За Фаерволами
Для клиентов к защищенным фаерволом хостам вам необходимо открыть эти порты:
TCP:
- Ping: проверка работоспособности хоста
- 5666: nrpe (Windows и Linux)
- 1248: nsclient (только Windows)
- 9666: для пользовательского nrpe, когда используется 5666
- 22: проверка ssh
- 80, 443: проверки http, https
UDP:
- 161: проверки SNMP
Лицензия
BSD
Информация об авторе
Основные авторы: Диего Дагерре, Пабло Эстигаррибия. Сайт: 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