Использование 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
имя устройства в системе.