- Главная
- >
- Управление
- >
- Управление агентом под Linux
Агент управления для ОС Linux уже имеет шаблон файла с меню. Для создания меню переименуйте файл menu_exampl.sh в menu.sh (в папке, где установлен агент мониторинга, по умолчанию /opt/oiagent), после чего выполните настройку меню агента.
Работа агента мониторинга с файлом меню строится следующим образом:
- Пользователь на веб-интерфейсе в свойствах агента нажимает кн. Управление
- Агент мониторинга на стороне оборудования запускает файл menu.sh с параметром GetMenu: т.е. > menu.sh GetMenu
- Файл menu.sh должен вывести текстовое описание меню.
Аналогично, если пользователь в меню агента мониторинга выбрал какой-либо пункт меню, то на стороне агента будет запущен menu.sh Имя_действия. Menu.sh запускает на выполнение необходимую команду/команды для выполнения указанного действия и возвращает новое описание меню.
Общая структура файла имеет следующий вид:
case "$1" in
GetMenu )
# здесь можно добавить команды для определения начального состояния меню
# в секции GetMenu обязательно должны быть указаны [MenuHeader], [MenuItemsCount]
# и описание всех пунктов меню [MenuItem]
echo [MenuHeader]:Текст в заголовке меню
echo [MenuItemsCount]:2
echo [MenuItem]:1:Action1:Строка меню 1
echo [MenuItem]:2:Action2:Строка меню 2
;;
Action1 )
# команды выполняемые для первого пункта меню с действием Action1
# в секции описания действия возможно либо полное описание меню с [MenuHeader], [MenuItemsCount], [MenuItem],
# либо указание только нового [MenuHeader] и нового описания [MenuItem] для нажатой кнопки меню
echo [MenuHeader]:Новый заголовок меню
echo [MenuItem]:1:Action1:Нажата строка 1
;;
Action2 )
# команды выполняемые для второго пункта меню
# в секции описания действия возможно либо полное описание меню с [MenuHeader], [MenuItemsCount], [MenuItem],
# либо указание только нового [MenuHeader] и нового описания [MenuItem] для нажатой кнопки меню
echo [MenuHeader]:Новый заголовок меню
echo [MenuItem]:2:Action2:Нажата строка 2
;;
esac
Алгоритм работы следующий: при любом обращении к меню выполняется файл menu.sh, первым параметром которого является либо GetMenu, либо Имя_действия(Action) — имя действия для нажатого пункта меню. Оператор case в зависимости от первого параметра выполняет нужную секцию файла menu.sh. По запросу GetMenu отправляется общая структура меню, по запросу Action1 выполнится действие для меню с именем действия Action1, плюс возвращается новая строка заголовка меню и обновляется наименование имя действия Action и надпись на кнопке меню. Аналогично выполняется обработка других пунктов меню.
Примеры: