[Из песочницы] Диспетчер лицензирования LMTOOLS. Вывод списка лицензий для пользователей продуктов Autodesk
Добрый день, уважаемые читатели.
Количество пользователей программного продукта AutoCAD превышает количество локальных сетевых лицензий.
Принято решение самостоятельно реализовать необходимую функцию. Порядок выполнения:
Как выглядит GUI сервера:
В нём указал
Т.к. в организации используются корректные именные доменные уч. записи сотрудников, по логину очень легко определить специалиста занявшего лицензию.
Буду предельно краток и разобью статью на пункты.
Проблемы организационного характера
Количество пользователей программного продукта AutoCAD превышает количество локальных сетевых лицензий.
- Количество специалистов работающих в ПО AutoCAD не нормируется никаким внутренним документом.
- Исходя из пункта №1, отказать в установке программы почти невозможно.
- Неправильная организация работ ведёт к нехватке лицензий, что приводит к заявкам и звонкам абонентов в службу информационных технологий с данной проблемой.
Проблемы технические
- Отсутствие средств для просмотра списка занимаемых лицензий.
Варианты решения
- Готовое решение поддерживаемое производителем ПО, позволяющее пользователям самостоятельно просматривать список занимаемых лицензий.
- Разработка любого подходящего решения для вывода отчёта работы диспетчера лицензирования в виде вэб-страницы.
Принятое решение и реализация
Техническое задание
- Возможность сэкономить на лицензии ОС
- Вывод списка пользователей занимающих лицензии
Реализация работы диспетчера лицензирования
Принято решение самостоятельно реализовать необходимую функцию. Порядок выполнения:
- Установка и настройка CentOS 7 на сервер виртуализации
- Установка и запуск Autodesk Network License Manager для Linux
- Настройка авто запуска утилиты при рестарте ОС
- Настройка файла параметров (о нём я напишу ниже)
- Установка локального web-сервера и PHP
Реализация вывода списка занимаемых лицензий
- Создание .sh файла с содержимым приведённым ниже:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"
Он размещается в удобной директории, и настраивается как исполняемый файл.С помощью данной команды выгружается статус диспетчера лицензирования в файл log.txt
- Использовал команду
watch -n 5 [путь к созданному в п№1 файлу .sh]
Это позволяет каждый 5 секунд вызывать ранее созданный bash скрипт. - В директории log.txt из п№1, размещается файл index.php со следующим содержимым
License server AutoCAD Список лицензий сервера лицензирования autoCAD
"; $i = 18; while($i<=37){ //var $a = $i-17; $data = explode(" ", $arraystr[$i]); $time = str_replace('
".$a." "; echo "".$data[4]." "; echo "".$data[12]." "; echo "".$data[11]." "; echo "".$time.""; echo "
"; $i++; } ?>
Прошу не осуждать за PHP код, более профессиональные специалисты сделают качественнее, а я сделал в меру своих знаний.Суть работы index.php:
- Получаю текст файла log.txt, сформированный ранее скриптом, и обновляемый каждые 5с.
- Заменяю тэги переноса на html тэги.
- Разбиваю текст в массив по строкам.
- Форматирую порядок и содержимое строк.
Итог реализации всех требований
Как выглядит GUI сервера:
Как выглядит веб-страница:
Файл параметров .opt
В нём указал
TIMEOUTALL 14400
— время простоя программы ограничено 4 часамиMAX_BORROW_HOURS [CODE] 48
— максимальный срок заимствования ограничен 2 днями.
Доп. информация
Т.к. в организации используются корректные именные доменные уч. записи сотрудников, по логину очень легко определить специалиста занявшего лицензию.
Общий результат усилий:
- Пользователь самостоятельно видит занимаемую лицензию и соответственно снижена нагрузка службы технической поддержки.
- Внутри коллектива специалистов работающих в ПО без участия тех. поддержки решается вопрос «Кому достанется лицензия?», и в зависимости от приоритета работ освобождается или занимается лицензия.
- Экономия на лицензировании Windows.