Introduction

CAXperts software is supporting Flexera FlexNet Server for licence management. This document describes basic steps how to setup FlexNet server. For details please refer to FlexNet Publisher Licence Administration Guide available at www.flexera.com.

Licence server

The basic components of a CAXperts Licensing system are as illustrated in the following diagram:

  • Licence server available at www.caxperts.com:

    • lmadmin - Web based (recommended).
  • lmgrd - Command line based.

  • Vendor daemon – caxperts.exe available at www.caxperts.com. If you have already Licence Server running (lmadmin or lmgrd) you need onlty to install vendor daemon.

Selecting a licence server machine

When selecting a machine on which to install a licence server, select a stable system; do not choose systems that are frequently rebooted or shut down. Normally, it is not required that each system be the same architecture or operating system as other licence servers or the client machines on which the CAXperts applications are running.

The following sections discuss the resources used by the licence server. When you select a machine on which to install a licence server, you may need to consider whether it has sufficient resources. For small numbers of licences (under about 100), most of these system limits are not a problem on any workstation.

Licence server sockets

When using TCP/IP ports, each CAXperts application connected to a licence server uses one or more sockets. The per-process system limit for file descriptors determines the number of sockets available to the licence server. The total number of sockets that the licence server uses is slightly larger than the total number needed by the CAXperts applications that connect to it.

If the number of sockets required by the licence server on a single system becomes excessive, then one solution is to run multiple licence servers and split the licences between them. This reduces the networking traffic to each licence servers.

Licence server CPU time

For small numbers of clients, the licence servers use very little CPU time. The servers might have consumed only a few seconds of CPU time after many days.

For a large number of clients or for high checkout and checkin activity levels (hundreds per second), the amount of CPU time consumed by the server may start to become significant; although, even here, CPU usage is normally not high. In this case, you may need to ensure that the system you select has enough CPU cycles to spare.

Licence server disk space

The only output files created by the licence servers are the debug and report log files. FlexNet Manager, Flexera Software’s Web-based software licence management system, uses the report log files to generate accurate usage reports. If there is a lot of licence activity, these log files grow very large. You need to consider where to put these files and how often to rotate and archive them. You have the option to suppress log file output if disk space is at a premium.

It is recommended that the log files are local files on the server systems to avoid networking dependencies.

See Also Report Log File Debug Log File.

Licence server memory

The licence server uses little memory. The vendor daemon caxperts.exe use approximately 2 MB, although memory usage increases in the vendor daemon with the number of concurrent licences, size of the options file, and the number of concurrent users. lmadmin, uses between 7 and 10 MB of memory during typical usage. Typically, the command-line licence server manager, lmgrd, uses approximately 2 MB.

Network bandwidth for licence server

CAXperts application sends relatively small amounts of data across the network. Each transaction, such as a checkout or checkin of a licence, generally transfers less than 1 KB of data. This means that it can be effectively run over slow networks (such as dial-up SLIP lines) for small numbers of clients.

For a large number of instances of CAXperts applications (hundreds), the network bandwidth used may become significant. In this case, run the CAXperts application and server on the same local area network, and run multiple licence servers.

When you are using lmadmin, which uses HTTP, you need to consider the clients that connect to the lmadmin user interface. Depending on the number of clients and the frequency of the page refresh, they can impose a significant burden on network traffic.

Licence server locally mounted disks

It is recommended that you do not use remote mounted disks when you run the licence server. In other words, it is recommended that lmadmin or lmgrd, the vendor daemon, the licence file, and the debug and report log files are all on locally mounted disks. If any of these files are on a remote mounted disk, this doubles the points of failure, which could lead to a temporary loss of all of your licences. When all files are mounted locally, the licences are available as long as the server is running. When the files are on a different system, licences may become unavailable if the licence server or file server fails.

Licence server port

It is recommended that a specific port is designated on the licence server machine to be used only by licence server components. The benefits of this are that it is:

  • Easy to track processes by the port that they are run on.

  • Easier to configure clients to access the licence server.

  • Easier to manage licence server components in an environment where a firewall and/ or antivirus software is in use.

  • Useful in preventing port conflicts and the hijacking of the port by other processes. To configure the licence server port:

Using lmgrd - Specify it in the licence file used to start the licence server; see Configuring the Port Used by the Licence Server.

Using lmadmin - Configure the licence server manager port either:

  • Using the lmadmin user interface. See the online help for information.

  • Using the lmadmin -licport command. For information about the -licport argument, see lmadmin Command- line Arguments.

Setup lmadmin licence server manager

System requirements for lmadmin

Lmadmin 11.13.1.2:

  • Microsoft Windows 7 or later (32, 64-bit)

  • Windows Server 2008, 2012 (32, 64-bit)

  • Microsoft Visual C++ 2008 SP1 Redistributable Package (32 bit) (included in setup)

Lmadmin 11.16.4.1:

  • Microsoft Windows 7 SP1 (32, 64-bit)

  • Microsoft Windows 10 (32, 64-bit)

  • Microsoft windows Server 2016 & 2019

  • JDK Java Standard Edition 1.8 or 1.11

  • Microsoft Visual C++ 2013 Redistributable Package (included in setup)

Install lmadmin

Only 11.16.4.1 1

Verify lmadmin | lmadmin64 service has Startup Type automatic and runs in Windows Services:

Install Vendor Daemon

Copy the vendor daemon caxperts.exe into application folder of lmadmin (C:\Program Files (x86)\FlexNet Publisher License Server Manager or C:\Program Files\FlexNet Publisher License Server Manager).

Using lmadmin

Accessing the licence server management interface

  1. Make sure that you have started the licence server.

  2. Open the Web browser and browse to one of the following URL: http://<server>:8090.

where <server> is the system name where the licence server is running.

When lmadmin is first installed, the administrator user name and password are both set to admin. Use this information when you first sign in to the interface as an administrator. Viewing the lmadmin Log Files.

Configure ports

There are two ports on the machine running FlexNet server (lmgrd, lmadmin):

  1. Licence Server Manager Port, by default 27000.

  1. Vendor daemon port (caxperts), by default some random number > 10000.

It is recommended to use one specific port for vendor daemon, otherwise after restart new port number may be assigned for the vendor daemon and firewall/client settings must be adjusted.

On the machine running FlexNet server VENDOR DAEMON port MUST be ALWAYS open in the firewall. On client machines CAXPERTS_LICENSE_FILE variable MUST contains the VENDOR DAEMON port -> CAXPERTS_LICENSE_FILE=49169@flexnet_server.

Administrator can ADDITIONALLY open Licence Server Manager port (27000) on the machine running FlexNet server. In this case the client machine will AUTOMATICALLY detect the right vendor daemon port. There is no need to define it explicitly in CAXPERTS_LICENSE_FILE variable -> CAXPERTS_LICENSE_FILE=@flexnet_server.

Obtain Host ID

To create a licence key for your licence server, CAXperts needs the host ID of your server.

  1. Open the Web browser and browse to one of the following URL:

  2. Switch to “Administration” page.

  3. On “System Information” tab “Ethernet Address” shows the unique host id of licence server.

Import licence

  1. Open the Web browser and browse to one of the following URL:

  2. Switch to “Administration” page.

  1. Select “Vendor Daemon Configuration”.

  2. Click on “Import Licence”.

  1. Select Licence File provided by CAXperts and click “Import Licence”.

The overview for available licences is available under “Dashboard” -> “Concurrent”.

Report log file

The licence server produces both report-log-files and debug-log-files. The focus of this section is report log files. For information on debug log files see Debug Log File.

The report log file contains feature usage information and is generated by the vendor daemon. However, a vendor daemon does not write report logs by default; this action must be enabled. The data in report logs is compressed, authenticated, and organized into a repository.

Use Flexera Software’s software licence administration solution, FlexNet Manager, to gain exceptional visibility into licence usage data and to create insightful reports on critical information like licence availability and usage. FlexNet Manager can be fully automated to run these reports on schedule and can be used to track licence servers and usage across a heterogeneous network of server including Windows NT, Linux and UNIX. Contact Flexera Software at www.flexerasoftware.com for more details on how to obtain an evaluation copy of FlexNet Manager for your enterprise.

Managing report log output

As a vendor daemon runs for a period of time, the volume of report log output increases. If you have a lot of licence activity, these log files grow very large. You need to consider where to put these files and how often to rotate and archive them. Therefore, it may be necessary to rotate or switch report log output into different files over time, each file containing licence activity over a particular period of time.

Report log data is collected by the vendor daemon into an internal data buffer area before being flushed to the output file. The daemon’s internal buffer is flushed once a minute or whenever it gets full, whichever occurs first. To ensure the freshest data possible in the report log file, flush the buffer on demand with the lmreread command. Use standard file compression tools to reduce the size of a report log file when it is no longer being written.

To avoid corruption and for performance, it is suggested that the vendor daemon write its report log to a file on a disk local to the system running the vendor daemon. Each Vendor Daemon must write to its own report log file.

Enabling report log output for a vendor daemon

There are two ways to enable report logging for a particular vendor daemon either before or after starting the licence server.

  • Add the REPORTLOG line to the options file for that vendor daemon. See REPORTLOG for more details.

  • Invoke lmswitchr on the vendor daemon. See lmswitchr for more details.

Redirecting report log output for a vendor daemon

The report log output for a particular vendor daemon can be moved into separate files, each file representing activity over a different period of time. There are three ways in which to do this whether the vendor daemon is running or not:

  • Change the REPORTLOG line in the vendor daemon’s options file and reread its options file by invoking lmreread (version 8.0 or later vendor daemon) or restart.

  • Invoke lmswitchr on the vendor daemon. See lmswitchr for more details.

  • Invoke lmnewlog on the vendor daemon. Requires a version 7.1 or later vendor daemon. See lmnewlog for more details.

Debug log file

The licence server produces both debug log files and report log files. For information on report log files, see Report Log File.

A debug log file contains status and error messages useful for debugging the licence server. The lmgrd debug log displays the server's system date, time, and time zone at the beginning of a log. A licence server always generates debug log output. Some of the debug log output describes events specific to lmadmin or lmgrd and some of the debug log output describes events specific to each vendor daemon.

