Skip to main content
Version: 10.2

FlexNet License Manager

Recommended reading: Flex vs SimpleFlex

Introduction

Open iT supports FlexNet usage reporting through the autoconfigurator by detecting configurations used to automatically set the license manager data collection. On the other hand, if You need to configure its behavior manually, the following sections will guide you on the required configuration for license manager utility polling and log file parsing, and the reserved licenses file parsing.

warning

Apply the configurations shown in the Open iT Core Client.

Configuring License Manager Utility Polling

Open iT polls the license servers at regular intervals to get the current status of its license use and availability.

An Open iT Core Client is installed on you license server for this collection. The data collector/preprocessor gathers the current license usage information from the license manager every hour using a 5-minute sample interval, triggering the data collection process. It also processes the gathered license usage. Once the data is preprocessed, it is transmitted to the Core Server, according to the client's timezone, for further storage, completing the license usage data collection and processing.


License Manager Utility Polling Workflow

License Manager Utility Polling Workflow

This will produce the following aggregated data types used for historical reporting:

The following sections will guide you in setting up the necessary configuration to collect and send the required data to the server.

Requirements

Getting the License Status Utility Binary Location

This configuration requires the path to the license status utility binary, lmutil, to obtain the license status information. Get this by following these steps:

Through the Interface

  1. Open the Task Manager.

  2. Go to the Details tab.

  3. Locate lmutil.

  4. Right-click and choose Open file location. The path of the binary will be displayed.

Through the Command Line

  1. Open a command prompt with Administrator level privileges.

  2. Run the following command to locate the binary:

    Command Syntax
    where /r <installation_drive> lmutil

    where <installation_drive> is the drive where the license manager is installed.

    Example
    where /r C:\ lmutil

    The path of the binary will be displayed.

After verifying the path of the polling program, make sure that it is running.

Open a command prompt in the directory of the license server executable or the polling program and run the following command:

Command Syntax
lmutil lmstat

Make sure no errors are encountered.

Configuring Data Collection

These are the required steps to activate and configure collection of FlexNet usage data.

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, and back up the licpoll.xml configuration file.

  2. Open a command prompt with Administrator level privileges.

  3. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  4. Once in the directory, activate the collection of FlexNet data, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.flex-sample.active=true"
  5. Set the FlexNet license file location, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.flex-sample.license-file=<flex-license-file>"

    where <flex-license-file> is the filename, including the path, of the FlexNet license file.

    Example
    openit_confinit -c "licpoll.license-types.flex-sample.license-file=C:\Program Files\flex\license.dat"

    The supported extensions for license files are .lic, .dat, .txt, .ft, and .mic, with support for the .ft and .mic extensions introduced in version 10.2.560.

    Or set the FlexNet license file directory, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.flex-sample.license-dir=<flex-license-dir>"

    where <flex-license-dir> is the directory containing the FlexNet license file.

    Example
    openit_confinit -c "licpoll.license-types.flex-sample.license-file=C:\Program Files\flex"
  6. Set the path to the binary used by the FlexNet license server, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.flex-sample.status-command=<binary_path>"

    where <binary_path> is the obtained path in Getting the License Status Utility Binary Path.

    Example
    openit_confinit -c "licpoll.license-types.flex-sample.status-command=C:\flexnet\bin\lmutil"
  7. Update the configuration file, run the command:

    Command Syntax
    openit_confbuilder --client

    Make sure no errors are encountered.

Advanced Configuration

Refer to the FlexNet Data Collection Configuration table to learn more about FlexNet configuration in licpoll.xml.

Object NameAccepted ValueDescription
activeBoolean (true or false)Setting this to true activates FlexNet usage data collection.
typeString (i.e., FlexNet)The license manager type.
intervalTimespan (e.g., P30S, P5M, P1H)The span of time between each polling round (it is recommended to set a value no less than P1M).
offsetTimespan (e.g., P30S, P5M, P1H)The span of time the aligned poll time decided by interval is shifted.
license-fileFileName (e.g., C:\Program Files\flex\license.dat)The filename, including the path, to the FlexNet license file. This file is provided by the vendor and is usually in the license manager installation directory.
license-dirDirName (e.g., C:\Program Files\flex)The path to the FlexNet license directory. Do not change this.
registryBoolean (true or false)Setting this to true ignores the value of object nodes license-file and license-dir. Open iT will scan the registry for license files instead.
product-nameString (e.g., server;daemon)This object is defined if a vendor license name other than the default Flex=%cluster%;%vendor% will be used.
license-discrepancy-checkerBoolean (true or false)Setting this to true checks the lmstat for error and cross-checks the maximum available license between the license file and lmstat.
license-discrepancy-checker.error-thresholdReal (e.g., 0, 5, 10)The acceptable percentage of discrepancy between the number of features with error and the total number of features in the lmstat output. This is in decimal format (i.e., 0 = 0%, 1 = 100%).
license-discrepancy-checker.mismatch-thresholdReal (e.g., 0, 5, 10)The acceptable percentage of discrepancy between the number of features in the LMstat that has a different number of licenses when compared to the license file and the total number of features in the LMstat output. This is in decimal format (i.e., 0 = 0%, 1 = 100%).
token-basedBoolean (true or false)Setting this to true means that the Flex license type is token-based.
token-based.max-licenses-token-basedBoolean (true or false)Setting this to true means that the source of maximum licenses is from the parent feature.
token-based.disable-on-ambiguous-costBoolean (true or false)If the license file lists multiple values for token cost, LicPoll cannot detect usage properly and may report incorrect values. Setting this to false turns token handling off for the token-based feature.
features-as-incrementsString (e.g., pmld, slbsls)A semi-colon-separated list of vendor daemons for which to treat feature lines in the license file as increment lines.
status-commandFileName (i.e., ${OpeniT.directories.bin}/lmutil)The binary used to obtain status from the license manager.
status-command.arguments-versionString (i.e., -v)This argument displays the version of the utility and exits.
status-command.argumentsString (e.g., -c C:\Program Files\flex\license.dat or -c desktop123win:8080)The arguments used for the status command. Use -c $license to specify the license file or use -c $port@$server to the use port and server from the license file.
FlexNet Data Collection Configuration

Verifying Data Collection

After configuration, you can verify that the data is collected by following these steps:

  1. Open a command prompt with Administrator level privileges.

  2. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  3. Run the command:

    Command Syntax
    openit_licpoll -# 1
  4. Verify that the temp directory, which is by default in C:\ProgramData\OpeniT\Data\temp, contains a LicPoll directory containing .data and status-*log files.

NOTE

Continue reading if you need to configure log file parsing. If not, here are some suggested readings.

Configuring Log File Parsing

Open iT collects log files and converts them to Open iT format.

The logfile-based data collection for FlexNet data uses two binaries for data collection: flexlogcollector2 and flex-poller. The data collected by flexlogcollector2 is the primary data, and the flexpoller data assist in processing and fixing any issues/errors in the debug log. Without the flexpoller input, we can only start processing from the licenseserver startup/restarts, where we can start counting from 0 usages.


FlexNet Workflow

FlexNet Workflow

This will produce the following aggregated data types used for historical reporting:

The following sections will guide in setting up the necessary configuration to collect and send the required data to the server.

Requirements

Activating Log Data Collection

These are the required steps to activate collection of FlexNet log data.

  1. Open a command prompt with Administrator level privileges.

  2. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  3. Once in the directory, activate the collection of FlexNet log data, run the command:

    Command Syntax
    openit_oconfinit -u "collect_license_flexnet.root.scheduler.jobs.collect_flexlog.general.active=true"
Advanced Configuration

The collection runs every midnight by default. To configure the intervals, locate the instances attribute under collect_flexlog, collect_flexpoller, transfer_flexlog, or transfer_flexpoll in the same file and configure the attributes.

Refer to the FlexNet Log Job Scheduler Instances Configuration table to learn the attributes used to configure FlexNet data collection and transfer.

Attribute NameAccepted ValueDescription
max-instancesUint (e.g., 5, 8, 9)The number of instances allowed to run the at the same time.
max-handlingString (end-oldest, end-all-old, or end-new)The action done upon reaching the maximum number of instances:
  • end-oldest - Specify this option to stop/kill the oldest instance and start a new one.
  • end-all-old - Specify this option to stop/kill all running instances before starting the new one.
  • end-new - Specify this option to prevent a new instance from starting.
