Icinga2 Director: добавление узлов, команд и службы
Общая
В этой статье рассматривается как добавлять узлы, добавлять команды, создавать службы для одиночного узла или группы узлов.
Установка модуля рассматривается в статье: Icinga2 установка модуля Director
В статье рассматривается пример добавления сетевого устройства Mikrotik с добавлением плагина проверки check_mikrotik_switch.pl и службы проверки нагрузки процессора маршрутизатора.
Вся работа производится в веб-интерфейсе Icinga.
Содержание:
Описание команд для использования плагинов
Создание одиночной службы для узла или группы узлов
Создание группы узлов.
Прежде чем добавить узел создадим группу узлов.
"Icinga Director — Узлы — Hostgroup"
Введем Hostgroup: "Network_host_group"
Введем отображаемое имя (Display name): "Сетевое оборудование"
Нажмем "Добавить"
https://itcrowd.top/director_part1#sigProId093b087dd9
Создание шаблона узлов.
Шаблон позволяет определить какая служба для каких хостов будет использоваться по умолчанию для определения "Host State".
"Icinga Director — Узлы — Host Templates"
Введем название шаблона (Hostname): "Network_host_Template"
Введем группу (Group): "Укажем созданную выше группу узлов"
Так как мне необходимо, что бы "Host State" определялся то в пункте "Check Command" я выбираю команду "ping4"
https://itcrowd.top/director_part1#sigProIdbf0d46e1fd
Добавляем узел (host).
"Icinga Director — Узлы — Host"
В Host Template выбираем созданный выше шаблон: "Network_host_Template"
В Hostname введем название: "mikrotik_core"
В Display Name укажем желаемое отображаемое имя: "Mikrotik RB2011"
В Host address укажем желаемый IP-адерс или DNS-имя.
В Groups выберем созданную выше группу.
По окончанию выберем Icinga Director — Activity Log и нажмем кнопку Deploy
https://itcrowd.top/director_part1#sigProId411d7f78a4
После выполнения всех пунктов у вас должна появиться новая группа хостов с добавленным хостом. Далее опишем плагин "check_mikrotik_switch.pl" и создадим службу проверки нагрузки на CPU маршрутизатора и применим его к созданному хосту.
Создаем шаблон команды.
Создадим общий шаблон для использования любой командой
"Icinga Director — Commands — Command Templates"
В пункте Command Type выберем: "Plugin check command"
В Command name введм имя: "default_command_template"
В Timeout укажем время таймаута плагина в 1 миунту: "1m"
https://itcrowd.top/director_part1#sigProIdcff6da0754
Создание одиночной команды.
"Icinga Director — Commands — Commands"
В поле Command Type выберем: "Plugin check command"
В Command name введем имя: "check_mikrotik_router"
В поле Imports выберем созданный выше шаблон команд: "default_command_template"
По умолчанию система работает с папкой PluginDir прописанная в конфигурации Icinga2 - в моем случае это /usr/lib/nagios/plugins/
В поле Command укажем путь к плагину - укажем просто название плагина: "check_mikrotik_switch.pl"
Поле Timeout будет уже заполнено согласно созданному шаблону команд.
Нажмем "Добавить"
После добавления команды появится новый подпункт в настройках команды - Arguments, где необходимо описать аргументы используемые плагином.
В случае с плагином check_mikrotik_switch.pl необходимо определить следующие аргументы:
"-H" = "$host.address$"
"-t" = "$mikrotik_check_command$"
"-i" = "$mikrotik_switch_ports$"
"-C" = "$mikrotik_community$"
"-w" = "$check_warning$"
"-c" = "$check_critical$"
Для этого:
В поле Argument name вводим аргумент: "-H"
В поле Value type выберем: "String"
В поле Value введем: "$host.address$"
В Поле Position выберем позицию: "1"
После чего наем "Добавить".
Данную операцию необходимо выполнить для каждого аргумента плагина. После чего необходимо перейти в пункт "Fields".
Необходимо определить обязательные и необязательные аргументы - для этого:
В поле "Field" выберем созданный аргумент
В поле "Mandatory" выберем "Mandatory" для обязательных полей и "Optional" для необязательных
В моем случае все поля кроме $mikrotik_switch_ports$ являются обязательными
https://itcrowd.top/director_part1#sigProId4546fc4a5c
Переходим к описанию службы
Создания шаблона службы
"Icinga Director — Service — Service Templates"
Укажем название шаблона: "check_mikrotik_router_service_template"
Выбрем созданную команду в Check Command: "check_mikrotik_router"
Переходим в пункт "Custom properties"
Поле check_critical: укажем критическое значение для проверки
Поле check_warning: укажем высокое значение для проверки
Поле mikrotik_community: Укажем имя SNMP-community маршрутизатора
Переходим в пункт "Check execution"
Укажем временные промежутки проверки, повторной проверки, таймаут и количество проверок до срабатывания триггера уведомлений.
https://itcrowd.top/director_part1#sigProIdaa649be082
Создаем сервис проверки для узла или группы узлов
"Icinga Director — Service — Single Service"
Укажем название: "check_mikrotik_router_cpu"
В поле Imports выберем созданный ранее шаблон службы: "check_mikrotik_router_service_template"
В поле Узел укажем имя добавленного узла или группы узлов
Переходим в пункт "Custom properties"
В поле mikrotik_check_command укажем команду для плагина: "CPU"
https://itcrowd.top/director_part1#sigProId1dd8090b9f
По окончанию выберем "Icinga Director — Activity Log
" и нажмем кнопку "Deploy"
https://itcrowd.top/director_part1#sigProId411d7f78a4
- Просмотров: 16441
Спасибо за подробный цикл статей о icinga, очень помогло разобраться.
Скажите, вы не рассматривали настройку с помощью модуля Director трехуровневую иерархию мастер-сателлит-клиент?
(нет, увы, гугл не помог, как и документация)
Большое спасибо за любую помощь.
Добрый день!
К сожалению пока что не рассматривал данную ситуацию, но возможно, в ближайшем будущем буду реализовывать подобное на "продуктивных серверах".
RSS лента комментариев этой записи