cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

License monitoring

STEVEG
21-Topaz I

License monitoring

So what is everyone using now-a-days to monitor the licenses of Pro/E?


Steve G

26 REPLIES 26

ptcstatus in a command prompt.


You just have to set a 'Path' system variable to point to the correct folder (<loadpoint>\Creo 2.0\Parametric\bin)



In Reply to Stephen Galayda:



So what is everyone using now-a-days to monitor the licenses of Pro/E?


Steve G


amedina
1-Newbie
(To:STEVEG)

with the ptcstatus, we modified one line of code and then the intern made a
sql based local site showing the status: we list each user by name and what
license he/she is using on a table above this graph. I can't show it
because it has the names of our users. I renamed the licenses so people
won't jump to Flex3C right away like it used to happen.

[image: Inline image 1]


amedina
1-Newbie
(To:STEVEG)

if anyone is interested, my intern starts again in may and I can have her
contact you or anyone else to see if she wants to do a little contract job.
She is also a java developer in the making and knows j-link from a few apps
she made for us. I'll ask her for my cut when she's my boss some time in
the future.




mjenkins
5-Regular Member
(To:STEVEG)

ptcstatus but there is an interesting note in our ANSYS license log (which uses FlexLM also) that reads:


14:43:21 (lmgrd) This log is intended for debug purposes only.
14:43:21 (lmgrd) In order to capture accurate license
14:43:21 (lmgrd) usage data into an organized repository,
14:43:21 (lmgrd) please enable report logging. Use Flexera Software, Inc.'s
14:43:21 (lmgrd) software license administration solution,
14:43:21 (lmgrd) FLEXnet Manager, to readily gain visibility
14:43:21 (lmgrd) into license usage data and to create
14:43:21 (lmgrd) insightful reports on critical information like
14:43:21 (lmgrd) license availability and usage. FLEXnet Manager
14:43:21 (lmgrd) can be fully automated to run these reports on
14:43:21 (lmgrd) schedule and can be used to track license
14:43:21 (lmgrd) servers and usage across a heterogeneous
14:43:21 (lmgrd) network of servers including Windows NT, Linux
14:43:21 (lmgrd) and UNIX. Contact Flexera Software, Inc. at
14:43:21 (lmgrd) www.flexerasoftware.com for more details on how to
14:43:21 (lmgrd) obtain an evaluation copy of FLEXnet Manager
14:43:21 (lmgrd) for your enterprise.


So following up on that, you can read more about it at:


http://www.flexerasoftware.com/products/flexnet-manager.htm


I am guessing that this could be used to analyze ProE usage with ultimate precision!

In Reply to Stephen Galayda:



So what is everyone using now-a-days to monitor the licenses of Pro/E?


Steve G







Nice - I used to have a utility that did the same but pulled the result
into Excel. It's good to have someone proactive in system administration.

I wonder when lunch time is.

Dave S.

amedina
1-Newbie
(To:STEVEG)

I can adjust ours to less than one minute, but I fail to see the purpose of
more definition. We have it so that it updates every 5 minutes and on
demand for those frustrated users. Also if you Click on the user name, you
get a communicator pop up with their user name ready to contact them. Users
use this to contact each other in cases where the license is not available.
The IT guys have the flexera thing and they never use it or share the info.
Its too complex. Our system works from a computer (server) calling
ptcstatus and a network folder where an HTML file/s are saved. Any high
school student can figure it out.

server head just the good old ptcstatus with a single line removed mod:
[image: Inline image 1]
files on server (most are just junk that we were working on for future
stuff):
[image: Inline image 2]

files on server shared folder (located anywhere you want) (count 2, the
HTML and our company logo gif)
[image: Inline image 3]

The database as you can see has grown after almost a year to 189,471kb (it
just got bigger right now) (again)
the server is my workstation and the network folder is some open space that
is available to everyone in the company

We made this because I got ticked off at not being able to tell our boss
that we needed more licenses. The graph showed us flatting out all the
time. Now you can see a nice curve that goes down at lunch time. Usually we
only show one single day.

the page looks like this:
[image: Inline image 5]

The red items are open licenses available. For the ones we have few of we
list each, for the intralink license we have a single red entry that says X
number available.

The code is simple, but would probably require like an hour or two to make
it work in someone else's machine/network/business. It was a nice intern
project that we probably need to re-write, but its so simple that we
haven't had a want/need. The users load via sql using a CSV table from
excel.





BenLoosli
23-Emerald II
(To:STEVEG)

Have you checked out the pricing for FLEXnet Manager?
I did about 10 years ago and it is very expensive. It has a base module and then you buy additional modules for each product that FLEXnet manages. We had Unigraphics, Pro/Engineer and Nastran and management decided that to have the software tell us we were out of licenses about once every 2 months was not worth the cost. We just modified the PTC Status tool to report on all 3 software packages. Nastran has switched to a different licensing scheme using tokens since that time.

Thank you,

Ben H. Loosli
USEC, INC.
proed
1-Newbie
(To:STEVEG)

Hi folks


I'm using CADminTools to monitor over 1000 people on various packages: Creo, Autocad, Solidworks, Inventor, etc, all with floating licenses via FlexLM... over 20 codes in all.


There's an old version of it somewhere open-source, but I stopped updating it years back... had thought about re-publishing it if there was interest.


Regards


Edwin

egifford
4-Participant
(To:STEVEG)

I've been using a tool called "License Monitor" written by Jason Ruprecht and made available online years ago. I'm monitoring about 8 different FlexLM issued pools of licenses with it and found it simple to set up and use. Unfortunatley, I'm not finding it online right now. I think it used to be on sourceforge. Although it simply logs the data in text files, it is pretty easy to pull these into Excel & Access to get great information out of the data. I graph the utilization of each license type (checked every 15 minutes)so I know when we should consider adding licenses and can track how many hours of use each user has of each license type throughout the year. Nothing like a line graph showing utilization pegged as justification to buy more licenses. Also very handy when the accounting office wants to know how they should charge the PTC maintenance bill to the various product groups using the software - generate a department based % utilization report with a nice pie chart.


For times when all licenses are in use I've created simple scripts that directly call the FlexLM service with command line functions. I have one for each of the key licenses types where we have asmall number. The user goes to a web pagewhere there is alink to the .bat file that calls FlexLM, they click on it and the window lists who has the license(s) in use. Quick call or email & they can arrange a handoff of the license.


Alfonso - that tool your intern developed looks pretty slick

amansfield
6-Contributor
(To:STEVEG)

We use a perl script that I wrote about 10 years ago that strips the user, licenseand start and stop time information out of the log fileand then pushes the data into a MySQL database. We look at the results on some web pages using php's GD image library. All the graphics are generated on the fly. The images that it creates are a bit dated looking. I haven't played around with any of it for years: it's simple &just works..


It's not perfect but it gives us a consistent record of who uses what and when.


We originally started recording login times backin the early 90's when our company bought a bunch of SGI unix workstations each with a seat of Pro/Engineer for $30-40k a pop and our CEO wanted to make sure we were using them after spending all that cash (even wanted 2 shifts, which was impractical and thankfully was never enforced).


If anyone's interested in any of this, I'm happy to forward it along.

amedina
1-Newbie
(To:STEVEG)

Hey this last one is exactly what I wanted to do with the data at the end
of the year or when licenses ran out. I'm glad I have an actual working
example of it. I think we should just have a nice place to put the code and
install instructions so others can use the same thing. So you used the Log
file for this one?

I set the log flag on all users and collect the logs separately The logs
give feedback as to how many users per day failed to grab a license of
what. But I haven't had time/chance to figure out a
graphical representation that would help in the getting more licenses
scenario. Its almost necessary to show it terms of money/opportunity loss.

