Добры дзень, паважаныя чытачы.
Буду лімітава кароткі і разаб'ю артыкул на пункты.
Праблемы арганізацыйнага характару
Колькасць карыстачоў праграмнага прадукта AutoCAD перавышае колькасць лакальных сеткавых ліцэнзій.
- Колькасць адмыслоўцаў якія працуюць у ПА AutoCAD не нармуецца ніякім унутраным дакументам.
- Зыходзячы з пункта №1, адмовіць ва ўсталяванні праграмы амаль немагчыма.
- Няправільная арганізацыя работ вядзе да недахопу ліцэнзій, што прыводзіць да заяў і званкоў абанентаў у службу інфармацыйных тэхналогій з дадзенай праблемай.
Праблемы тэхнічныя
- Адсутнасць сродкаў для прагляду спісу займаемых ліцэнзій.
Варыянты рашэння
- Гатовае рашэнне падтрымоўванае вытворцам ПА, якое дазваляе карыстачам самастойна праглядаць спіс займаных ліцэнзій.
- Распрацоўка любога прыдатнага рашэння для вываду справаздачы працы дыспетчара ліцэнзавання ў выглядзе вэб-старонкі.
Прынятае рашэнне і рэалізацыя
Тэхнічнае заданне
- Магчымасць зэканоміць на ліцэнзіі АС
- Выснова спісу карыстальнікаў, якія займаюць ліцэнзіі
Рэалізацыя працы дыспетчара ліцэнзавання
Прынята рашэнне самастойна рэалізаваць неабходную функцыю. Парадак выканання:
- Усталёўка і настройка CentOS 7 на сервер віртуалізацыі
- Усталяванне і запуск Autodesk Network License Manager для Linux
- Налада аўта запуску ўтыліты пры рэстарце АС
- Настройка файла параметраў (пра яго я напішу ніжэй)
- Ўстаноўка лакальнага web-сервера і PHP
Рэалізацыя вываду спісу займаемых ліцэнзій
- Стварэнне .sh файла з змесцівам прыведзеным ніжэй:
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"
Ён размяшчаецца ў зручнай дырэкторыі, і наладжваецца як выкананы файл.
З дапамогай дадзенай каманды выгружаецца статут дыспетчара ліцэнзавання ў файл log.txt.
- Выкарыстоўваў каманду
watch -n 5 [путь к созданному в п№1 файлу .sh]
Гэта дазваляе кожны 5 секунд выклікаць раней створаны bash скрыпт.
- У дырэкторыі log.txt з п№1, размяшчаецца файл 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:
- Атрымліваю тэкст файла log.txt, сфармаваны раней скрыптам, і які абнаўляецца кожныя 5с.
- Замяняю тэгі пераносу на html тэгі.
- Разбіваю тэкст у масіў па радках.
- Фарматую парадак і змесціва радкоў.
Вынік рэалізацыі ўсіх патрабаванняў
Як выглядае GUI сервера:
Як выглядае вэб-старонка:
Файл параметраў .opt
У ім паказаў
TIMEOUTALL 14400
- час прастою праграмы абмежавана 4 гадзінамі
MAX_BORROW_HOURS [CODE] 48
- Максімальны тэрмін запазычання абмежаваны 2 днямі.
Доп. інфармацыя
Т.к. у арганізацыі выкарыстоўваюцца карэктныя імянныя даменныя уч. запісы супрацоўнікаў, па лагіне вельмі лёгка вызначыць спецыяліста які заняў ліцэнзію.
Агульны вынік намаганняў:
- Карыстальнік самастойна бачыць займаемую ліцэнзію і адпаведна зніжана нагрузка службы тэхнічнай падтрымкі.
- Усярэдзіне калектыва адмыслоўцаў якія працуюць у ПА без удзелу тых. Падтрымкі вырашаецца пытанне "Каму дастанецца ліцэнзія?", і ў залежнасці ад прыярытэту работ вызваляецца або займаецца ліцэнзія.
- Эканомія на ліцэнзаванні Windows.
Крыніца: habr.com