Guten Tag, geschätzte Leser.
Ich werde mich kurzfassen und den Artikel in Punkte gliedern.
Organisatorische Probleme
Die Anzahl der Nutzer des Softwareprodukts AutoCAD übersteigt die Anzahl der lokalen Netzwerklizenzen.
- Die Anzahl der Fachkräfte, die mit der Software AutoCAD arbeiten, wird durch kein internes Dokument geregelt.
- Aus Punkt Nr. 1 ergibt sich, dass die Installation des Programms nahezu unmöglich abzulehnen ist.
- Eine falsche Organisation der Arbeiten führt zu einem Mangel an Lizenzen, was zu Anfragen und Anrufen von Benutzern beim IT-Support mit diesem Problem führt.
Technische Probleme
- Fehlende Mittel zur Ansicht der Liste der belegten Lizenzen.
Lösungsmöglichkeiten
- Eine vom Softwarehersteller unterstützte fertige Lösung, die es Nutzern ermöglicht, selbstständig die Liste belegter Lizenzen einzusehen.
- Entwicklung einer geeigneten Lösung zur Ausgabe des Lizenzverwaltungberichts als Webseite.
Getroffene Entscheidung und Implementierung
Technisches Lastenheft
- Möglichkeit, bei der OS-Lizenz zu sparen
- Ausgabe der Liste der Benutzer, die Lizenzen belegen
Umsetzung der Lizenzverwaltung
Es wurde beschlossen, die benötigte Funktion selbst umzusetzen. Vorgehensweise:
- Installation und Konfiguration von CentOS 7 auf dem Virtualisierungsserver
- Installation und Start des Autodesk Network License Manager für Linux
- Konfiguration des automatischen Starts der Anwendung beim Neustart des Betriebsystems
- Konfiguration der Parameterdatei (über die ich weiter unten schreibe)
- Installation von lokalem Webserver und PHP
Implementierung der Anzeige der genutzten Lizenzen
- Erstellung einer .sh-Datei mit folgendem Inhalt:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Sie wird in einem geeigneten Verzeichnis abgelegt und als ausführbare Datei konfiguriert.
Mit diesem Befehl wird der Status des Lizenzmanagers in die Datei log.txt ausgegeben.
- Ich habe den Befehl verwendet
watch -n 5 [Pfad zur in Punkt 1 erstellten .sh-Datei]Dies ermöglicht es, das zuvor erstellte Bash-Skript alle 5 Sekunden aufzurufen.
- Im Verzeichnis log.txt aus Punkt 1 wird die Datei index.php mit folgendem Inhalt abgelegt
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Lizenzserver AutoCAD</title> <style> </style> </head> <body> <h1>Liste der Lizenzen für den AutoCAD-Lizenzserver</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 "Momentan sind: ".$busy[12]." Lizenzen belegt<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>Bitte urteilen Sie nicht über den PHP-Code, professionellere Spezialisten würden es besser machen; ich habe es nach meinen Möglichkeiten umgesetzt.
Der Zweck der Arbeit von index.php:
- Ich nehme den Inhalt der Datei log.txt, die zuvor durch das Skript erstellt wurde und alle 5 Sekunden aktualisiert wird.
- Ich ersetze die Zeilenumbrüche durch HTML-Tags.
- Ich zerlege den Text in ein Array nach Zeilen.
- Ich formatiere die Reihenfolge und den Inhalt der Zeilen.
Ergebnis der Umsetzung aller Anforderungen
So sieht die GUI aus Server:

So sieht die Webseite aus:

Parameterdatei .opt
Ich habe angegeben
TIMEOUTALL 14400 — die Ausfallzeit des Programms ist auf 4 Stunden begrenzt
MAX_BORROW_HOURS [CODE] 48 — die maximalen Ausleihzeiten sind auf 2 Tage begrenzt.
Zusätzliche Informationen
Da im Unternehmen korrekte benannte Domain-Konten der Mitarbeiter verwendet werden, ist es anhand des Logins sehr einfach, den Spezialisten zu identifizieren, der die Lizenz in Anspruch nimmt.
Gesamtergebnis der Bemühungen:
- Der Benutzer sieht selbst die in Anspruch genommene Lizenz, was die Belastung des technischen Supports verringert.
- Innerhalb des Teams von Fachleuten, die in der Software ohne Beteiligung des technischen Supports arbeiten, wird die Frage „Wer erhält die Lizenz?“ geklärt, und je nach Priorität der Arbeiten wird die Lizenz frei gegeben oder in Anspruch genommen.
- Einsparungen bei der Windows-Lizenzierung.
Quelle: habr.com