This is what I came up with using some perl to process the logs and export
something in terms management can understand. I will be adding this to our
site as a management only view. Excel sucks at everything, even graphs so
that's why I asked my intern to use the google graph system - html 5 piece
of code. She figured that out quickly and get our little graph done. These
are excel:

[image: Inline image 2]

[image: Inline image 1]
note how one day we got licenses Smiley Happy then we got more users again....then
more licenses and we figured a license to user ration that works for our
dynamic. so our efficiency should have gone up.

when the users were fighting for licenses it was horrible. None got to work
on their project without getting interruptions.







On Fri, Mar 29, 2013 at 7:12 AM, Andrew Mansfield
<->wrote:

> We use a perl script that I wrote about 10 years ago that strips the user,
> license and start and stop time information out of the log file and then
> pushes the data into a MySQL database. We look at the results on some web
> pages using php's GD image library. All the graphics are generated on the
> fly. The images that it creates are a bit dated looking. I haven't played
> around with any of it for years: it's simple & just works..
>
> It's not perfect but it gives us a consistent record of who uses what and
> when.
>
> We originally started recording login times back in the early 90's when
> our company bought a bunch of SGI unix workstations each with a seat of
> Pro/Engineer for $30-40k a pop and our CEO wanted to make sure we were
> using them after spending all that cash (even wanted 2 shifts, which was
> impractical and thankfully was never enforced).
>
> If anyone's interested in any of this, I'm happy to forward it along.
>
amedina
1-Newbie
(To:STEVEG)

OK this one is more complicated:


REM *** SET ENVIRONMENT VARIABLES ***
set FLEXLM_DIAGNOSTICS=2
set PDM_LDB_PATH=C:\apps\ptc\workspaces3.4
set
PATH=C:\apps\ptc\proiclient3.4\bin;C:\apps\ptc\ProeWF4\bin;C:\apps\ptc\ProeWF4\mech\bin;%PATH%

set FLEXLM_DIAGNOSTICS=2 -> this line in the start up script makes pro/e or
any other flexlm software create a little text file that looks like this:

"NOTHING" =0KB or:
"
FLEXnet Licensing checkout error: Licensed number of users already reached.
Feature: PROE_EngineerIIAAX
License path: 7788@csdwp-caddat1.intra.cymer.com;
FLEXnet Licensing error:-4,132
For further information, refer to the FLEXnet Licensing End User Guide,
available at "www.macrovision.com".
license file(s): 7788@csdwp-caddat1.intra.cymer.com
lm_checkout("PROE_EngineerIIAAX", PROE_EngineerIIAAX, 197999168, 0xd09d770,
..., 0x0)
FLEXnet Licensing checkout error: Licensed number of users already reached.
Feature: PROE_EngineerIIAAX
License path: 7788@csdwp-caddat1.intra.cymer.com;
FLEXnet Licensing error:-4,132
For further information, refer to the FLEXnet Licensing End User Guide,
available at "www.macrovision.com".
license file(s): 7788@csdwp-caddat1.intra.cymer.com
lm_checkout("PROE_EngineerIIAAX", PROE_EngineerIIAAX, 197999168, 0xd09d770,
..., 0x0)"

when the program see's that the file size is more than 0kb, it reads it and
parses the "Licensed number of users already reached." and the next line
showing the actual license the user wanted.

Its quite informative. It shows the level of desperation. we had 0 the
the beginning of the year. Now I'm noticing a few here and there.

Does this help?




amansfield
6-Contributor
(To:STEVEG)

Right now it just parses the log file once a day late in the evening. It matches the OUT and IN statements for each user and creates a database record of user, license type, time out, time in.


The downside to using the log file is if I restart the license server the log file gets replaced with a new empty one. I have to remember to save a copy of it and run the scriptmanually otherise I'll lose the day's data.


I suppose I could dosomething more sophisticated with the ptcshutdown or ptcstartserver batch file and automate that part of the process, but I've never bothered with it. I think if I was rewriting this, I might use your method of running ptcstatus periodically and collecting the data many times a day. The overhead is pretty minimal and avoids other issues.


