Gerenciador de Licenças LMTOOLS. Saída da lista de licenças para usuários de produtos Autodesk

Bom dia, caros leitores.

Serei extremamente breve e dividirei o artigo em tópicos.

Problemas organizacionais

O número de usuários do software AutoCAD supera o número de licenças de rede locais.

  1. O número de especialistas que trabalham com o software AutoCAD não é regulamentado por nenhum documento interno.
  2. Com base no ponto nº 1, é quase impossível recusar a instalação do programa.
  3. Uma organização inadequada do trabalho leva à escassez de licenças, resultando em solicitações e ligações dos assinantes para o serviço de tecnologia da informação com esse problema.

Problemas técnicos

  1. Falta de recursos para visualizar a lista de licenças ocupadas.

Opções de solução

  1. Uma solução pronta apoiada pelo fabricante do software, permitindo aos usuários visualizar de forma independente a lista de licenças ocupadas.
  2. Desenvolvimento de qualquer solução adequada para apresentar o relatório do trabalho do gerenciador de licenças na forma de uma página web.

Solução aceita e implementação

Especificação técnica

  1. Possibilidade de economizar em licenças de sistema operacional
  2. Apresentação da lista de usuários ocupando licenças

Implementação do trabalho do gerenciador de licenças

Decidimos implementar a função necessária de forma independente. Ordem de execução:

  1. Instalação e configuração do CentOS 7 no servidor de virtualização
  2. Instalação e execução do Autodesk Network License Manager para Linux
  3. Configuração da inicialização automática do utilitário ao reiniciar o sistema operacional
  4. Configuração do arquivo de parâmetros (sobre o qual escreverei abaixo)
  5. Instalação local servidor web e PHP

Implementação da saída da lista de licenças ocupadas

  1. Criação de um arquivo .sh com o conteúdo abaixo:
    	#! /bin/bash
    	/opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"
    	

    Ele é colocado em um diretório conveniente e configurado como um arquivo executável.

    Com este comando, você descarrega o status do gerenciador de licenças para o arquivo log.txt

  2. Usei o comando
    watch -n 5 [caminho para o arquivo .sh criado no ponto nº 1]

    Isso permite chamar o script bash criado anteriormente a cada 5 segundos.

  3. No diretório log.txt do ponto nº 1, é colocado um arquivo index.php com o seguinte conteúdo
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="/jq.js"></script>
    <title>Servidor de Licença do AutoCAD</title>
    <style>
    </style>
    </head>
    <body>
    <h1>Lista de licenças do servidor de licenciamento do 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;No momento, estão ocupadas: &quot;.$busy[12].&quot; licenças<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>
    	

    Peço que não me critiquem pelo código PHP, profissionais mais qualificados farão melhor, e eu fiz dentro do que sei.

    A essência do trabalho do index.php:

    1. Recebo o texto do arquivo log.txt, gerado anteriormente pelo script, e atualizado a cada 5s.
    2. Substituo tags de quebra de linha por tags html.
    3. Particiono o texto em um array por linhas.
    4. Formatando a ordem e o conteúdo das linhas.

Resultado da implementação de todos os requisitos

Como é a aparência do GUI servidor:

Gerenciador de Licenças LMTOOLS. Saída da lista de licenças para usuários de produtos Autodesk

Como é a página da web:

Gerenciador de Licenças LMTOOLS. Saída da lista de licenças para usuários de produtos Autodesk

Arquivo de parâmetros .opt

Nele, eu indiquei

TIMEOUTALL 14400 — o tempo de inatividade do programa é limitado a 4 horas
MAX_BORROW_HOURS [CODE] 48 — o prazo máximo de empréstimo é limitado a 2 dias.

Informações adicionais

Como a organização utiliza registros de domínio com nomes corretos para os colaboradores, é fácil identificar o especialista que ocupa a licença pelo login.

Resultado geral dos esforços:

  1. O usuário pode ver por conta própria a licença ocupada, reduzindo assim a carga sobre o serviço de atendimento técnico.
  2. Dentro da equipe de especialistas que trabalham no software sem a participação do suporte técnico, a questão "Quem ficará com a licença?" é resolvida, e dependendo da prioridade das tarefas, a licença é liberada ou ocupada.
  3. Economia na licenciamento do Windows.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster