Sentinel HASP License Manager
Introduction
Open iT supports Sentinel HASP usage reporting. The following sections will guide you on the required configuration for license manager utility polling and log file parsing.
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 your 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.
This will produce the following aggregated data types used for historical reporting:
- (49) Host User License Use
- (93) OLAP Raw Hourly
- (94) OLAP User Concurrency
- (95) Usergroup License Use v3.0
- (102) OLAP Total Use
The following sections will guide you in setting up the necessary configuration to collect and send the required data to the server.
Requirements
- Configured Sentinel HASP license server
- Valid URL with the port number of the Sentinel HASP API
- An Open iT Core Client connected to an Open iT Core Server or a coexistent Open iT Core setup
- Activated LicenseAnalyzer collection and license poller
Configuring Data Collection
These are the required steps to activate and configure collection of Sentinel HASP usage data.
-
Go to the Components directory, which is by default in
C:\Program Files\OpeniT\Core\Configuration\Components
, and back up thelicpoll.xml
configuration file. -
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Once in the directory, copy the object node
genericlicense-sample
and rename it to your desired name. In this example, we will usesentinelhasp
. Run the command:Command Syntaxopenit_confinit -c "licpoll.license-types.genericlicense-sample=>licpoll.license-types.sentinelhasp"
warningElement names cannot contain parentheses
(
or)
because they are not valid for XML element names. -
Activate the collection of Sentinel HASP data, run the command:
Command Syntaxopenit_confinit -c "licpoll.license-types.sentinelhasp.active=true"
-
Set the arguments to the status command, run the command:
Command Syntaxopenit_confinit -c "licpoll.license-types.sentinelhasp.status-command.arguments=SentinelHASP <api_url>"
where
<api_url>
is the corresponding valid URL with the port number of the Sentinel HASP API.Exampleopenit_confinit -c "licpoll.license-types.sentinelhasp.status-command.arguments=SentinelHASP http://localhost:1947"
-
Update the configuration file, run the command:
Command Syntaxopenit_confbuilder --client
Make sure no errors are encountered.
Advanced Configuration
Refer to the Sentinel HASP Data Collection Configuration table to learn more about Sentinel HASP configuration in licpoll.xml
.
Object Name | Accepted Value | Description |
---|---|---|
active | Boolean (true or false ) | Setting this to true activates Sentinel HASP usage data collection. |
type | String (e.g., GenericLicense ) | The license manager type. |
interval | Timespan (e.g., P30S , P5M , P1H ) | The span of time between each polling round (it is recommended to set a value no less than P1M). |
offset | Timespan (e.g., P30S , P5M , P1H ) | The span of time the aligned poll time decided by interval is shifted. |
product-name | String (e.g., server;daemon ) | This object is defined if a vendor license name other than the default GenericLicense=%hosttype% will be used. |
license-server | String (e.g., desktop123win ) | The license server name. |
status-command | FileName (i.e., ${OpeniT.directories.bin}/genlicutil ) | The binary used to obtain status from the license manager. |
status-command.arguments | String (e.g., SentinelHASP http://localhost:1947 ) | The arguments used for the status command. Use the format SentinelHASP <api_url> . |
Verifying Data Collection
After configuration, you can verify that the data is collected by following these steps:
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Run the command:
Command Syntaxopenit_licpoll -# 1
-
Verify that the temp directory, which is by default in
C:\ProgramData\OpeniT\Data\temp
, contains a LicPoll directory containing.data
andstatus-*.log
files.
Configuring Log File Parsing
Open iT collects log files and converts them to Open iT format.
An Open iT Core Client is installed on your license server for this collection. The data collector monitors and gathers the license usage history logs from the license manager every 5 minutes. Once the logs are collected, the data collection process triggers and the logs are passed to the data preprocessor. After the data is preprocessed, it is transferred to the Core Server for further storage, completing the history logs collection and processing.
This will produce the following aggregated data types used for historical reporting:
Record Log Data:
- (89) Total License Use Licenseevents
- (90) Individual License Use Licenseevents
- (91) Usergroup License Use Licenseevents
- (108) Host License Use Licenseevents
- (109) Hostgroup License Use Licenseevents
Event Log Data:
The following sections will guide you in setting up the necessary configuration to collect and send the required data to the server.
Requirements
- An Open iT Core Client connected to an Open iT Core Server or a coexistent Open iT Core setup
- License server administrative rights
- Full path to the
access
log files
In Sentinel LDK, the vendor license ID is collected as the vendor license, while the feature ID is collected as the feature by default. Before setting up data collection, it is recommended to follow the instructions in the Configuring product-rename.map and Configuring feature-rename.map sections to change the names as needed.
Additionally, please note that the collected data does not include the number of available licenses. To configure the available licenses for Sentinel LDK features, refer to the instructions in the Configuring available-licenses.map section.
Specifying Sentinel HASP Log File Path and Pattern
These are the required steps to specify the path and pattern of the Sentinel HASP log files.
- Windows
- Unix
-
Go to the Components directory, which is by default in
C:\Program Files\OpeniT\Core\Configuration\Components
, and openlogfilecollector-sentinelhasp.xml
. -
Locate object node
dir
and set its value to the location of the Sentinel HASP log files. The log file is usually stored inC:\Program Files (x86)\Common Files\Aladdin Shared\HASP\log
.logfilecollector-sentinelhasp.xml<Object>
<Name>dir</Name>
<Description>Directory containing the log files</Description>
<Value type="DirName">%SENTINELHASPLOGDIR%</Value>
</Object>logfilecollector-sentinelhasp.xml<Object>
<Name>dir</Name>
<Description>Directory containing the log files</Description>
<Value type="DirName">C:\Program Files (x86)\Common Files\Aladdin Shared\logs</Value>
</Object>Sample Log File Content (Aladdin HASP)
2020-10-21 12:43:25 10.166.60.255:49858 hwilson@HOSTNAME-D POST /api/loginex LOGIN_EX(lm=,haspid=568858667279908878,productid=0,feat=1,sess=00000000,api<7.103) result(38)
2020-10-21 12:43:25 10.166.60.255:49858 hwilson@HOSTNAME-D POST /api/loginex LOGIN_EX(lm=,haspid=844567040191256625,productid=0,feat=1,sess=00000000,api<7.103) result(41)
2020-10-21 12:43:57 10.166.51.48:50988 jcruz@HOSTNAME-A POST /api/loginex LOGIN_EX(lm=local,haspid=568858667279908878,productid=1007,feat=1,sess=00004B6F,api<7.103) result(0)
2020-10-21 12:43:56 10.166.51.48:50988 jcruz@HOSTNAME-A POST /api/logout LOGOUT(lm=local,haspid=568858667279908878,productid=1007,feat=1,sess=00004B67,duration=300) result(0)Sample Log File Content (Sentinel LDK)
Timestamp = 2022-07-01 10:26:10 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11063 SessionDurationHMS = 0 days 0 hours 0 minutes 0 seconds Result= (0) Method =POST:1947 URL = /api/loginex APIFunction = LOGIN_EX FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9E9,api=8.11,span=3,sesscount=7,logincount=7,maxlogins=10}
Timestamp = 2022-07-01 10:26:10 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11065 SessionDurationHMS = 0 days 0 hours 0 minutes 0 seconds Result= (0) Method =POST:1947 URL = /api/loginex APIFunction = LOGIN_EX FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9EA,api=8.11,span=2,sesscount=8,logincount=8,maxlogins=10}
Timestamp = 2022-07-01 10:26:12 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11074 SessionDurationHMS = 0 days 0 hours 0 minutes 2 seconds Result= (0) Method =POST:1947 URL = /api/logout APIFunction = LOGOUT FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9E9,duration=2,span=1,sesscount=8,logincount=8,maxlogins=10}
Timestamp = 2022-07-01 10:26:12 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11078 SessionDurationHMS = 0 days 0 hours 0 minutes 2 seconds Result= (0) Method =POST:1947 URL = /api/logout APIFunction = LOGOUT FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9EA,duration=2,span=1,sesscount=7,logincount=7,maxlogins=10} -
Locate object node
pattern
and update its value to accommodate other log file patterns.logfilecollector-sentinelhasp.xml<Object>
<Name>pattern</Name>
<Description>Glob identifying log files</Description>
<Value type="DirName">access*.log</Value>
</Object>If collecting Sentinel LDK data, make sure to use the following log file pattern:
Example: logfilecollector-sentinelhasp.xml<Object>
<Name>pattern</Name>
<Description>Glob identifying log files</Description>
<Value type="DirName">*access*.log</Value>
</Object> -
Save the changes.
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Update the configuration file, run the command:
Command Syntaxopenit_confbuilder --client
Make sure no errors are encountered.
Advanced Configuration
Refer to the Sentinel HASP Log File Collection Configuration table to learn more about Sentinel HASP configuration in logfilecollector-sentinelhasp.xml
.
Object Name | Accepted Value | Description |
---|---|---|
source.dir | DirName (e.g., C:\Program Files (x86)\Common Files\Aladdin Shared\logs ) | Location of the Sentinel HASP log files. |
source.pattern | String (i.e., *.log ) | The glob pattern identifying source files in the source directory. |
source.seen | String (collect , ignore , or tail ) | Seen files are the previously collected source files.
|
source.cmplines | Integer (e.g., 6 , 10 , 20 ) | This is required if the value of source.seen is tail . This is the number of lines compared to source files collected before to determine where to start the collection.Note: If this number is too low, you can end up with an incorrect position, and duplicate data may be in the log files. Usually, it is better to have a few lines more than strictly necessary than even a single line too little. |
target.dir | DirName (i.e., ${OpeniT.directories.temp}/LogFileCollector ) | This is the location of the directory containing the collected log data. |
target.module | String (i.e., license ) | The target type of module (in general). |
target.datatype | String (i.e., sentinelhasp ) | The specific type of target data. |
target.interval | Timespan (e.g., P30S , P5M , P1D ) | The span of time between collector runs. |
target.rotation-size | Integer (e.g., 6 , 10 , 20 ) | The log file rotates if it goes beyond the number (in mb) defined. |
target.rotation-glob | String (e.g., * ) | The glob pattern to match before the log file rotates. |
-
Go to the Components directory, which is by default in
/var/opt/openit/etc/Components
, and openlogfilecollector-sentinelhasp.xml
. -
Locate object node
dir
and set its value to the location of the Sentinel HASP log files. The log file is usually stored in/var/hasplm/
.logfilecollector-sentinelhasp.xml<Object>
<Name>dir</Name>
<Description>Directory containing the log files</Description>
<Value type="DirName">%SENTINELHASPLOGDIR%</Value>
</Object>Example: logfilecollector-sentinelhasp.xml<Object>
<Name>dir</Name>
<Description>Directory containing the log files</Description>
<Value type="DirName">/var/hasplm/</Value>
</Object>Sample Log File Content (Aladdin HASP)
2020-10-21 12:43:25 10.166.60.255:49858 hwilson@HOSTNAME-D POST /api/loginex LOGIN_EX(lm=,haspid=568858667279908878,productid=0,feat=1,sess=00000000,api<7.103) result(38)
2020-10-21 12:43:25 10.166.60.255:49858 hwilson@HOSTNAME-D POST /api/loginex LOGIN_EX(lm=,haspid=844567040191256625,productid=0,feat=1,sess=00000000,api<7.103) result(41)
2020-10-21 12:43:57 10.166.51.48:50988 jcruz@HOSTNAME-A POST /api/loginex LOGIN_EX(lm=local,haspid=568858667279908878,productid=1007,feat=1,sess=00004B6F,api<7.103) result(0)
2020-10-21 12:43:56 10.166.51.48:50988 jcruz@HOSTNAME-A POST /api/logout LOGOUT(lm=local,haspid=568858667279908878,productid=1007,feat=1,sess=00004B67,duration=300) result(0)Sample Log File Content (Sentinel LDK)
Timestamp = 2022-07-01 10:26:10 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11063 SessionDurationHMS = 0 days 0 hours 0 minutes 0 seconds Result= (0) Method =POST:1947 URL = /api/loginex APIFunction = LOGIN_EX FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9E9,api=8.11,span=3,sesscount=7,logincount=7,maxlogins=10}
Timestamp = 2022-07-01 10:26:10 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11065 SessionDurationHMS = 0 days 0 hours 0 minutes 0 seconds Result= (0) Method =POST:1947 URL = /api/loginex APIFunction = LOGIN_EX FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9EA,api=8.11,span=2,sesscount=8,logincount=8,maxlogins=10}
Timestamp = 2022-07-01 10:26:12 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11074 SessionDurationHMS = 0 days 0 hours 0 minutes 2 seconds Result= (0) Method =POST:1947 URL = /api/logout APIFunction = LOGOUT FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9E9,duration=2,span=1,sesscount=8,logincount=8,maxlogins=10}
Timestamp = 2022-07-01 10:26:12 UserDetails = John.Garcia@HOST-Z-14149 UserIP-PortDetails = 10.153.147.10:11078 SessionDurationHMS = 0 days 0 hours 0 minutes 2 seconds Result= (0) Method =POST:1947 URL = /api/logout APIFunction = LOGOUT FunctionParameters = lm=local,haspid=496308208903686471,productid=60,feat=40,sess=0000F9EA,duration=2,span=1,sesscount=7,logincount=7,maxlogins=10} -
Locate object node
pattern
and update its value to accommodate other log file patterns.logfilecollector-sentinelhasp.xml<Object>
<Name>pattern</Name>
<Description>Glob identifying log files</Description>
<Value type="DirName">access*.log</Value>
</Object>If collecting Sentinel LDK data, make sure to use the following log file pattern:
Example: logfilecollector-sentinelhasp.xml<Object>
<Name>pattern</Name>
<Description>Glob identifying log files</Description>
<Value type="DirName">*access*.log</Value>
</Object> -
Save the changes.
-
Go to the bin directory, which is by default in
/opt/openit/bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd /opt/openit/bin
-
Update the configuration file, run the command:
Command Syntax./openit_confbuilder --client
Make sure no errors are encountered.
Advanced Configuration
Refer to the Sentinel HASP Log File Collection Configuration table to learn more about Sentinel HASP configuration in logfilecollector-sentinelhasp.xml
.
Object Name | Accepted Value | Description |
---|---|---|
source.dir | DirName (e.g., /var/hasplm/ ) | Location of the Sentinel HASP log files. |
source.pattern | String (i.e., *.log ) | The glob pattern identifying source files in the source directory. |
source.seen | String (collect , ignore , or tail ) | Seen files are the previously collected source files.
|
source.cmplines | Integer (e.g., 6 , 10 , 20 ) | This is required if the value of source.seen is tail . This is the number of lines compared to source files collected before to determine where to start the collection.Note: If this number is too low, you can end up with an incorrect position, and duplicate data may be in the log files. Usually, it is better to have a few lines more than strictly necessary than even a single line too little. |
target.dir | DirName (i.e., ${OpeniT.directories.temp}/LogFileCollector ) | This is the location of the directory containing the collected log data. |
target.module | String (i.e., license ) | The target type of module (in general). |
target.datatype | String (i.e., sentinel_hasp ) | The specific type of target data. |
target.interval | Timespan (e.g., P30S , P5M , P1D ) | The span of time between collector runs. |
target.rotation-size | Integer (e.g., 6 , 10 , 20 ) | The log file rotates if it goes beyond the number (in mb) defined. |
target.rotation-glob | String (e.g., * ) | The glob pattern to match before the log file rotates. |
Sentinel HASP Events Log File Collection Configuration
Activating Event Log Data Collection
These are the required steps to activate collection of the Sentinel HASP log file for events.
- Windows
- Unix
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Once in the directory, activate the collection of Sentinel HASP log events data, run the command:
Command Syntaxopenit_oconfinit -u "collect_license_sentinelhasp_event-logs.root.scheduler.jobs.collect_sentinelhasp_licenselogs-events.general.active=true"
-
Go to the bin directory, which is by default in
/opt/openit/bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd /opt/openit/bin
-
Once in the directory, activate the collection of Sentinel HASP log data, run the command:
Command Syntax./openit_oconfinit -u "collect_license_sentinelhasp_event-logs.root.scheduler.jobs.collect_sentinelhasp_licenselogs-events.general.active=true"
Advanced Configuration
The collection runs every five minutes by default, which triggers the data collection process. To configure the intervals, locate the instances
attribute under collect_sentinelhasp_licenselogs-events
, preprocess_sentinelhasp_licenselogs-events
or transfer_sentinelhasp_licenselogs-events
in the same file and configure the attributes.
Refer to the Sentinel HASP Log Job Scheduler Instances Configuration table to learn the attributes used to configure Sentinel HASP event data collection and transfer.
Attribute Name | Accepted Value | Description |
---|---|---|
max-instances | Uint (e.g., 5 , 8 , 9 ) | The number of instances allowed to run at the same time. |
max-handling | String (end-oldest , end-all-old , or end-new ) | The action done upon reaching the maximum number of instances:
|
end-timeout | Timespan (e.g., P30S , P5M , P1H ) | The maximum waiting time before terminating a running instance. |
quarantine | Timespan (e.g., P30S , P5M , P1H ) | The waiting time before starting a new instance after a previous one. |
Verifying Log Data Collection
After configuration, you can verify that the data is collected and sent to the Core Server by following these steps:
- Windows
- Unix
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Run the command:
Command Syntaxopenit_executor -r collect_license_sentinelhasp_event-logs
-
Verify that there are
archiver*.in
files created in the Core Server's archiver directory, which is by default inC:\ProgramData\OpeniT\Data\incoming\archiver
.
-
Go to the bin directory, which is by default in
/opt/openit/bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd /opt/openit/bin
-
Run the command:
Command Syntax./openit_executor -r collect_license_sentinelhasp_event-logs
-
Verify that there are
archiver*.in
files created in the incoming directory in your defined data_dir($ROOT_DATA_DIR)
upon Open iT Core Server installation.
Sentinel HASP Records Log File Collection Configuration
Activating Record Log Data Collection
These are the required steps to activate collection of the Sentinel HASP log file for records.
- Windows
- Unix
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Once in the directory, activate the collection of Sentinel HASP log record data, run the command:
Command Syntaxopenit_oconfinit -u "collect_license_sentinelhasp_record-logs.root.scheduler.jobs.collect_sentinelhasp_licenselogs-records.general.active=true"
-
Go to the bin directory, which is by default in
/opt/openit/bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd /opt/openit/bin
-
Once in the directory, activate the collection of Sentinel HASP log data, run the command:
Command Syntax./openit_oconfinit -u "collect_license_sentinelhasp_record-logs.root.scheduler.jobs.collect_sentinelhasp_licenselogs-records.general.active=true"
Advanced Configuration
The collection runs every five minutes by default, which triggers the data collection process. To configure the intervals, locate the instances
attribute under collect_sentinelhasp_licenselogs-records
, preprocess_sentinelhasp_licenselogs-records
or transfer_sentinelhasp_licenselogs-records
in the same file and configure the attributes.
Refer to the Sentinel HASP Log Job Scheduler Instances Configuration table to learn the attributes used to configure Sentinel HASP record data collection and transfer.
Attribute Name | Accepted Value | Description |
---|---|---|
max-instances | Uint (e.g., 5 , 8 , 9 ) | The number of instances allowed to run at the same time. |
max-handling | String (end-oldest , end-all-old , or end-new ) | The action done upon reaching the maximum number of instances:
|
end-timeout | Timespan (e.g., P30S , P5M , P1H ) | The maximum waiting time before terminating a running instance. |
quarantine | Timespan (e.g., P30S , P5M , P1H ) | The waiting time before starting a new instance after a previous one. |
Verifying Log Data Collection
After configuration, you can verify that the data is collected by following these steps:
- Windows
- Unix
-
Open a command prompt with Administrator level privileges.
-
Go to the bin directory, which is by default in
C:\Program Files\OpeniT\Core\bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd C:\Program Files\OpeniT\Core\bin
-
Run the command:
Command Syntaxopenit_executor -r collect_license_sentinelhasp_record-logs
-
Verify that there are
archiver*.in
files created in the Core Server's archiver directory, which is by default inC:\ProgramData\OpeniT\Data\incoming\archiver
.
-
Go to the bin directory, which is by default in
/opt/openit/bin
, run the command:Command Syntaxcd $BIN_DIR
Examplecd /opt/openit/bin
-
Run the command:
Command Syntax./openit_executor -r collect_license_sentinelhasp_record-logs
-
Verify that there are
archiver*.in
files created in the incoming directory in your defined data_dir($ROOT_DATA_DIR)
upon Open iT Core Server installation.