PTC used to provide a license monitoring tool way back, that kepta permanent log of all usage, but I believe that disappeared with flexlm.


License usage is always overstated, especially with intermittent users as our licenses drop after 30 minutes, the way I have it set up. So every break in a user's usage usually indicates that they were not using it for a half hour already. When we had licenses set to the default timeout (2 hours) we constantly ran out of licenses and when I set it to 20 minutes (the minimum, if I recall), licenses were lost too easily and people would lose them in the middle of something they were doing. 30 minutes has proven to be our sweet spot.

In Reply to alfonso medina:


Hey this last one is exactly what I wanted to do with the data at the end
of the year or when licenses ran out. I'm glad I have an actual working
example of it. I think we should just have a nice place to put the code and
install instructions so others can use the same thing. So you used the Log
file for this one?

I set the log flag on all users and collect the logs separately The logs
give feedback as to how many users per day failed to grab a license of
what. But I haven't had time/chance to figure out a
graphical representation that would help in the getting more licenses
scenario. Its almost necessary to show it terms of money/opportunity loss.

This is what I came up with using some perl to process the logs and export
something in terms management can understand. I will be adding this to our
site as a management only view. Excel sucks at everything, even graphs so
that's why I asked my intern to use the google graph system - html 5 piece
of code. She figured that out quickly and get our little graph done. These
are excel:

[image: Inline image 2]

[image: Inline image 1]
note how one day we got licenses Smiley Happy then we got more users again....then
more licenses and we figured a license to user ration that works for our
dynamic. so our efficiency should have gone up.

when the users were fighting for licenses it was horrible. None got to work
on their project without getting interruptions.







On Fri, Mar 29, 2013 at 7:12 AM, Andrew Mansfield
@<->wrote:

> We use a perl script that I wrote about 10 years ago that strips the user,
> license and start and stop time information out of the log file and then
> pushes the data into a MySQL database. We look at the results on some web
> pages using php's GD image library. All the graphics are generated on the
> fly. The images that it creates are a bit dated looking. I haven't played
> around with any of it for years: it's simple & just works..
>
> It's not perfect but it gives us a consistent record of who uses what and
> when.
>
> We originally started recording login times back in the early 90's when
> our company bought a bunch of SGI unix workstations each with a seat of
> Pro/Engineer for $30-40k a pop and our CEO wanted to make sure we were
> using them after spending all that cash (even wanted 2 shifts, which was
> impractical and thankfully was never enforced).
>
> If anyone's interested in any of this, I'm happy to forward it along.
>
amedina
1-Newbie
(To:STEVEG)

I should add. every user launchers pro/e or X program requesting a license.
in the batch file, before this or after it, at your wish, you can copy the
previously created log from the users computer to a network drive. Its a
total workaround but I was left with no choice and PTC doesn't exactly help
sell its self enough around here. So I then collect these files using my
computer's program that makes the graphs. Its total nuts but I only do it
when in time of need anyway. That's why i want to get that stuff integrated
into an SQL database and then later at leisure create a command and graph
nice results from it. Hey I'm an admin and admins need to know stuff to do
stuff, so don't look at me with "you should have bought PTC's license
advantage 2000, the one with the cool management app and angry birds". For
my price and user size there is only Guesswork 2.0 available and we used to
always use it.


The original license manager had an interesting shortcoming. It seemed
to depend on a mutual communication. The license server seemed satisfied
if it could communicate with the license holding machine, while the
licensed machine required an affirmative response from the server.
Because of this asymmetry it was possible for a workstation to 'lose' a
license while the license server remained unaware.

So, a user had a license until a request/response failed whether due to
license timeout on the server or network delay in getting the response.

Reset the server every few minutes and the magic happens.

The server is always is ready to issue a new license and the machines
get/renew a license whenever they make a request.

It was conjectured that a 5:1 ratio of active users to licenses could be
easily supported using this method.

That and the frequent frustration at 'losing' a license simply because
of network delays in the request/response are likely reasons for PTC
adopting flexlm.

Oh for the good old days.

"Hey I'm an admin and admins need to know stuff to do stuff." I like
that. Not all system administrators are as proactive.

Dave S.

Not applicable
(To:STEVEG)

I use a simple batch script running on a scheduled task every 15
minuntes. Doesn't tell me when a license request fails, but does give me
the number of users logged in with free/used licenses. Code is:

@echo off
setlocal EnableExtensions
TITLE Record PTC License Usage
COLOR a0

REM PTC Status Command
SET CMD="C:\Program Files\PTC\Creo Elements\Pro5.0\bin\ptcstatus.bat"
-nopause
REM File to write results too
SET FILE=".\LicenseData\PTCLicenseUseage.dat"

REM String to begin

DATE /T>>"%FILE%"
TIME /T>>"%FILE%"
call %CMD%|FINDSTR /X ".*PROE_FoundationAdv.......[0-9].*">>"%FILE%"

~Dan

SteveBarnhart
5-Regular Member
(To:STEVEG)

We've used JTB FlexReport, though it's been a while since I've done any active logging. It has a fairly good capability to track a wide range of licenses (anything running FLEXlm, FlexNet, Lum, etc.) It also has a decent graphical interface.

amedina
1-Newbie
(To:STEVEG)

Yeah this one looks good but the big problem is that they will not keep
track of failed attempts to gain a license, I think (correct me if I'm
wrong). It looks nice and usable otherwise. I'll post my code. I need to
cleanup the way it works anyway. It will take time though


SteveBarnhart
5-Regular Member
(To:STEVEG)

I looked in the documentation for JTB FlexReport and it does offer consolidated license denial reporting as well as email notification for denials if configured. I haven't used it this way, though. I'll try it out if I get a chance.

amedina
1-Newbie
(To:STEVEG)

That's pretty cool. I think denials are the No. 1 data you want if you need
to get more. You always get asked "well how many more?" Denial counting
gets you some clues as to how many more.

Actually while we are on this subject and since someone else mentioned
already... See we have this dumb idea that our ideal ratio is 2.9 users per
license. Well it seems to work for us, but then some guys from another
company gave us a presentation on some unrelated software and made mention
of the license settings. They say that if you set the time out to 5 minutes
or less, that your license availability becomes excellent, more than
doubling our current ratio.

That made sense to me because I know for example I can get busy or go to a
short meeting while using up a pro/e license that will stay with my
computer for half an hour. The other users will probably have similar
situations. Most of our engineers only go home to say hi to the kids and
see if the wife is still there. Otherwise they have their nose stuck in the
small crevices left open in what used to be walkable space in the labs. So
the little time they spend on pro/e, should be a blessing to the rest of us
cad monkeys who only know to extrude first and ask questions later. So does
setting that time out to 5 minutes work? Do you guys do this or similar at
your different companies?

Can we get a poll of how many minutes you guys have set your time out to. I
would be really interested, I think its always an eye opener when others do
things completely different and it works better.


We had our timeout set short some time ago, and it was a PITA - although mostly because our system seemed to have a habit of calling Pro/Crash an unspecified but short time after losing (and regaining) a licence. Having said that, it can also be really annoying when there aren't enough licences - stop to answer the phone for six minutes, and when you've finished you find you can't continue working on CAD.

In particular, I recall it being a nuisance at lunchtime because we share our licences globally, and sometimes you'd stop for lunch, then when you came back you'd find that the States had claimed all the licences and you couldn't do any work that afternoon.

I'm not sure what we currently have it set to (and at the moment I believe we have plenty of licences so it's less of an issue), but these are some things to consider.

HTH,
Jonathan

The minimum timeout is 20 minutes. You can't set it for less. That is what I have it set at. The default out of the box is 2 hours.

