Использование Housekeeper для сбора данных с устройства¶
Время от времени требуется собирать данные с оборудования, отсутствующие в системе.
После сбора необходимо заполнить кастомное поле (custom field) или отправить уведомление по доступному каналу: почта, телегам и т.д.
Решение¶
Для подобных случаев хорошо подходит механизм Housekeeper.
Он позволяет в конце полного опроса (box discovery) запустить пользовательскую функцию (handler) в которую будет передано устройство,
что позволит выполнять разнообразные действия.
Ограничения:
- Если в ходе опроса произойдёт фатальная ошибка и он будет остановлен, то функция запущена не будет
- Расширения схемы данных не предусмотрено - если какого-либо поля нет в схеме данных (модели), то заполнить его всё равно не получится.
Реализация функций-обработчиков¶
| /opt/noc_custom/handlers/hks.py | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |
Код необходимо расположить в /opt/noc_custom/handlers/hks.py
Регистрация обработчика в системе¶
Регистрация обработчиков производится в меню Главное (Main) -> Настройки (Setup) -> Обработчики (Handlers).

- В панели навигации преходим в меню (
Main) -> Настройки (Setup) -> Обработчики (Handlers) - Нажимем кнопку добавить (
Add) справа от строки поиска -
В форме добавления заполняем:
- Имя (
Name) - может быть любым понятным пользователю - Ссылка (
Handler) ссылку на функцию-обработчик (расположен в папке/opt/noc_custom/handlers/hks.py) - Отмечаем галочку
Allow housekeepingдля разрешения использовать какHousekeeper
- Имя (
Добавление кастомного поля¶
Добавление собственных полей производится в меню Учёт объектов (Inventory) -> Настройки (Setup) -> Свойства (Capabilities)

- В панели навигации переходим в меню (
Inventory) -> Настройки (Setup) -> Свойства (Capabilities) - Нажимаем кнопку добавить (
Add) справа от строки поиска -
В форме добавления заполняем:
- Имя (
Name) -Management | VlanIDв нашем случае - Описание (
Description) - Device management vlan - Тип (
Type) -Integer
- Имя (
Настройка запуска¶
Настройки запуска находятся в профиле объекта
Управление объектами (Managed Object) -> Настройки (Setup) -> Профили объекта (Object Profile)

- Выбираем соответствующий профиль обеъекта или добавляем новый
- Переходим на вкладку
Box - Снизу формы в выпадающем меню
HouseKeeperвыбираем соответствующий обработчик - Нажимаем кнопку Сохранить
Настройка маршрутизации сообщения¶
Правила пересылки сообщений настраиваются в меню Главное (Main) -> Настройки (Setup) -> Маршрутизация сообщений (Message Route)

- В панели навигации переходим в меню
Главное (Main) -> Настройки (Setup) -> Маршрутизация сообщений (Message Route) - Нажимаем кнопку добавить (
Add) справа от строки поиска -
Заполняем форму:
-
Имя может быть любое
- Тип сообщения - Notification
- Match
Проверка работы¶
Проверить работу Housekeeper можно запуском опроса
./noc discovery run -c hk box MONAME
где MONAME имя устройства в системе.