Управление агентом под Linux

  1. Главная
  2. >
  3. Управление
  4. >
  5. Управление агентом под Linux

Агент управления для ОС Linux уже имеет шаблон файла с меню. Для создания меню переименуйте файл menu_exampl.sh в menu.sh (в папке, где установлен агент мониторинга, по умолчанию /opt/oiagent), после чего выполните настройку меню агента.

Работа агента мониторинга с файлом меню строится следующим образом:

  1. Пользователь на веб-интерфейсе в свойствах агента нажимает кн. Управление
  2. Агент мониторинга на стороне оборудования запускает файл menu.sh с параметром GetMenu: т.е. > menu.sh GetMenu
  3. Файл 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 и надпись на кнопке меню. Аналогично выполняется обработка других пунктов меню.

Примеры: