LMTOOLS ライセンス マネージャー。 オートデスク製品ユーザーのライセンスをリストする

読者の皆様、こんにちは。

非常に簡潔に記事をポイントに分けて説明します。

組織の問題

AutoCAD ソフトウェア製品のユーザー数がローカル ネットワーク ライセンスの数を超えています。

  1. AutoCAD ソフトウェアで働くスペシャリストの数は、社内文書によって標準化されていません。
  2. ポイント 1 に基づいて、プログラムのインストールを拒否することはほとんど不可能です。
  3. 作業が不適切に組織されるとライセンスが不足し、この問題を抱えた加入者からの IT サービスへの要求や電話が発生します。

技術的な問題

  1. 占有ライセンスのリストを表示するツールが不足しています。

ソリューションのオプション

  1. ソフトウェア製造元がサポートする既製のソリューション。ユーザーは占有ライセンスのリストを独自に表示できます。
  2. ライセンス管理者の操作に関するレポートを Web ページの形式で表示するための適切なソリューションの開発。

決定と実施

参照条件

  1. OSライセンスを節約するチャンス
  2. ライセンスを保有しているユーザーの一覧を表示する

ライセンスマネージャーの実装

必要な機能を独自に実装することが決定されました。 実行順序:

  1. 仮想化サーバーへの CentOS 7 のインストールと構成
  2. Linux 用 Autodesk Network License Manager のインストールと実行
  3. OSの再起動時にユーティリティが自動的に起動するように設定する
  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]

    これにより、以前に作成した bash スクリプトを 5 秒ごとに呼び出すことができます。

  3. ポイント 1 の log.txt ディレクトリには、次の内容の 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. transferタグをhtmlタグに置き換えます。
    3. テキストを行ごとに配列に分割します。
    4. 行の順序と内容をフォーマットします。

すべての要件を実装した結果

サーバー GUI は次のようになります。

LMTOOLS ライセンス マネージャー。 オートデスク製品ユーザーのライセンスをリストする

Web ページは次のようになります。

LMTOOLS ライセンス マネージャー。 オートデスク製品ユーザーのライセンスをリストする

オプション ファイル .opt

それは示した

TIMEOUTALL 14400 — プログラムのダウンタイムは 4 時間に制限されています
MAX_BORROW_HOURS [CODE] 48 — 最大借用期間は 2 日間に制限されます。

エクストラ。 情報

なぜなら組織は正しい登録済みドメイン アカウントを使用しています。 従業員の記録にログインすることで、ライセンスを取得した専門家を簡単に特定できます。

取り組みの全体的な結果:

  1. ユーザーは占有ライセンスを独自に確認できるため、テクニカル サポート サービスの負荷がそれに応じて軽減されます。
  2. 技術スタッフの参加なしでソフトウェアに取り組む専門家のチーム内。 サポートを利用すると、「誰がライセンスを取得するのか?」という問題が解決され、作業の優先度に応じてライセンスが解放または占有されます。
  3. Windows ライセンスを節約します。

出所: habr.com

コメントを追加します