end-timeoutTimespan (e.g., P30S, P5M, P1H)The maximum waiting time before terminating a running instance.
quarantineTimespan (e.g., P30S, P5M, P1H)The waiting time before starting a new instance after a previous one.
FlexNet Log Job Scheduler Instances Configuration

Configuring Log File Collection

Configuring FlexLogCollector2

These are the required steps to configure collection of FlexNet log files.

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, and open flexlogcollector2.xml.

  2. Locate and rename flexlog-sample. Make sure that the new name is unique to avoid errors.

    flexlogcollector2.xml
    <Object>
    <Name>flexlog-sample</Name>
    <Description>Name of this object is product name.</Description>
    <SubObjects>
    Example: flexlogcollector2.xml
    <Object>
    <Name>flexlog-source</Name>
    <Description>Name of this object is product name.</Description>
    <SubObjects>
  3. Locate object node product-name and set its value to server;daemon.

    flexlogcollector2.xml
    <Object>
    <Name>product-name</Name>
    <Description>Name of product to assign this FLEXlm debug file to</Description>
    <Value type="String">Flexlog</Value>
    <Object>
    Example: flexlogcollector2.xml
    <Object>
    <Name>product-name</Name>
    <Description>Name of product to assign this FLEXlm debug file to</Description>
    <Value type="String">server;daemon</Value>
    <Object>
  4. Locate object node debug-file and change its value to the full path, including the file name, of the FlexNet debug file.

    flexlogcollector2.xml
    <Object>
    <Name>debug-file</Name>
    <Description>Full path to the FLEXlm debug file. file to</Description>
    <Value type="String">[debugfile]</Value>
    <Object>
    Example: flexlogcollector2.xml
    <Object>
    <Name>debug-file</Name>
    <Description>Full path to the FLEXlm debug file. file to</Description>
    <Value type="String">C:\ProgramData\flexlm\logs\license.log</Value>
    <Object>
    NOTE

    You can add more source blocks if you want to add more data sources.

  5. Save the changes.

  6. Open a command prompt with Administrator level privileges.

  7. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  8. Update the configuration file, run the command:

    Command Syntax
    openit_confbuilder --client

    Make sure no errors are encountered.

Advanced Configuration

Refer to the Flexlogcollector2 Log File Collection Configuration table to learn more about Flexlogcollector2 configuration.

Object NameAccepted ValueDescription
sources.flexlog-sampleString (e.g., flexlog-sample)The vendor license name. Make sure that this is unique from other added sources.
flexlog-sample.activeBoolean (true or false)If set to true, the source is inactive or missing.
flexlog-sample.product-name(i.e., server;daemon)The vendor license name format.
flexlog-sample.debug-backup-dirDirName (e.g., C:\ProgramData\flexlm\backup-logs)This is the path where rotated files are checked if the debug log files are rotated; otherwise, this is optional.
flexlog-sample.debug-fileFileName (e.g., C:\ProgramData\flexlm\logs\license.log)The full path, including the file name, of the FlexNet debug file.
flexlog-sample.vendor-debug-fileFileName (e.g., C:\ProgramData\flexlm\vendor\lmgrd.log)The full path to the FlexNet debug file.
flexlog-sample.vendor-debug-file-regexString (i.e., .*\.(?&lt;date&gt;\d+)\.log)The regex pattern that the vendor debug file needs to meet.
flexlog-sample.license-fileString (e.g., C:\ProgramData\flexlm\license.dat)The full path, including the file name, of the FlexNet license file.
flexlog-sample.skip-ignoredBoolean (true or false)If set to true, the ignored lines will not be logged.
flexlog-sample.required-onlyBoolean (true or false)If set to true, only the required logs will be logged.
Flexlogcollector2 Log File Collection Configuration

Configuring FlexPoller

Flexpoller collects snapshot views of license use through lmstat, which is set to match the debug log data collected by the flexlogcollector2.

