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

О проекте

Role to install Nagios Core and run hosts configuration

Установить
ansible-galaxy install dorancemc/ansible-nagioscore
Лицензия
Unknown
Загрузки
73
Владелец