Диспетчер на лицензиите 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. Инсталация на локален уеб сървър и 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>Сървър за лицензии на AutoCAD</title>
    <style>
    </style>
    </head>
    <body>
    <h1>Списък на лицензите на сървъра за лицензиране на AutoCAD</h1>
    
    <div style="margin: 10px;">
    &lt;?php
    $log = file_get_contents(&#039;.\/log.txt&#039;);
    $logrp = nl2br($log);
    $arraystr = explode(PHP_EOL,$logrp);
    $busy = explode(&quot; &quot;,$arraystr[13]);
    echo &quot;В момента са заети: &quot;.$busy[12].&quot; лицензии<br /><br />";
    $i = 18;
    while($i&lt;=37){
    //$var
    $a = $i-17;
    $data = explode(&quot; &quot;, $arraystr[$i]);
    $time = str_replace(&#039;&lt;br&#039;, &#039;&#039;, $data[13]);
    //$varEND
    echo &quot;<span>".$a." ";
    echo "<span>".$data[4]." ";
    echo "<span>".$data[12]." ";
    echo "<span>".$data[11]." ";
    echo "<span>".$time."";
    echo "<br>";
    $i++;
    }
    ?&gt;
    </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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster