Guten Tag, geschätzte Leser.
Ich werde mich kurz fassen und den Artikel in Punkte gliedern.
Organisatorische Probleme
Die Anzahl der Benutzer des Softwareprodukts AutoCAD übersteigt die Anzahl der lokalen Netzwerk-Lizenzen.
- Die Anzahl der Fachkräfte, die mit der Software AutoCAD arbeiten, wird durch kein internes Dokument reguliert.
- Basierend auf Punkt Nr. 1 ist es fast unmöglich, die Installation des Programms abzulehnen.
- Eine falsche Organisation der Arbeiten führt zu einem Mangel an Lizenzen, was zu Anfragen und Anrufen von Abonnenten beim IT-Service mit diesem Problem führt.
Technische Probleme
- Fehlende Mittel zur Einsicht in die Liste der vergebenen Lizenzen.
Lösungsoptionen
- Eine vom Softwarehersteller unterstützte Lösung, die es Benutzern ermöglicht, eigenständig die Liste der vergebenen Lizenzen einzusehen.
- Die Entwicklung einer geeigneten Lösung zur Erstellung eines Lizenzmanager-Reports in Form einer Webseite.
Die getroffene Entscheidung und Umsetzung
Technisches Pflichtenheft
- Die Möglichkeit, bei den Betriebssystemlizenzen zu sparen
- Ausgabe der Liste der Benutzer, die Lizenzen in Anspruch nehmen
Implementierung des Lizenzmanagers
Es wurde beschlossen, die erforderliche Funktion selbst umzusetzen. Reihenfolge der Durchführung:
- Installation und Konfiguration von CentOS 7 auf dem Virtualisierungsserver
- Installation und Start des Autodesk Network License Manager für Linux
- Konfiguration des automatischen Starts des Dienstprogramms bei Neustart des Betriebssystems
- Konfiguration der Parameterdatei (darüber werde ich weiter unten schreiben)
- Installation lokal Webserver und PHP
Implementierung der Ausgabe der Liste der vergebenen Lizenzen
- Erstellung einer .sh-Datei mit dem untenstehenden Inhalt:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Sie wird in einem praktischen 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 Nr. 1 erstellten .sh-Datei]Dies ermöglicht es, alle 5 Sekunden das vorher erstellte Bash-Skript aufzurufen.
- Im Verzeichnis log.txt von Punkt Nr. 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 Lizenzserver für 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 "Derzeit sind belegt: ".$busy[12]." Lizenzen<br /><br />"; $i = 18; while($i<=37){ //$a = $i-17; $data = explode(" ", $arraystr[$i]); $time = str_replace('<br', '', $data[13]); //varEND echo "<span>".$a." "; echo "<span>".$data[4]." "; echo "<span>".$data[12]." "; echo "<span>".$data[11]." "; echo "<span>".$time.""; echo "<br>"; $i++; } ?> </div> </body> </html>Bitte verurteilen Sie den PHP-Code nicht, professionellere Spezialisten können das besser machen, ich habe es nach meinen Möglichkeiten getan.
Der Zweck der Arbeit von index.php:
- Ich erhalte den Text der Datei log.txt, die zuvor vom Skript erstellt wurde und alle 5 Sekunden aktualisiert wird.
- Ich ersetze Zeilenumbrüche durch HTML-Tags.
- Ich zerlege den Text in ein Array nach Zeilen.
- Ich formatiere die Reihenfolge und den Inhalt der Zeilen.
Das Ergebnis der Umsetzung aller Anforderungen
Wie sieht das GUI aus Server:

Wie sieht die Webseite aus:

Parameterdatei .opt
Darin angegeben
TIMEOUTALL 14400 — die Ausfallzeit des Programms ist auf 4 Stunden begrenzt
MAX_BORROW_HOURS [CODE] 48 — die maximale Ausleihzeit ist auf 2 Tage beschränkt.
Zusätzliche Informationen
Da in der Organisation korrekte benannte Domänenkonten der Mitarbeiter verwendet werden, lässt sich am Login sehr leicht der Spezialist identifizieren, der die Lizenz beansprucht.
Das Gesamtergebnis der Bemühungen:
- Der Benutzer kann selbst die in Anspruch genommene Lizenz sehen, wodurch die Belastung der technischen Unterstützung verringert wird.
- Innerhalb des Teams von Spezialisten, die in der Software ohne Beteiligung des technischen Supports arbeiten, wird die Frage "Wem gehört die Lizenz?" geklärt, und abhängig von der Dringlichkeit der Arbeiten wird die Lizenz freigegeben oder beansprucht.
- Einsparungen bei der Lizenzierung von Windows.
Quelle: habr.com
