ansible_nagioscore
Nagios Core
Роль для развертывания Nagios Core
Требования
Нет
Переменные роли
Объекты определяются в файлах yaml и преобразуются в конфигурационные файлы из шаблонов.
Вы можете найти более подробную информацию о переменных в папке default/main.
Переменные, определенные для каждой операционной системы, находятся в папке vars/.
Замените значения по умолчанию в файле vars.yaml и зашифруйте этот файл.
Чтобы изменить данные переменных, скопируйте папку nagios, которая находится внутри главной папки, в вашу локальную инвентарную папку, предпочтительно в папку group_vars/ или host_vars/.
- Хосты и Службы
Хосты и службы могут быть определены в одной переменной или в отдельных файлах.
В файле localhost.yaml вы найдете пример определения новых хостов.
Скопируйте папку files/nagios в предпочитаемое место.
Вы можете создавать файлы для каждого хоста, чтобы определить хосты и службы. Создайте папку
и обновите переменную, чтобы указать путь к файлам.# nagios_hosts_path: inventory/nagios_hosts
В инвентарной папке создайте файл следующего содержания:
_host:
host_name: имя_хоста # обязательно
address: 192.168.0.1 # если не указано, используется имя
alias: Описание Сервера
use: template # если не указано, var nagios_host_template_default будет шаблоном по умолчанию
_services:
servicename: servicecommand!arguments # определяется с 'nagios_service_template_default' как шаблон службы
servicename-other:
use: service_template
check_command: servicecommand!arguments!arguments #синтаксис: <command_name>!$ARG1$!$ARG2$
#посмотрите файл commands.yaml, чтобы проверить servicecommand и параметры
Определите группы хостов и группы служб в переменных nagios_hostgroups
и nagios_servicegroups
,
затем можете добавить, если один хост и служба принадлежат к ним.
- Контакты
Посмотрите файл contacts.yaml, чтобы получить больше информации о переменных.
Чтобы гарантировать, что пользователь был удален из файла httpasswd, добавьте данные state: absent
в определение контакта,
пользователь будет удален из определения контактов и файла htpasswd.
- Группы Контактов
Группы контактов - это лучший способ управления уведомлениями, создания контактов и объединения их в группы.
Если группа контактов определена для хоста, все службы наследуют ту же группу контактов,
или вы можете определить одну группу контактов для каждой службы.
Зависимости
Нет
Пример Playbook
Определите вашу группу nagios и включите все ваши серверы nagios туда.
[nagios]
nagios.example.com ansible_host=192.168.243.220
Включите это в ваш основной playbook:
- hosts: nagios
roles:
- { role: dorancemc.ansible-nagioscore, tags: [ nagioscore ] }
Запустите свой playbook, чтобы применить эту роль:
ansible-playbook --limit ubuntu playbook.yaml --tags nagioscore
Если вы хотите применить только конфигурацию, просто примените тег nagios_config
:
ansible-playbook --limit ubuntu playbook.yaml --tags nagios_config
Grafana
Это развертывание поддерживает интеграцию с Grafana. После развертывания вы можете установить Grafana вручную
и следовать этим инструкциям для завершения интеграции.
https://support.nagios.com/kb/article/nagios-core-using-grafana-with-pnp4nagios-803.html#Grafana_Config
Или используйте рецепт ansible и настройте переменные для завершения интеграции.
https://github.com/cloudalchemy/ansible-grafana
grafana_plugins:
- sni-pnp-datasource
grafana_datasources:
- name: PNP
type: sni-pnp-datasource
isDefault: true
access: proxy
url: 'http://127.0.0.1/pnp4nagios/'
basicAuth: false
Лицензия
BSD
Информация об авторе
Дорас Мартинез @dorancemc
ansible-galaxy install dorancemc/ansible-nagioscore