Диспетчер ліцензування LMTOOLS Виведення списку ліцензій для користувачів продуктів Autodesk

Добрий день, шановні читачі.

Буду гранично стислим і розіб'ю статтю на пункти.

Проблеми організаційного характеру

Кількість користувачів програмного продукту AutoCAD перевищує кількість локальних мережних ліцензій.

  1. Кількість фахівців, що працюють у ПЗ AutoCAD, не нормується жодним внутрішнім документом.
  2. Виходячи з пункту №1 відмовити в установці програми майже неможливо.
  3. Неправильна організація робіт веде до браку ліцензій, що призводить до заявок і дзвінків абонентів у службу інформаційних технологій з цією проблемою.

Проблеми технічні

  1. Відсутність коштів на перегляд списку займаних ліцензій.

Варіанти розв'язання

  1. Готове рішення підтримуване виробником ПЗ, що дозволяє користувачам самостійно переглядати список ліцензій, що займаються.
  2. Розробка будь-якого відповідного рішення для виведення звіту роботи диспетчера ліцензування у вигляді веб-сторінки.

Прийняте рішення та реалізація

Технічне завдання

  1. Можливість заощадити на ліцензії ОС
  2. Виведення списку користувачів, які займають ліцензії

Реалізація роботи диспетчера ліцензування

Ухвалено рішення самостійно реалізувати необхідну функцію. Порядок виконання:

  1. Встановлення та налаштування CentOS 7 на сервер віртуалізації
  2. Встановлення та запуск Autodesk Network License Manager для Linux
  3. Налаштування авто запуску утиліти при рестарті ОС
  4. Налаштування файлу параметрів (про нього я напишу нижче)
  5. Встановлення локального web-сервера та PHP

Реалізація виведення списку займаних ліцензій

  1. Створення .sh файлу з вмістом, наведеним нижче:
    	#! /bin/bash
    	/opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"
    	

    Він розміщується в зручній директорії, і налаштовується як файл, що виконується.

    За допомогою цієї команди вивантажується статус диспетчера ліцензування у файл log.txt

  2. Використав команду
    watch -n 5 [путь к созданному в п№1 файлу .sh]

    Це дозволяє кожен 5 секунд викликати раніше створений bash скрипт.

  3. У директорії log.txt з п№1 розміщується файл index.php з наступним вмістом
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="/jq.js"></script>
    <title>License server AutoCAD</title>
    <style>
    </style>
    </head>
    <body>
    <h1>Список лицензий сервера лицензирования autoCAD</h1>
    
    <div style="margin: 10px;">
    <?php
    $log = file_get_contents('./log.txt');
    $logrp = nl2br($log);
    $arraystr = explode(PHP_EOL,$logrp);
    $busy = explode(" ",$arraystr[13]);
    echo "На данный момент занято: ".$busy[12]." лицензий<br/><br/>";
    $i = 18;
    while($i<=37){
    //var
    $a = $i-17;
    $data = explode(" ", $arraystr[$i]);
    $time = str_replace('<br', '', $data[13]);
    //varEND
    echo "<span>".$a."</span> ";
    echo "<span>".$data[4]."</span> ";
    echo "<span>".$data[12]."</span> ";
    echo "<span>".$data[11]."</span> ";
    echo "<span>".$time."</span>";
    echo "<br>";
    $i++;
    }
    ?>
    </div>
    </body>
    </html>
    	

    Прошу не засуджувати за PHP код, професійніші фахівці зроблять якісніше, а я зробив у міру своїх знань.

    Суть роботи index.php:

    1. Отримую текст файлу log.txt, сформований раніше скриптом, і кожні 5с, що оновлюється.
    2. Замінюю теги переносу на html теги.
    3. Розбиваю текст у масив рядками.
    4. Форматую порядок та вміст рядків.

Підсумок реалізації всіх вимог

Як виглядає GUI сервера:

Диспетчер ліцензування LMTOOLS Виведення списку ліцензій для користувачів продуктів Autodesk

Як виглядає веб-сторінка:

Диспетчер ліцензування LMTOOLS Виведення списку ліцензій для користувачів продуктів Autodesk

Файл параметрів .opt

У ньому вказав

TIMEOUTALL 14400 - час простою програми обмежено 4 годинами
MAX_BORROW_HOURS [CODE] 48 - Максимальний термін запозичення обмежений 2 днями.

Доп. інформація

Т.к. в організації використовуються коректні іменні доменні уч. записи співробітників, за логіном дуже легко визначити фахівця, який зайняв ліцензію.

Загальний результат зусиль:

  1. Користувач самостійно бачить ліцензію і відповідно знижено навантаження служби технічної підтримки.
  2. Усередині колективу фахівців, які працюють у ПЗ без участі тих. Підтримкою вирішується питання «Кому дістанеться ліцензія?», і залежно від пріоритету робіт звільняється або займається ліцензія.
  3. Економія на ліцензуванні Windows.

Джерело: habr.com

Додати коментар або відгук