Дыспетчар ліцэнзавання 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

Дадаць каментар