Icinga2 Director: добавление узлов, команд и службы

Main

Оценка: 87.63% - 24 Голосов

Общая

В этой статье рассматривается как добавлять узлы, добавлять команды, создавать службы для одиночного узла или группы узлов.

Установка модуля рассматривается в статье: Icinga2 установка модуля Director

В статье рассматривается пример добавления сетевого устройства Mikrotik с добавлением плагина проверки check_mikrotik_switch.pl и службы проверки нагрузки процессора маршрутизатора.

Вся работа производится в веб-интерфейсе Icinga.

Содержание:

Создание группы узлов

Создание шаблона узлов

Добавление узлов

Создание шаблона для команд

Описание команд для использования плагинов

Создание шаблона служб

Создание одиночной службы для узла или группы узлов 

 

Создание группы узлов.

Прежде чем добавить узел создадим группу узлов.

"Icinga Director — Узлы — Hostgroup"

Введем Hostgroup: "Network_host_group"

Введем отображаемое имя (Display name): "Сетевое оборудование"

Нажмем "Добавить"

View the embedded image gallery online at:
https://itcrowd.top/director_part1#sigProId093b087dd9

 

Создание шаблона узлов.

Шаблон позволяет определить какая служба для каких хостов будет использоваться по умолчанию для определения "Host State".

"Icinga Director — Узлы — Host Templates"

Введем название шаблона (Hostname): "Network_host_Template"

Введем группу (Group): "Укажем созданную выше группу узлов"

Так как мне необходимо, что бы "Host State" определялся то в пункте "Check Command" я выбираю команду "ping4"

View the embedded image gallery online at:
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

View the embedded image gallery online at:
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"

View the embedded image gallery online at:
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$ являются обязательными

View the embedded image gallery online at:
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"

Укажем временные промежутки проверки, повторной проверки, таймаут и количество проверок до срабатывания триггера уведомлений.

View the embedded image gallery online at:
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"

View the embedded image gallery online at:
https://itcrowd.top/director_part1#sigProId1dd8090b9f

 

По окончанию выберем "Icinga Director — Activity Log" и нажмем кнопку "Deploy"

View the embedded image gallery online at:
https://itcrowd.top/director_part1#sigProId411d7f78a4

 

 

  • Просмотров: 14989
Комментарии   
0 #1 Shimerg 14.08.2018 09:44
Здравствуйте!
Спасибо за подробный цикл статей о icinga, очень помогло разобраться.
Скажите, вы не рассматривали настройку с помощью модуля Director трехуровневую иерархию мастер-сателлит-клиент?
(нет, увы, гугл не помог, как и документация)
Большое спасибо за любую помощь.
Цитировать
0 #2 admin 14.08.2018 22:22
Цитирую Shimerg:
Здравствуйте!
....

Добрый день!
К сожалению пока что не рассматривал данную ситуацию, но возможно, в ближайшем будущем буду реализовывать подобное на "продуктивных серверах".
Цитировать
Добавить комментарий