These are the required steps to add vendor daemo debug logs as data source.

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, and open flexpoller.xml.

  2. Locate and rename flexpoller-sample to the name of the source to poll. Make sure that the new name is unique to avoid errors.

    flexpoller.xml
    <Object>
    <Name>flexpoller-sample</Name>
    <Description>Source to poll.</Description>
    Example: flexpoller.xml
    <Object>
    <Name>flexpoller-source</Name>
    <Description>Source to poll.</Description>
  3. Locate object node product-name and set its value to server;daemon.

    flexpoller.xml
    <Object>
    <Name>product-name</Name>
    <Description>Name of product under which to group the data of this poll</Description>
    <Value type="String">Flexlog</Value>
    <Object>
    Example: flexpoller.xml
    <Object>
    <Name>product-name</Name>
    <Description>Name of product under which to group the data of this poll</Description>
    <Value type="String">server;daemon</Value>
    <Object>
  4. Locate object node license-file and change its value to the full path, including the file name, of the FlexNet license file.

    flexpoller.xml
    <Object>
    <Name>license-file</Name>
    <Description>Full path to a license file for features on the license server in question.</Description>
    <Value type="String">[license-file]</Value>
    <Object>
    Example: flexpoller.xml
    <Object>
    <Name>license-file</Name>
    <Description>Full path to a license file for features on the license server in question.</Description>
    <Value type="String">C:\ProgramData\flexlm\license.dat</Value>
    <Object>
    NOTE

    You can add more source blocks if you want to add more data sources.

  5. Save the changes.

  6. Open a command prompt with Administrator level privileges.

  7. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  8. Update the configurations files, run the command:

    Command Syntax
    openit_confbuilder --client

    Make sure no errors are encountered.

Advanced Configuration

Refer to the FlexPoller Data Collection Configuration table to learn more about FlexPoller configuration.

Object NameAccepted ValueDescription
sources.flexpoller-sampleString (e.g., flexpoller-sample)The source to poll. Make sure that this is unique from other added sources.
flexpoller-sample.activeBoolean (true or false)If set to true, the source is inactive or missing.
flexpoller-sample.product-name(i.e., server;daemon)The vendor license name format.
flexpoller-sample.license-fileFileName (e.g., C:\ProgramData\flexlm\license.dat)The full path, including the file name, of the license file.
flexpoller-sample.token-basedBoolean (true or false)If set to true, the license type is token-based.
flexpoller-sample.lmserverString (e.g., desktop123win:2020)This is the FlexNet license server. Only needed if there is no license file.
FlexPoller Data Collection Configuration

Verifying Log Data Collection

After configuration, you can verify that the data is collected and sent to the Core Server by following these steps:

  1. Open a command prompt with Administrator level privileges.

  2. Go to bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd $BIN_DIR
    Example
    cd C:\Program Files\OpeniT\Core\bin
  3. Run the command:

    Command Syntax
    openit_executor -r collect_license_flexnet
  4. Verify that there are archiver*.in files created in the Core Server's archiver directory, which is by default in C:\ProgramData\OpeniT\Data\incoming\archiver.

Configuring Reserved Licenses Parsing

Open iT collects and parses options files, then merges the processed data to the server.

Historical

The Core Client reads the configured options file in the license manager. All parsed data are formatted to generate a comma-separated value (CSV) file named options_file_flex_<timestamp>_<vendor_license_name>, which the client sends to the Core Server for data merging and processing.

The server stores the parsed data from various clients in the server, which is by default in C:\ProgramData\OpeniT\Data\raw_options_file. The received files are then processed and merged into one CSV file named licenseoptionsfile.csv, stored in C:\ProgramData\OpeniT\Data\processed_options_file by default.

The Analysis Server's daily processing will load the merged CSV file from C:\ProgramData\OpeniT\Data to the SQL Server database in the RawOptionsFile table. Once loaded, the data can be reported through the SQL Reporting Services using the Reserved License Usage Template.


Historical Data Flow

Historical Data Flow

Real-time

The Core Client polls the license status output to get the reservation lines for each configured feature in the options file. This information is then added to the status data as a new line, unused-reserve. Once the status data is sent to the server, it is processed to generate the license_status.xml file used by the Open iT Core Reporter License Monitor and the license status data file used by the Open iT Analysis Server License Monitor Portal, with additional information about the current total reserved licenses of each feature.

All newly added information in license status data in the Analysis Server is synchronized and stored in the SQL Server database. The License Monitor Portal displays information on reserved license usage for each feature. The new quick link for Reserved License Utilization Trend uses the processed data for historical reporting.


Real-time Data Flow

Real-time Data Flow


Requirements

Activating Options File Parsing

warning

