God dag, kÀra lÀsare.
Jag ska vara kort och dela upp artikeln i punkter.
Organisatoriska problem
Antalet anvÀndare av programvaran AutoCAD överstiger antalet lokala nÀtverkslicenser.
- Antalet specialister som arbetar med AutoCAD-regleras inte av nÄgot internt dokument.
- Baserat pÄ punkt 1 Àr det nÀstan omöjligt att neka installation av programmet.
- Felaktig organisering av arbetet leder till brist pÄ licenser, vilket resulterar i förfrÄgningar och samtal frÄn abonnenter till IT-avdelningens support med detta problem.
Tekniska problem
- Avsaknad av medel för att se listan över upptagna licenser.
Lösningsalternativ
- En fÀrdig lösning som stöds av programvarutillverkaren, vilket gör att anvÀndarna sjÀlva kan se listan över upptagna licenser.
- Utveckling av en lÀmplig lösning för att generera en rapport av licenshanterarens arbete i form av en webbsida.
Antagen lösning och implementering
Teknisk specifikation
- Möjlighet att spara pÄ operativsystemets licens
- Utskrift av lista över anvÀndare som anvÀnder licenser
Genomförande av licenshanterarens arbete
Beslutet fattades att sjÀlva implementera den nödvÀndiga funktionen. Utförandeordning:
- Installation och konfiguration av CentOS 7 pÄ virtualiseringsservern.
- Installation och start av Autodesk Network License Manager för Linux.
- Konfigurering för automatisk start av verktyget vid omstart av operativsystemet.
- Konfiguration av parameterfilen (jag kommer att skriva om den nedan)
- Installation av lokal webbserver. och PHP
Genomförande av att skriva ut listan över upptagna licenser.
- Skapa en .sh-fil med innehÄllet nedan:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [ĐżŃŃŃ Đș ŃаĐčĐ»Ń .lic]> "/var/www/html/log.txt"Den placeras i en bekvĂ€m katalog och konfigureras som en körbar fil.
Med hjÀlp av detta kommando exporteras statusen för licenshanteraren till filen log.txt.
- Jag anvÀnde kommandot
watch -n 5 [vÀgen till den skapade .sh-filen i punkt 1]Detta gör att bash-skriptet kan anropas var 5:e sekund.
- I katalogen log.txt frÄn punkt 1 placeras filen index.php med följande innehÄll.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Licensserver AutoCAD</title> <style> </style> </head> <body> <h1>Lista över licenser för AutoCAD licensserver</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 "För närvarande är: ".$busy[12]." licenser upptagna<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>Jag ber om ursĂ€kt för PHP-koden, mer professionella specialister kan göra det bĂ€ttre, men jag gjorde det efter mina kunskaper.
KĂ€rnan i index.php:s arbete:
- Jag hÀmtar texten frÄn log.txt-filen, skapad tidigare av skriptet och uppdateras var 5:e sekund.
- Jag byter ut radbrytningstags mot HTML-tags.
- Jag delar upp texten i en array efter rader.
- Jag formaterar ordningen och innehÄllet i raderna.
Resultatet av genomförandet av alla krav
Hur GUI ser ut servern:

Hur webbplatsen ser ut:

Parameterfil .opt
I den angav jag
TIMEOUTALL 14400 â programmets stillestĂ„ndstid Ă€r begrĂ€nsad till 4 timmar
MAX_BORROW_HOURS [CODE] 48 â den maximala lĂ„netiden Ă€r begrĂ€nsad till 2 dagar.
Ytterligare information
Eftersom organisationen anvÀnder korrekta namngivna domÀnkonton för anstÀllda, Àr det mycket lÀtt att bestÀmma vilken specialist som har tagit licensen baserat pÄ inloggningen.
Det övergripande resultatet av insatserna:
- AnvÀndaren ser sjÀlv vilken licens som anvÀnds, vilket minskar belastningen pÄ teknisk support.
- Inom gruppen av specialister som arbetar med programvaran utan att involvera teknisk support, diskuteras frÄgan "Vem fÄr licensen?" och beroende pÄ arbetsprioritet frigörs eller anvÀnds licensen.
- Besparingar pÄ Windows-licenser.
KĂ€lla: habr.com
