General Monitoring Configuration
Adjust Global Defaults
################################
### MONITORING CONFIGURATION ###
################################
### Period at which vovlmd will detect and apply configuration changes
# set VOVLM(refresh) 30s
### Number of seconds as the threshold of elapsed time without an update at which point a license server is to be considered down (default 10 minutes)
# set VOVLM(downthreshold) 10m
### check frequency for the daemons (default 5 minutes)
# set VOVLM(checkfrequency) 5m
### Job periods
# Jobs cannot run more frequently than the minimum, less frequently than the
# maximum, and will be stopped if they exceed the autokill time.
# Alerts are generated for jobs that run less frequently than the maximum
# Additionally, jobs that run longer than the maximum are killed and rescheduled
### Rate to run jobs that collect usage information
# set VOVLM(period,stat,min) 30s
# set VOVLM(period,stat,max) 10m
# set VOVLM(period,stat,autokill) 5m
### Rate to run jobs that collect expiration date information (FLEXlm and LUM)
# set VOVLM(period,info,min) 12h
# set VOVLM(period,info,max) 24h
# set VOVLM(period,info,autokill) 30m
### Rate to run remote LicenseMonitor sampling jobs
# set VOVLM(period,remote,min) 5m
# set VOVLM(period,remote,max) 30m
# set VOVLM(period,remote,autokill) 15m
### Rate to run FLEXlm debug log parsing jobs
# set VOVLM(period,debug,min) 12h
# set VOVLM(period,debug,max) 24h
# set VOVLM(period,debug,autokill) 2h
### Rate to run LUM denial sampling jobs
# set VOVLM(period,lumdenial,min) 5m
# set VOVLM(period,lumdenial,max) 30m
# set VOVLM(period,lumdenial,autokill) 15m
### Enable (1) or disable (0) splitting of multiple daemons found in the same tag
# set VOVLM(split,default) 1
### Process monitoring options
# Number of seconds to wait for processes to be removed if monitor agent is killed
# set VOVLM(processmonitor,timeout) 120
The above configuration establishes global defaults for all monitors. Per-tag settings can also be established in the configuration or via the web UI. See the next section for details.
Adjust Parser Settings
# Parser configuration file.
# Should be placed in licmon.swd/config.
##############
### GLOBAL ###
##############
### Include or exclude features and subfeatures (checkouts and denials). With includes, all
### features except those specified are ignored. With excludes, all specified
### features are ignored. Default is to allow all features.
# set PARSER(include,tag1) { feature1 feature2 featureN }
# set PARSER(exclude,tag2) { feature3 feature4 featureN }
# set PARSER(exclude,tag3) { feature5:subfeature1 feature4:subfeature2 featureN }
##############
### ALERTS ###
##############
### Set number of consecutive alert condition occurrences required to throw an
### alert. Supported alert types are:
### allDaemonsDownAlert cannotConnectAlert clockInFutureAlert daemonDownAlert
### droppedFeatureAlert failedToRunAlert failedToStartAlert
### featureExpiredAlert logNotFoundAlert masterHostChangedAlert
### noFeaturesFoundAlert scanExpirationAlert serverQuorumErrorAlert
### serverQuorumWarningAlert tooManyMastersAlert cannotGetUsersAlert
### Default for all alerts is 3.
# set PARSER(droppedFeatureAlert) 3
#######################
### FEATURE PARSING ###
#######################
### Track licenses that are host or user locked. This setting causes a separate
### feature to be created that represents the locked feature (FEATURE:LOCK). As
### a result, capacity and expiration information must be obtained from the
### license file instead of the status command output. See docs for details.
# set PARSER(TAG,FEATURE,trackLockedLicenses) 1
####################
### USER PARSING ###
####################
### Override user as user@host.
# set PARSER(userAtHost) 1
####################
### HOST PARSING ###
####################
### Host name replacement based on case-sensivite regular expression pattern.
# set PARSER(hostReplace) {{PATTERN} {REPLACEMENT}}
###############
### DENIALS ###
###############
### Throw alert if a debug log that is configured to be parsed does not exist.
# set PARSER(missingLogAlert) 1
### Define features that are to be considered equivalent to each other with
### respect to licensing. If "feature1" is denied, but a checkout of "feature2"
### immediately follows the denial, ignore the denial.
# defineAlternativeFeatures "feature1" "feature2"
### Define false denial time window. Denials for the same feature/user/host
### combination that occur within this window will be merged into one denial.
### This setting is defined in seconds. Set to 0 to only consider same-second
### denials as false. Default is 10.
# set PARSER(falseDenialWindow) 10
Locked Licenses
"MATLAB" v28, vendor: MLM
nodelocked license, locked to "ID=123456"
will result in a feature named MATLAB:ID=123456 being created. A prerequisite for this capability is that the capacity and expiration information be provided by the license file directly being that lmstat does not provide this information separately between floating and locked licenses.
set PARSER(MATWORKS,MATLAB,trackLockedLicenses) 1
Once the setting is in place, a utility can be used to read the license file and parse the information contained therein.
ftlm_parse_flexlmlic: Usage Message
SYNOPSIS:
ftlm_parse_flexlmlic [OPTIONS] TAG FILETYPE FILE
OPTIONS:
-h -- Print help message.
-v -- Increase verbosity.
NOTE:
On Windows, use / for the path delimiter and // before each space if there
are spaces in the command path.
EXAMPLES:
% ftlm_parse_flexlmlic SNPS license.dat
Each time the license file is changed, the Monitor administrator will need to run the utility to ensure that the information stored for capacity and expirations are in line with what is found in the license file.
Case Sensitivity
# Force tracked user names to lower case
set config(checkoutUserLowerCase) 0
# Force tracked host names to lower case
set config(checkoutHostLowerCase) 0
% vovproject enable licmon
% vovproject reread
Ensure Visibility for Tags Not Actively Being Monitored
- A tag for a license server that no longer exists but reporting capability is still desired.
- A tag for a FlexNet Publisher license server that is not being sampled, but instead is being populated via a debug log.
- A tag for an Altium license server, which is solely populated via a log.
To ensure visibility for tags that fall under these conditions, use the setTagAccess configuration procedure as defined in Security.