Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
So what is everyone using now-a-days to monitor the licenses of Pro/E?
Steve G
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
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
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
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
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.
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 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.
>
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.
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.
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
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