Bonjour, chers lecteurs.
Je vais être très concis et diviser l'article en points.
Problèmes organisationnels
Le nombre d'utilisateurs du produit logiciel AutoCAD dépasse le nombre de licences réseau locales.
- Le nombre de spécialistes travaillant dans le logiciel AutoCAD n'est régulé par aucun document interne.
- Selon le point n°1, il est presque impossible de refuser l'installation du programme.
- Une mauvaise organisation du travail entraîne un manque de licences, ce qui conduit à des demandes et des appels d'abonnés auprès du service des technologies de l'information concernant ce problème.
Problèmes techniques
- Absence de moyens pour visualiser la liste des licences occupées.
Options de solution
- Une solution clé en main prise en charge par le fabricant du logiciel, permettant aux utilisateurs de visualiser eux-mêmes la liste des licences occupées.
- Développement de toute solution appropriée pour afficher le rapport du gestionnaire de licences sous forme de page web.
Solution adoptée et mise en œuvre
Cahier des charges
- Possibilité d'économiser sur la licence du système d'exploitation
- Affichage de la liste des utilisateurs occupant des licences
Mise en œuvre du gestionnaire de licences
Il a été décidé de mettre en œuvre la fonction nécessaire soi-même. Procédure à suivre :
- Installation et configuration de CentOS 7 sur le serveur de virtualisation
- Installation et démarrage d'Autodesk Network License Manager pour Linux
- Configuration du démarrage automatique de l'utilitaire lors du redémarrage du système d'exploitation
- Configuration du fichier de paramètres (je vais en parler ci-dessous)
- Installation locale serveur web et PHP
Mise en œuvre de l'affichage de la liste des licences occupées
- Création d'un fichier .sh avec le contenu suivant :
#! /bin/bash /opt/flexnetserver/lmutil lmstat -a -c [путь к файлу .lic]> "/var/www/html/log.txt"Il est placé dans un répertoire pratique et est configuré comme un fichier exécutable.
Avec cette commande, on exporte le statut du gestionnaire de licenses dans le fichier log.txt
- Utilisé la commande
watch -n 5 [chemin vers le fichier .sh créé à l'étape n°1]Cela permet d'appeler le script bash précédemment créé toutes les 5 secondes.
- Dans le répertoire log.txt de l'étape n°1, il y a un fichier index.php avec le contenu suivant
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script src="/jq.js"></script> <title>Serveur de licences AutoCAD</title> <style> </style> </head> <body> <h1>Liste des licences du serveur de licences 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 "Actuellement occupé : ".$busy[12]." licences<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." "; echo "<span>".$data[4]." "; echo "<span>".$data[12]." "; echo "<span>".$data[11]." "; echo "<span>".$time.""; echo "<br>"; $i++; } ?> </div> </body> </html>Je vous prie de ne pas juger le code PHP, des spécialistes plus professionnels le feront mieux, et j'ai fait selon mes connaissances.
Le principe de fonctionnement de index.php :
- Je récupère le texte du fichier log.txt, généré par le script précédent, et mis à jour toutes les 5 secondes.
- Je remplace les balises de saut de ligne par des balises html.
- Je divise le texte en un tableau par lignes.
- Je formate l'ordre et le contenu des lignes.
Résultat de la mise en œuvre de toutes les exigences
À quoi ressemble l'interface utilisateur graphique de serveurs:

À quoi ressemble la page web :

Fichier de paramètres .opt
Dedans, j'ai spécifié
TIMEOUTALL 14400 — le temps d'inactivité du programme est limité à 4 heures
MAX_BORROW_HOURS [CODE] 48 — le délai maximal d'emprunt est limité à 2 jours.
Informations supplémentaires
Puisque l'organisation utilise des enregistrements de domaine nommés corrects pour les employés, le spécialiste ayant pris la licence peut être facilement identifié par son identifiant.
Résultat global des efforts :
- L'utilisateur voit lui-même la licence occupée, réduisant ainsi la charge sur le service d'assistance technique.
- Au sein du collectif de spécialistes travaillant dans le logiciel sans l'assistance technique, la question « Qui obtiendra la licence ? » est résolue, et en fonction des priorités des travaux, la licence est soit libérée, soit utilisée.
- Économies sur la licence Windows.
Source : habr.com
