Menedżer licencji LMTOOLS. Wyświetlanie listy licencji dla użytkowników produktów Autodesk.

Dzień dobry, szanowni czytelnicy.

Będę niezwykle krótki i podzielę artykuł na punkty.

Problemy organizacyjne

Liczba użytkowników programu AutoCAD przekracza liczbę lokalnych licencji sieciowych.

  1. Liczba specjalistów pracujących w oprogramowaniu AutoCAD nie jest regulowana żadnym wewnętrznym dokumentem.
  2. Na podstawie punktu nr 1, odmowa instalacji programu jest praktycznie niemożliwa.
  3. Nieprawidłowa organizacja pracy prowadzi do niedoboru licencji, co skutkuje wnioskami i telefonami abonentów do działu informatyki z tym problemem.

Problemy techniczne

  1. Brak środków do przeglądania listy zajmowanych licencji.

Możliwości rozwiązania

  1. Gotowe rozwiązanie wspierane przez producenta oprogramowania, umożliwiające użytkownikom samodzielne przeglądanie listy zajmowanych licencji.
  2. Opracowanie dowolnego odpowiedniego rozwiązania do generowania raportu pracy menedżera licencji w formie strony internetowej.

Podjęta decyzja i realizacja

Zadanie techniczne

  1. Możliwość zaoszczędzenia na licencji systemu operacyjnego
  2. Wyświetlenie listy użytkowników zajmujących licencje

Realizacja pracy menedżera licencji

Podjęto decyzję o samodzielnej realizacji wymaganej funkcji. Procedura wykonania:

  1. Instalacja i konfiguracja CentOS 7 na serwerze wirtualizacji
  2. Instalacja i uruchomienie Autodesk Network License Manager dla systemu Linux
  3. Konfiguracja automatycznego uruchamiania narzędzia po restarcie systemu operacyjnego
  4. Konfiguracja pliku parametrów (o nim napiszę poniżej)
  5. Instalacja lokalna serwera www i PHP

Realizacja wyświetlania listy zajmowanych licencji

  1. Utworzenie pliku .sh z treścią podaną poniżej:
    	#! /bin/bash
    	/opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"
    	

    Zostaje umieszczony w wygodnym katalogu i jest konfigurowany jako plik wykonywalny.

    Dzięki tej komendzie zrzucany jest status menedżera licencji do pliku log.txt

  2. Użyłem komendy
    watch -n 5 [ścieżka do utworzonego w punkcie nr 1 pliku .sh]

    To pozwala wywoływać wcześniej utworzony skrypt bash co 5 sekund.

  3. W katalogu log.txt z punktu nr 1 umieszczany jest plik index.php z następującą treścią
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="/jq.js"></script>
    <title>Serwer licencji AutoCAD</title>
    <style>
    </style>
    </head>
    <body>
    <h1>Lista licencji serwera licencjonowania 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;Aktualnie zajęte: &quot;.$busy[12].&quot; licencji<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>
    	

    Proszę nie oceniać kodu PHP, bardziej profesjonalni specjaliści zrobiliby to lepiej, a ja zrobiłem w miarę swoich możliwości.

    Istota działania index.php:

    1. Odbieram tekst pliku log.txt, stworzony wcześniej przez skrypt, aktualizowany co 5s.
    2. Zamieniam tagi nowej linii na tagi HTML.
    3. Dzielę tekst na tablicę według wierszy.
    4. Formatuję porządek i zawartość wierszy.

Efekt realizacji wszystkich wymagań

Jak wygląda GUI serwera:

Menedżer licencji LMTOOLS. Wyświetlanie listy licencji dla użytkowników produktów Autodesk.

Jak wygląda strona internetowa:

Menedżer licencji LMTOOLS. Wyświetlanie listy licencji dla użytkowników produktów Autodesk.

Plik parametrów .opt

W nim określiłem

TIMEOUTALL 14400 — maksymalny czas bezczynności programu ograniczony do 4 godzin
MAX_BORROW_HOURS [CODE] 48 — maksymalny okres pożyczki ograniczony do 2 dni.

Dodatkowe informacje

Ponieważ w organizacji używane są poprawne imienne domenowe konta użytkowników, można łatwo zidentyfikować specjalistę, który zajął licencję, po loginie.

Łączny rezultat działań:

  1. Użytkownik samodzielnie widzi zajętą licencję, co zmniejsza obciążenie działu wsparcia technicznego.
  2. Wśród zespołu specjalistów pracujących w oprogramowaniu bez udziału wsparcia technicznego pojawia się pytanie „Kto dostanie licencję?”, a w zależności od priorytetu prac licencja jest uwalniana lub zajmowana.
  3. Oszczędności na licencjonowaniu Windows.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster