Thursday, June 16, 2011

How to find the port used by a FlexNet license service

When you configure JTB FlexReport to monitor FlexNet/FLEXlm licensed applications you need to specify the port and server in JTB FlexReport Config > Properties > FlexNet > License to report on.

Click on Find button and see if the server(s) can be found automatically.

If nothing is found the information needs to be added manually.

The format is port@server and if there are multiple distributed servers separate with semicolon like this: port@server1;port@server2. If you have redundant or triad servers separate them with commas like this: port@serverA,port@serverB,port@serverC. If there is a mix of setups it can look like this: port@server1;port@server2;port@serverA,port@serverB,port@serverC;port@server3

If you don’t know the port number one way is to run LMTOOLS.EXE on the license server. If you have multiple services select the one you’re interested in first and then click on the Server Status tab.

Click on Perform Status Enquiry and take note of the port that is found on the row starting with License server status. In the example below the port is 27000.

It is also possible to monitor usage across domains.

Here is a description one customer provided.

I was trying to get JTB to watch a Flexlm Server that was in another domain.  In order to get DNS to resolve the IP address of the server in the other domain I have to enter a fully qualified name.  So for example in order to get a successful ping response I had to use the following format:  ping <Server Name>.<Domain Name>.<Domain Extension>.  So I thought the following format would work in the JTB “Licenses to report on” list:  <port number>@<Server Name>.<Domain Name>.<Domain Extension>.  For example: 27000@server1.mydomain.com  This did appear to work, partially.  If I looked in the JTBFlexReportDebug.log I would see an entry like this:

lmutil - Copyright (c) 1989-2009 Acresso Software Inc. All Rights Reserved.
Flexible License Manager status on Thu 5/12/2011 10:26
[Detecting lmgrd processes...]
License server status: 27000@server1
     License file(s) on server1: 27000@123.123.12.12:
lmgrd is not running: License server machine is down or not responding. (-96,7:11004 "WinSock: Valid name, but no record (NO_ADDRESS)")

Notice how it does initially resolve the name to an IP address but the name listed has the fully qualified domain info truncated off the end.  Apparently lmutil initially uses the fully qualified name, then at some point it trims off the domain info.  Well I found a post where some other guy was getting this error when he was trying to run the lmutil lmstat command line utility.  What he did to resolve the problem was he added entries into his “C:\WINDOWS\system32\drivers\etc\hosts” file for the non fully qualified name.

127.0.0.0 localhost
123.123.12.12 server1

Once you do this lmutil will be able to successfully run an lmstat command on these servers.  A better solution would be to add a DNS alias.

Another customer came with these details:

If the client PC is far a way from FLEXlm server, like the PC is in South America and server is in Europe. PC and server have a machine account in company wide Active Directory Each continent has separate domain name like European computers are in domain eu.net and American am.net.
Try to list all licenses from server (change the port and server name to yours)
lmutil.exe lmstat -c 27000@server.eu.net –a

Result:
lmgrd is not running: License server machine is down or not responding. (-96,7:11001 "WinSock: Host not found (HOST_NOT_FOUND)")

Add IP address and host name of the server to C:\WINDOWS\system32\drivers\etc\hosts
123.123.123.123 server server.eu.net

Now run the same command without domain name
lmutil.exe lmstat -c 27000@server -a
Now it works! Autodesk products get the license without hosts modification but lmutil.exe fails badly. Some error in DNS configuration? I don't know but if the PC is in Europe both commands will work because the both computers are in the same domain.

Use of timeout

Usage of -t for timeout with lmutil.exe lmstat can be done through JTB FlexReport Config>Properties>Advanced.

If data is missing or license servers cannot be reached you can try to set the timeout to something. It’s not documented by the company behind FlexNet if this is in microseconds or milliseconds so you have to try. It is probably microseconds so a value of 1,000,000 would be a second.

-15,10:10060 "WinSock: Connection timed out

Error getting status: Cannot connect to license server system. (-15,10:10060 "WinSock: Connection timed out")

Solution is probably to open any of the ports being used.

How to check if port is open

See this post How to check if ports used for licensing are open or use telnet to test if a port is open.

No comments:

Post a Comment