Managing debug log output

As the licence server manager and its vendor daemons run for a period of time, the volume of this output increases. As it gets older, the value of the debug log output decreases; therefore, it may be necessary for you to separate old debug log output from current output; either archive or delete the old output.

For performance, it is suggested that each debug log file be on a disk that is local to the system that is running the licence server manager and its vendor daemons. However, if the debug log file must be on a remotely-mounted disk and you find that the licence server is too slow, start lmgrd with the -nfs_log option to improve performance.

See Debug Log Messages for a description of the debug log output format.

Capturing debug log output for a licence server

If you are using lmadmin as your licence server manager, separate log files are created for lmadmin and each vendor daemon that it manages. The log files are written to the logs directory within the lmadmin install directory; however, you can use the -logDir option on the command line to change the location to which lmadmin writes lmadmin.log. See lmadmin Command-line Arguments for details.

By default, lmgrd and the vendor daemons it manages write debug log output to standard out. To put this debug log output in a file, either redirect the output of the licence server to a file or start lmgrd with the -l debug_log_path option. See lmgrd Command-Line Syntax for more information.

Capturing debug log output for a particular vendor daemon

The debug log output from different vendor daemons controlled by the same licence server can be written to their own files (version 8.0 and later vendor daemon). There are three ways to do this:

  • If you are using lmadmin as your licence server manager, you configure the location and file name from the Vendor Daemon Configuration screen. See on-line help for information on Vendor Daemon Log.

  • Add the DEBUGLOG line to the options file for each vendor daemon. See DEBUGLOG for more details.

  • Invoke lmswitch on the vendor daemon. See lmswitch for more details.

Note that lmgrd writes its own debug log output to standard out.

Redirecting debug log output for a running vendor daemon

It is possible to redirect the debug log output for a particular vendor daemon to a different file. There are two ways to do this:

  • Change the DEBUGLOG line to the options file for the vendor daemon and reread its options file by invoking lmreread. See DEBUGLOG for more details.

  • Invoke lmswitch on the vendor daemon. See lmswitch for more details.

Limiting debug log output for a vendor daemon

By default, debug log output contains all events. To limit the events that are logged for a particular vendor daemon, add a NOLOG line to the options file of that vendor daemon. One of the reasons you may want to limit the events that are logged is to reduce the size of the debug log output.

See Also

NO LOG

Licence server diagnostics in the debug log

Enhanced licence server diagnostics will now be emitted in the licence server debug log. Additional diagnostics are prefixed by “(@lmgrd-SLOG@)” for the lmgrd and “(@<vendor>-SLOG@)” for the Vendor Daemon, facilitating easy grep-like extraction from the debug-log. The Vendor Daemon would emit the additional diagnostics when run with lmgrd or lmadmin. These diagnostics are intended to assist publishers and Flexera diagnose licence server issues. These diagnostics include:

  • For lmgrd:
    Start timestamp, Version, ProcessID, Network Info (IPv4/IPv6 interface, listening port), command-line options, list of licence files, whether the licence server is running as a windows service.
  • For Vendor Daemon:
    Start timestamp, Version, ProcessID, Network info (IPv4/IPv6 interface, listening port, select timeout of vendor daemon), Vendor daemon name, Options file used, Trusted storage accessed (yes/no), Host name, Virtual/physical environment, (limited) hypervisor info if virtual, Lmbind used (yes/no), #Restarts of vendor daemon since lmgrd startup, #Rereads since vendor daemon (re)start, Last reread time, Reread initiation type (automatic versus lmreread).
    Every 4 hours (and at vendor daemon shutdown) the following performance data are logged: Details of the 10 peak client transactions (including client hostname, user, transaction time, concurrent clients at time of transaction, memory usage (Windows only)), Peak concurrent clients served, High watermark memory usage (Windows only), Transaction time for last 10 transactions.

Locating licences

Location of the Licence server should be defined on every client machine running CAXperts application. This can be done in two different ways:

  • In the environment variable
    CAXPERTS_LICENSE_FILE=@YouServerName.

  • In the registry
    HKEY_CURRENT_USER\Software\FLEXlm License Manager\CAXPERTS_LICENSE_FILE=@YouServerName.

Where YouServerName is Windows computer name of the machine running lmadmin (FlexNet server). Multiple servers can be defined separated by semicolon “;”. Every computer name must be preceded by the @ symbol. If lmadmin is running on non-default port, the port number should be defined as follow: port@YouServerName.

Example:

CAXPERTS_LICENSE_FILE=@Server1;@Server2;4000@Server3

On slow network connection you may receive error message “A valid licence could not be obtained” or something similar. In such cases you can increase response time out by adding new environment variable FLEXLM_TIMEOUT on the client machine running CAXperts application:

FLEXLM_TIMEOUT=1000000

If you are able to obtain a licence, the value of 1000000 microseconds (1 second) is sufficient. If you still cannot obtain a licence, repeat the procedure; increasing the value in 1000000 microsecond increments until you are able to obtain a licence from the licence server.