Apply the configurations shown in the Open iT Core Client.

  1. Go to the scheduler directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\scheduler, and open collect_options_flex.oconf.

  2. Locate and set root.scheduler.jobs.parse_optionsfile.general.active to true to activate the parsing of the options file.

    collect_options_flex.oconf
    general
    {
    active
    {
    type=bool
    value=true
  3. Locate and set root.scheduler.jobs.parse_optionsfile.operations.arguments and set the value of the following parameters:

    • --srcdir - the valid path of the options file.
    • --srcpattern - the file name and extension of the options file.
    • --product-name - the vendor license name to use.

    warning

    Note that product-name should match the value of product in license_status.


    Example: collect_options_flex.oconf
        arguments
    {
    description=Details for collection
    type=string
    value=--srcdir "C:/Program Files/ANSYS/Shared Files/license_files" --srcpattern "*.opt" --trgdir "${OpeniT.directories.temp}/RawOptions" --product-name "host557;ansyslmd"
    }
  4. Save the changes.

Advanced Configuration

The parsing runs hourly. To configure the intervals, locate the instances attribute under parse_optionsfile or transfer_optionsfile_flex in the same file and configure the attributes.

Refer to the FlexNet Options File Parsing Scheduler Instances Configuration table below to learn more about the attributes used to configure FlexNet options file parsing.

Attribute NameAccepted ValueDescription
max-instancesUint (e.g., 5, 8, 9)The number of instances allowed to run the at the same time.
max-handlingString (end-oldest, end-all-old, or end-new)The action done upon reaching the maximum number of instances:
  • end-oldest - Specify this option to stop/kill the oldest instance and start a new one.
  • end-all-old - Specify this option to stop/kill all running instances before starting the new one.
  • end-new - Specify this option to prevent a new instance from starting.
end-timeoutTimespan (e.g., P30S, P5M, P1H)The maximum waiting time before terminating a running instance.
quarantineTimespan (e.g., P30S, P5M, P1H)The waiting time before starting a new instance after a previous one.
FlexNet Options File Parsing Scheduler Instances Configuration

Activating Options File Merging

warning

Apply the configurations shown in the Open iT Core Server.

  1. Go to the scheduler directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\scheduler, and open core_optionsfile.oconf.

  2. Locate and set root.scheduler.jobs.core_merge_optionsfile.general.active to true to activate merging of the options file.

    core_optionsfile.oconf
    general
    {
    active
    {
    type=bool
    value=true
  3. Save the changes.

Advanced Configuration

The processing runs every five (5) minutes. To configure the intervals, locate the instances attribute under core_merge_optionsfile, core_map_optionsfile or core_summzarize_optionsfile in the same file and configure the attributes.

Refer to the FlexNet Options File Merging Scheduler Instances Configuration table below to learn more about the attributes used to configure FlexNet options file parsing.

Attribute NameAccepted ValueDescription
max-instancesUnit (e.g., 5, 8, 9)The number of instances allowed to run the at the same time.
max-handlingString (end-oldest, end-all-old, or end-new)The action done upon reaching the maximum number of instances:
  • end-oldest - Specify this option to stop/kill the oldest instance and start a new one.
  • end-all-old - Specify this option to stop/kill all running instances before starting the new one.
  • end-new - Specify this option to prevent a new instance from starting.
end-timeoutTimespan (e.g., P30S, P5M, P1H)The maximum waiting time before terminating a running instance.
quarantineTimespan (e.g., P30S, P5M, P1H)The waiting time before starting a new instance after a previous one.
FlexNet Options File Merging Scheduler Instances Configuration

Loading Data in Analysis Server

  1. Include the processing of raw options file with the RunETL command.

  2. Process the loaded SQL data with the /fullwipe parameter.

Troubleshooting

Empty Reserved Licenses Column

Problem

This issue may occur when the reserved license information processing is not activated in the license status converter.

Resolution
warning

Apply the configurations shown in the Open iT Core Server.

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, and open licensestatusconverter.xml.

  2. Locate the process-reserve object node and set its sub-object node active to true to activate the processing of reserved license information.

    licensestatusconverter.xml
    <Object>
    <Name>process-reserve</Name>
    <Description>Process Unused and Total Reserve Licenses</Description>
    <SubObjects>
    <Object>
    <Name>active</Name>
    <Description>Set whether processing reserve licenses is active.</Description>
    <Value type="Bool">true</Value>
    </Object>
  3. Save the changes.

Next Steps?