What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general. You are invited to get involved by asking and answering questions!

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
300.000 administrators have chosen PRTG to monitor their network. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

How can I monitor "FlexLM-Lizenzdienste"

Votes:

1

Your Vote:

Up

Down

FlexLM Lizenzserverüberwachung

Daten über die Nutzung von sogenannten "Floating Lizenzen", zum Beispiel bei ESRI-Software, direkt abzurufen ist leider nicht möglich. Der FlexLM-Lizenzdienst hat keine SNMP-Schnittstelle. Daher muss man die Informationen mit den Tools von FlexNet abrufen und die Nutzdaten aus dem Ergebnis herausfiltern.

Was brauchen Sie?

Erstens: lmutil.exe

Als erstes benötigt man das Programm lmutil.exe. Sie können dieses von der Flexera Website wahlweise in einer 32- oder einer 64-Bit-Variante herunterladen. Kopieren Sie dieses Programm irgendwohin auf Ihren PRTG-Sondenrechner. Es ist keine Installation notwendig. Einfach die ZIP-Datei entpacken und die Datei lmutil.exe kopieren.

Zweitens: Ein PowerShell-Skript

Zusätzlich zu lmutil.exe benötigen Sie ein PowerShell-Skript, welches das Programm aufruft und die Nutzdaten aus dem Ergebnis filtert. Kopieren Sie das Skript einfach in den Pfad <prtg-installationpath>\custom sensors\exe Nicht nach <prtg-installationpath>\custom sensors\powershell scripts

Skript:

#------------------------------------------------------------------------------
# FlexLM-Lizenzüberwachung
#------------------------------------------------------------------------------
# Parameter
#	Args[0]	=	Lizenzserver
#	Args[1]	=	Port
#	Args[2]	=	Lizenzbezeichnung
#	Args[3]	=	Ergebniswert ("m"...Maximale Anzahl; "a"...Aktuelle Nutzung)
#------------------------------------------------------------------------------

Clear-Host

if ($args.Count -ne 4) {
	Exit(2)
}

$Server		= $args[0]
$Port		= $args[1]
$Lizenz		= $args[2]
$Abrufwert	= $args[3]

$Lizenzen	= &"C:\Program Files\LGV_FlexLM_Tools\lmutil.exe" lmstat -a -c [email protected]$Server | Select-String -Pattern ("Users of " + $Lizenz + ":")

$Anzahlsuche = [RegEx]"\b [0-9]+ \b"
$Werte		= $Anzahlsuche.Matches($Lizenzen)

switch($Abrufwert) {
	"m" { Write-Host $Werte[0].Value.Trim(),":OK" }
	"a" { Write-Host $Werte[1].Value.Trim(),":OK" }
}

Exit(0)

Nächste Schritte

Informationen zum Lizenzdienst finden

Wenn Sie aus irgendeinem Grund nicht wissen, auf welchem Port der FlexLM-Lizenzdienst lauscht, können Sie auf dem Windows-Server einfach netstat -f -b aufrufen. Damit bekommen Sie angezeigt, welches Programm auf welchem TCP/IP-Port lauscht.

Wenn der Server also server01 heißt und der Lizenzdienst auf Port 27004 horcht, dann können Sie - wie im Skript zu sehen - mit dem Kommando lmutil lmstat -a -c [email protected] den Lizenzdienst abrufen.

C:\Program Files\LGV_FlexLM_Tools>lmutil lmstat -a -c [email protected]
lmutil - Copyright (c) 1989-2009 Flexera Software, Inc. All Rights Reserved.
Flexible License Manager status on Tue 3/16/2010 14:07

[Detecting lmgrd processes...]
License server status: [email protected]
    License file(s) on server01: C:\Program Files\ESRI\License\arcgis9x\Editor9_30.lic:

server01: license server UP (MASTER) v11.6

Vendor daemon status (on server01):

    ARCGIS: UP v11.4
Feature usage info:

Users of Editor:  (Total of 50 licenses issued;  Total of 30 licenses in use)

Diese Daten werden vom Skript umgesetzt und je nach Auswahlparameter wird entweder die maximale (m) oder die aktuelle (a) Anzahl an genutzten Lizenzen zurückgeliefert.

Für jeden Lizenzserver muss man sich also leider - da mit Custom Sensoren nur ein Wert zurückgegeben werden kann - zwei Sensoren erstellen, die das Skript mit zum Beispiel folgenden Parametern aufrufen %host port lizenzname m wobei der Lizenzname im obigen Beispiel (letzte Zeile) Editor wäre. %host 27004 Editor m Manchmal stehen da auch nur Zahlen, die man erstmal in die sprechende Namen umsetzen muss. Dafür kann man die Lizenzserversoftware direkt auf dem Lizenzserver nutzen. Die beiden Sensoren kann man dann mittels eines Formelsensors als Kanäle in einen neuen Sensor einbinden und darstellen.

flexlm licenseserver prtg

Created on Mar 16, 2010 1:22:48 PM by  Jens Kalski (170) 3 1

Last change on Mar 17, 2010 11:31:18 AM by  Daniel Zobel [Product Manager]



3 Replies

Accepted Answer

Votes:

0

Your Vote:

Up

Down

Automated Translation

This question has already been answered above. To view an automated translation of this article, please go to

http://translate.google.de/translate?u=https://www.paessler.com/knowledgebase/en/topic/2493&sl=de&tl=en

Note: Parts of the scripts may also be translated and therefore not work properly. Please copy them from the original version.

Created on Mar 18, 2010 3:35:05 PM by  Daniel Zobel [Product Manager]

Last change on Mar 19, 2010 10:12:34 AM by  Daniel Zobel [Product Manager]



Votes:

0

Your Vote:

Up

Down

Just wondering if anyone has managed to get this going? (Or trying to figure out what I'm doing wrong)

I'm missing something in the translation I guess.

Here's my script below;

Clear-Host

if ($args.Count -ne 4) { Exit(2) }

$Server = $adsk[0] $Port = $27004[1] $Lizenz = $flame_x86_64_r_2012[2] $Abrufwert = $m[3]

$Lizenzen = &"C:\Program Files\LGV_FlexLM_Tools\lmutil.exe" lmstat -a -c [email protected]$Server | Select-String -Pattern ("Users of " + $Lizenz + ":")

$Anzahlsuche = [RegEx]"\b [0-9]+ \b" $Werte = $Anzahlsuche.Matches($Lizenzen)

switch($Abrufwert) { "m" { Write-Host $Werte[0].Value.Trim(),":OK" } "a" { Write-Host $Werte[1].Value.Trim(),":OK" } }

Exit(0)

Created on Jan 23, 2012 3:42:28 PM by  Harry Skopas (0) 1



Votes:

0

Your Vote:

Up

Down

Thought I'd add an update for this for anyone that's searching.

I managed to get my flexlm graphing with the following powershell script;

$NUMBER = & "C:\Program Files\LGV_FlexLM_Tools\lmutil.exe" lmstat -a -c [email protected] | select-string -pattern "flame_x86_64_r_2012_1" | foreach {$_.ToString().split("")[12]} Write-Host $('{0}:OK' -f $NUMBER)

Created on Jan 24, 2012 4:06:19 PM by  Harry Skopas (0) 1



Please log in or register to enter your reply.


Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.