You will want this config option:
suppress_license_loss_dialog YES

I set timeout to 1200 (this mean 20 minutes). As I know this is the lowest possible for PTC software. This have been working without any issues for many years for +70 users. No complains from users and they did not have to close creo when they had to go to meetings. Another benefit is that no one are ableto block a license in the morning without using it.
No crash related to the timeout.
venlig hilsen
Johannes von Zastrow
amansfield
6-Contributor
(To:STEVEG)

I was just looking through the log file and noticed that license denials are logged. It would be pretty simple to write a script to extract that information from the file and create a report.


e.g.


14:13:43 (ptc_d) DENIED: "PROE_Flex3C" user@their_pc (Licensed number of users already reached. (-4,342))


Also I had forgotten about the "ptcreport.log" file which is also stored in the licensing folder: this file stays intact if the server is relaunched, so I would assume that it keeps a running total of license data. It is encrypted or in a non-readable binary format so I presume that the commercial tools read this file.

In Reply to alfonso medina:


That's pretty cool. I think denials are the No. 1 data you want if you need
to get more. You always get asked "well how many more?" Denial counting
gets you some clues as to how many more.

Actually while we are on this subject and since someone else mentioned
already... See we have this dumb idea that our ideal ratio is 2.9 users per
license. Well it seems to work for us, but then some guys from another
company gave us a presentation on some unrelated software and made mention
of the license settings. They say that if you set the time out to 5 minutes
or less, that your license availability becomes excellent, more than
doubling our current ratio.

That made sense to me because I know for example I can get busy or go to a
short meeting while using up a pro/e license that will stay with my
computer for half an hour. The other users will probably have similar
situations. Most of our engineers only go home to say hi to the kids and
see if the wife is still there. Otherwise they have their nose stuck in the
small crevices left open in what used to be walkable space in the labs. So
the little time they spend on pro/e, should be a blessing to the rest of us
cad monkeys who only know to extrude first and ask questions later. So does
setting that time out to 5 minutes work? Do you guys do this or similar at
your different companies?

Can we get a poll of how many minutes you guys have set your time out to. I
would be really interested, I think its always an eye opener when others do
things completely different and it works better.


A while back I started working on a license monitoring tool in my spare time (ha! what's that?). It is still an incomplete project, but I was working on a few regular expressions to pull out the relevant data from the log file and from an lmutil file. I cannot find the one for the log file at the moment, so it is probably burried deep in an old folder in a random text file, but here is the one I could find for the lmutil (what ptcstatus runs) file.


\b\w+?\b\s\b\w+?\b\s(?<license>\w+?)\:\s+?\(.+?(?<total>\d+)\s.+?;\s+?.+?(?<used>\d+)\s.+


This generates an array of structs containing the name of the license, total licenses available, and total in use. If you only want to look at one license (say, PROE_Flex3C), then add the first part of the name (enough to make it unique) between the closing angle bracket of license and the \w:


\b\w+?\b\s\b\w+?\b\s(?<license>PROE_Fl\w+?)\:\s+?\(.+?(?<total>\d+)\s.+?;\s+?.+?(?<used>\d+)\s.+



And here is the one I used for sorting individual user informations:


\s+(?<user>\w+)\s(?<computer>\S+\s)\S+\s\(.*\)\s\((?<server>\S+)\/(?<port>\d+)\s+(?<id>\d+).+start\s\w+\s(?<date_time>.+)



I'm just a mech. E. and I am still teaching myself how to write these. If someone else has a better reg. ex., I'd love to see it.


-Lawrence

STEVEG
21-Topaz I
(To:STEVEG)

Thank you for all the responses. Since I do not know any of the pearl or sql, etc languages, andI doubt my company will spend the money for a license monitoring program,I will have to stick with my batch file I wrote to utilize the ptcstatus command. It doesn't get the license denial information but what we have is enough. Barely...


Steve Galayda

Top Tags