CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

DeltaMaster Lizenzmanagement

„Alle verfügbaren Lizenzen sind zur Zeit in Verwendung.“ Dieser Hinweis beim Programmstart von DeltaMaster ist sicherlich einigen Benutzern bekannt. Die vorhandenen Mehrbenutzerlizenzen sind von den Kollegen belegt, ein Programmstart ist somit nicht möglich.

Welche Abteilung nutzt DeltaMaster intensiv? In welcher Lizenzstufe (Miner/Pivotizer/Reader) werden Benutzer oft abgewiesen, weil zu wenige Lizenzen vorhanden sind? Diese und andere Fragestellungen über die Lizenznutzung der Softwaresuite DeltaMaster soll dieser Artikel klären, indem in vier Schritten beschrieben wird, wie die Lizenzbelegung aufgezeichnet und anschließend mit DeltaMaster ausgewertet werden kann.

Die einzelnen Schritte zeigen den manuellen Weg zur Lizenzauswertung. Im hier verfügbaren Download auf der Blog-Seite sind alle unten beschriebenen Vorgänge in einem Projektpaket zusammengefasst. Im letzten Abschnitt wird dieses Paket beschrieben.

Schritt 1: Aktivierung der Lizenzprotokollierung

Wie bereits im Artikel „DeltaMaster Lizenzverwaltung mit Hilfe von Sentinel RMS 8“ beschrieben, benötigt DeltaMaster die Software SafeNet Sentinel RMS 8 zur Überwachung der Lizenznutzung. Diese Software hat neben der Verwaltungsfunktion auch die Möglichkeit, die Aufrufe der Lizenzen zu protokollieren. Um die Funktion zu aktivieren, muss lediglich eine Windows Systemvariable angelegt werden.

Im Systemeigenschaftendialog, Ordner „Erweitert”, lassen sich Systemvariablen anlegen und bearbeiten. Legen Sie eine neue Variable mit dem Namen „LSERVOPTS” und dem Wert „-l gültiger Dateipfad mit Dateiname” an (Hinweis: „-l” ist ein kleines „L” , kein großes „i” – in Abbildung 1 lautet der Wert z. B. „-l C:\LicLog\LicLog.txt”).

Achtung: Bei Leerzeichen im Dateinamen muss dieser in Anführungszeichen geschrieben werden; ein Neustart des Rechners ist erforderlich.

Abb. 1: Anlegen einer Umgebungsvariablen in MS Windows

Schritt 2: Konvertierung der Protokolldatei

Beim Programmstart wird nun der Abruf einer Lizenz in der Datei protokolliert. Ein Eintrag sieht beispielsweise so aus:

2 0 MTYyOTc= Tue Dec 29 16:58:09 2009 1262102289 DM-DEC v5.x 0 1 0 BEH LAP
8.1.1.0 1 - - - - - - 0 - - - MA== 864804 MTI2Mjk2NzA5Mw==

Beim Schließen des Programms wird die Lizenz nicht sofort freigegeben, sondern noch eine bestimmte Zeit für den Benutzer reserviert. Bei den DeltaMaster-Lizenzen dauert diese „hold time“ 120 Sekunden. Erfolgt in dieser Zeit kein erneuter Programmaufruf dieses Benutzers, wird die Lizenz freigegeben und ein Protokolleintrag generiert.

Die erzeugte Protokolldatei wird in einem Format erstellt, das für die weitere datenbanktechnische Verarbeitung nicht optimal geeignet ist. Sie muss über ein im Baukasten der Lizenzierungssoftware vorhandenes Programm in eine csv-Datei konvertiert werden. Dabei werden die einzelnen Start- und Endeinträge einer DeltaMaster-Sitzung zusammengefasst, Protokolleinträge des Lizenzservers (z.B. Starten/Stoppen des Dienstes) entfernt und verschlüsselte Felder dekodiert.

Das Konvertierungsprogramm heißt „lsusage.exe“ und befindet sich im Verzeichnis, indem die Lizenzverwaltungssoftware installiert wurde. Das Programm wird wie folgt aufgerufen:

[Pfad] lsusage.exe -l Pfad und Name LogDatei -c Pfad und Name konvertierte Datei

In unserem Beispiel soll im selben Ordner, in welchem das eigentliche Lizenzprotokoll liegt, die konvertierte csv-Datei („LicLog.csv“) liegen. Der Aufruf sieht daher folgendermaßen aus:

C:\Programme\SentLM8\lsusage.exe -l C:\LicLog\LicLog.txt -c
C:\LicLog\LicLog.csv

Nach der Ausführung sollten nun also zwei Dateien vorhanden sein. Die neu erzeugte Datei kann z.B. mit MS Excel geöffnet werden (vgl. Abbildung 2).

Abb. 2: Nach dem Konvertieren gibt es zwei Dateien; Ansicht der konvertierten Datei in MS Excel

Schritt 3: Import der Log-Datei in eine SQL-Datenbank

Die so erzeugte Datei wird über die Importfunktion des SQL-Servers in eine neu erstellte Datenbank (im Beispiel heißt sie „LicLog“) in die Tabelle „T_Import_LicLog” importiert. Die Tabellenstruktur sieht folgendermaßen aus:

CREATE TABLE [dbo].[T_Import_LicLog](
       [FeatureName] [varchar](10) NULL,
       [Version] [varchar](10) NULL,
       [DayOfWeek] [varchar](3) NULL,
       [DateOfTrans] [varchar](11) NULL,
       [TimeOfDay] [varchar](8) NULL,
       [LoggingType] [int] NULL,
       [KeysInUse] [int] NULL,
       [UsageTime] [int] NULL,
       [UserName] [varchar](50) NULL,
       [HostName] [varchar](50) NULL,
       [LmLibVer] [varchar](10) NULL,
       [NoOfLicenses] [int] NULL,
       [ClientLockedStr] [varchar](50) NULL,
       [QueueKeyId] [varchar](50) NULL,
       [AbsPos] [varchar](50) NULL,
       [GrpPos] [varchar](50) NULL,
       [GrpName] [varchar](50) NULL
)

Schritt 4: Modellierung des OLAP-Modells

Die Modellierung der OLAP-Datenbank wird mit DeltaMaster Modeler gemacht. Auf die einzelnen Modellierungsschritte wird nicht eingegangen. Tabelle 1 beschreibt die Felder in der Importtabelle sowie deren Verwendung für das OLAP-Modell.

Tab. 1: Spaltenbeschreibung der konvertierten Log-Datei

Schritt 5: Analyse der Daten mit DeltaMaster

Nachdem das Datenmodell gebaut wurde („Create Snowflake Schema“ in DeltaMaster Modeler), die Daten transformiert („Transform All“) und der OLAP Würfel aufgebaut und befüllt („Deploy and Process Cube“) wurde, können die Lizenzaufrufe in DeltaMaster analysiert werden. Abbildung 3 zeigt einen Beispielbericht.

Abb. 3: Cockpit in DeltaMaster zur Auswertung der Lizenzaufrufe

Das Cockpit zeigt im Seitenriss drei ausgewählte Lizenzstufen (Miner, Pivotizer, Viewer) und im Aufriss die vier wichtigsten Kennzahlen. Man erkennt, dass im ausgewählten Zeitraum (hier Dezember 2009) vier Benutzer in der Miner-Stufe gearbeitet haben (zehn Benutzer im Pivotizer-Modus, 13 Benutzer als Viewer). „CountLicenceRelease“ zeigt, wie viele Lizenzaufrufe erfolgreich waren. Durch die Sparklines erkennt man, dass z.B. die Nutzung der Minerstufe in den letzten drei Monaten geringer wurde. Daraus könnten Maßnahmen zur Steigerung der Nutzung des Programms abgeleitet werden, z.B. eine Auffrischung der Kenntnisse durch eine Schulung.

„CountLicenceDenial“ zeigt die Anzahl der abgelehnten Lizenzen. Die Anzahl der abgelehnten Miner-Lizenzen ist in dem Beispiel so hoch, weil über Berechtigungsgruppen diese Lizenzstufe gesperrt wurde und die Anfrage nach Lizenzstufen hier immer in der höchsten Stufe beginnt und dann nach niedrigeren Lizenzstufen gesucht wird (Option im DeltaMaster Lizenzdialog). Interessant ist, warum es noch zu 18 Ablehnungen der Viewer-Lizenzen gekommen ist. Hier kann, z.B. mit einem Ranking oder einer Pivot-Navigation, ermittelt werden, welche User (oder Wochentage etc.) betroffen waren. Hier könnten zu wenige Lizenzen vorliegen und es muss überlegt werden, ob neue Lizenzen erworben werden sollen.

Zuletzt zeigt der Wert „ø UsageTime“ die durchschnittliche Dauer einer DeltaMaster-Sitzung.

Inhalt Projektpaket

  • Convert_LicLog.bat
  • LicLog_SQLDB.bak
  • LicLog.abf
  • LicLog.das
  • LicLog.dtsx

Convert_LicLog.bat führt die in Schritt 2 beschriebene Konvertierung aus.

Achtung: Hier müssen noch die Dateipfade der Quell- und Zieldatei angegeben werden.

LicLog_SQLDB.bak ist das Backup der SQL-Server Datenbank (Version SQL 2005 und höher) und kann über die Restore-Funktion eingespielt werden.

LicLog.abf ist das Backup der OLAP Datenbank (Version SQL 2005 und höher). Dieses kann ebenfalls über die Restore-Funktion der OLAP-Datenbank eingespielt werden.

Achtung: Hier muss nach dem Einspielen noch die Datenquelle der relationalen Datenbank angepasst werden.

LicLog.das: Analysesitzung mit dem in Schritt 4 besprochenen Beispielcockpit (DeltaMaster Version 5.4 und höher)

LicLog.dtsx ist die komplette Ablaufsteuerung von der Konvertierung (Schritt 2) bis zur Aufbereitung der OLAP-Datenbank (vgl. Abbildung 5).

Abb. 4: Prozesskette im SSIS-Paket

Achtung: Alle notwendigen Parameter können über die bereits angelegten Variablen eingegeben werden (vgl. Abbildung 5).

Abb. 5: Pfade und Datenbanknamen können über Variablen im SSIS-Paket angegeben werden