Overview
This article shows license administrators how to capture FlexNet license usage data from an nTop floating license server, remove names and machine details, and send it to nTop if requested. It follows Revenera's official FlexNet Publisher License Administration Guide and assumes your server is already set up as described in Getting Started with FlexNet Floating License.
nTop may ask for usage data to troubleshoot checkout failures or denials, confirm how many seats your team uses at peak, or help you right-size your license count at renewal. We only need to see when licenses were checked out, returned or denied, and how many and NOT who your users are.
Before you begin
- Administrator access to the license server machine. Run LMTOOLS, Command Prompt and PowerShell as administrator.
-
The nTop license tools.
lmutil,lmgrd, LMTOOLS and the nTop vendor daemon (ntoplm.exe) are installed byntoplm-1.0.0.msiinto thentoplmfolder inside your nTop installation folder. The commands below are run from that folder. -
Your license server address, in the form
port@hostname(for example,27000@licserver). -
A folder the license service can write to. Revenera recommends a sub-folder of
C:\ProgramDatabecause the license service, running as LocalService, can write there by default. This article usesC:\ProgramData\nTopLM\logs. Create it before you start.
Tip: Run lmutil lmver lmgrd.exe to see your FlexNet Publisher version. Include it when you contact Support.
Which files nTop needs
FlexNet produces three kinds of usage data. Support will usually ask for the debug log and a status snapshot. Send the report log only if we ask for it.
| File | What it contains | Personal details in it | Can you redact it? |
|---|---|---|---|
| Debug log (plain text) | Every checkout (OUT), check-in (IN) and denial (DENIED) with a timestamp, plus server start-up and error messages |
User names, computer names, server name, and sometimes IP addresses and file paths | Yes — see Step 4 |
Status snapshot (lmstat output) |
Who holds which license right now, and the license counts per feature (ntop_full, ntopcl_full) |
User name, computer, display, process ID, unless you hide them | Yes — generate it without user details |
| Report log | Compressed, authenticated usage history meant for reporting tools | User names (can be hashed at the source) |
No. It is authenticated, so editing it makes it unusable. Use HIDE_USER instead |
Revenera describes each log in Debug Log File and Report Log File.
Step 1: Turn on usage logging
You turn on logging in an options file, a plain-text file the nTop vendor daemon reads at start-up. Do this once; logging then continues until you change it. Collect at least two weeks of data before sending it, so it covers a normal work cycle.
- In the folder that holds your nTop license file, create a text file named
ntoplm.opt. The vendor daemon finds a file with this name automatically. If you keep it elsewhere, add its path to theVENDOR ntoplmline of the license file asOPTIONS=<path>. -
Add these two lines (keep the quotes):
DEBUGLOG +"C:\ProgramData\nTopLM\logs\ntoplm_debug.log" OBF_ADDMARK REPORTLOG +"C:\ProgramData\nTopLM\logs\ntoplm_report.rl" HIDE_USER
-
+appends to the file instead of overwriting it each time the server restarts. -
OBF_ADDMARKplaces markers around each user name in the debug log, so Revenera'slmobfslogtool can anonymize them later (Step 4). -
HIDE_USERhashes user names (SHA-2) before they are written to the report log.
-
- Apply the change. In LMTOOLS, open Start/Stop/Reread and click ReRead License File, or restart the nTopLM service.
- Confirm a file named
ntoplm_debug.lognow appears inC:\ProgramData\nTopLM\logsand grows as people open nTop.
Using lmadmin instead of lmgrd? lmadmin writes a separate log per vendor daemon to <lmadmin data folder>\logs by default. The ntoplm.opt lines above still apply.
Older servers: OBF_ADDMARK and HIDE_USER are newer keywords. If the debug log reports an error for either line, remove that keyword, reread, and redact the log by hand in Step 4.
References: DEBUGLOG, REPORTLOG, Creating an Options File.
Step 2: Capture a status snapshot
A snapshot shows license counts and current usage at one moment. Take it while the issue is happening, or at a busy time of day.
- Open Command Prompt as administrator and go to the
ntoplmfolder. -
Run this command, replacing the server address with yours:
lmutil lmstat -a --no-user-info -c 27000@licserver > "%USERPROFILE%\Desktop\ntoplm_status.txt"
--no-user-inforeports feature usage without listing individual users. If your version does not recognize it, runlmutil lmstat -a -c 27000@licserverinstead and redact the result in Step 4. - Open
ntoplm_status.txtand check that it listsntop_fullandntopcl_fullwith their issued and in-use counts.
Without --no-user-info, lmstat -a lists each user's name, computer, display, checkout time and process ID (lmstat reference).
Step 3: Collect the files
Copy the files into one working folder, for example C:\ProgramData\nTopLM\to_share. Always copy, never move: the server is still writing to the originals.
-
ntoplm_debug.logfromC:\ProgramData\nTopLM\logs -
ntoplm_status.txtfrom Step 2 -
Only if Support asked for it: the report log. First close it so the copy is complete, by switching the server to a new report log file:
lmutil lmswitchr -c 27000@licserver ntoplm "C:\ProgramData\nTopLM\logs\ntoplm_report_new.rl"
Then copyntoplm_report.rl. The switch lasts until the next restart or reread, after which the server goes back to the file named inntoplm.opt(lmswitchr reference). - Only if Support asked for it: the server (lmgrd) debug log. Its location is the Path to the debug log file field under Config Services in LMTOOLS.
Step 4: Remove personal information
Replace names with consistent placeholders (user001, host001) rather than deleting lines. nTop still needs to count distinct users and see every checkout and denial; we do not need to know who they are. Work on the copies in your to_share folder only.
A typical debug log line before and after redaction:
09:14:02 (ntoplm) OUT: "ntop_full" jsmith@ENG-WS-042 09:14:02 (ntoplm) OUT: "ntop_full" user001@host001
4a. Anonymize user names with Revenera's tool (recommended)
If you enabled OBF_ADDMARK in Step 1, run Revenera's lmobfslog utility from the ntoplm folder:
lmutil lmobfslog -i "C:\ProgramData\nTopLM\to_share\ntoplm_debug.log" -o "C:\ProgramData\nTopLM\to_share\ntoplm_debug_obf.log"
This replaces user names only. Computer names and IP addresses remain, so continue with 4b. See lmobfslog.
4b. Replace user names, computer names and IP addresses
This PowerShell script replaces every user@computer pair with a consistent placeholder and masks IPv4 addresses. It also saves a key file mapping each placeholder to the real name. Keep the key file; do not send it. It lets you match nTop's findings back to real users. Run it in PowerShell, adjusting $in to your file:
$in = "C:\ProgramData\nTopLM\to_share\ntoplm_debug.log"
$out = "C:\ProgramData\nTopLM\to_share\ntoplm_debug_redacted.log"
$key = "C:\ProgramData\nTopLM\redaction_key.csv" # stays on your server
$users = @{}; $hosts = @{}
Get-Content $in | ForEach-Object {
$line = [regex]::Replace($_, '(?<u>[\w.$-]+)@(?<h>[\w.-]+)', {
param($m)
$u = $m.Groups['u'].Value; $h = $m.Groups['h'].Value
if (-not $users.ContainsKey($u)) { $users[$u] = 'user{0:D3}' -f ($users.Count + 1) }
if (-not $hosts.ContainsKey($h)) { $hosts[$h] = 'host{0:D3}' -f ($hosts.Count + 1) }
"$($users[$u])@$($hosts[$h])"
})
$line -replace '\b\d{1,3}(\.\d{1,3}){3}\b', '[IP]'
} | Set-Content $out
(@($users.GetEnumerator()) + @($hosts.GetEnumerator())) |
Select-Object @{n='Real';e={$_.Key}}, @{n='Placeholder';e={$_.Value}} |
Export-Csv $key -NoTypeInformation4c. Review by hand before sending
Scripts catch the common patterns, not every one. Open each file in a text editor and search for:
- Any remaining user or computer names, including on
DENIEDand error lines - Your license server's own host name (it appears in start-up lines). Replace it with
licserver - File paths containing a person's name, such as
C:\Users\jsmith\... - Email addresses, domain names, or project names you consider confidential
- In an
lmstatfile made without--no-user-info, the per-user lines under each feature. Delete them and keep the counts
Do not edit the report log. It is compressed and authenticated, so any change makes it unreadable. Rely on HIDE_USER (Step 1) to protect user names in it. If you cannot share it as-is, tell Support and send only the debug log.
Step 5: Send the files to nTop Support
- Put only the redacted files in a new folder:
ntoplm_debug_redacted.log,ntoplm_status.txtand, if requested,ntoplm_report.rl. Leave out the key file, the original logs and your license file. - Compress the folder into a .zip file named with your company name and date, for example
Acme_ntoplm_logs_2026-10-19.zip. - Open a ticket at Request Support and attach the .zip. Include:
- The period the logs cover
- Your FlexNet Publisher version (from
lmutil lmver lmgrd.exe) - What you would like us to look at, such as denials, peak usage, or a server error
- ITAR customers: use the Request ITAR Support option on the same page instead of the standard form.
nTop uses these files only to support your license deployment.
Troubleshooting and FAQ
No log file appears after the reread. Check that ntoplm.opt is in the same folder as the license file, or that the VENDOR ntoplm line points to it. Check that the log folder exists and that the license service can write to it. Then restart the nTopLM service.
The debug log is very large. Add AUTO_ROLLOVER 100 (size in MB) to the end of the DEBUGLOG line. The log also rolls over at midnight. Send the files covering the requested period.
Can I log fewer events? The NOLOG keyword can suppress IN, OUT or DENIED lines, but please leave them on. They are exactly what nTop needs to analyze usage (NOLOG).
Does logging slow the server? Debug and report logging are normal FlexNet operation. Running lmstat -a repeatedly on a busy server can be slow; Revenera calls it a potentially expensive command, so run it once per snapshot.
Can nTop identify my users from the redacted files? No. Only you hold the key file that maps placeholders to real names.
References
Revenera FlexNet Publisher License Administration Guide: