User reporting
note
Try License Vault, our new cloud solution for license management! Hosted by JetBrains, License Vault doesn't require installation and can be accessed from any device with an internet connection. Learn more
This topic contains information on how to get usage reports from FLS. There are many report types and ways to obtain usage statistics, so chapters provide detailed information on each of them.
Statistics you get from JetBrains Account is collected in JetBrains local time zone (UTC +3).
Choosing FLS from your online account will grant you access to license usage, by product, for a given time frame.
![Detailed server usage statistic Detailed server usage statistic](https://resources.jetbrains.com/help/img/license_server/usage_details_JBA.png)
Log in at JetBrains Account with the credentials of your organization's profile administrator.
Open the page of the license server team.
Open the Server page.
Choose to view usage for:
One day
3 days
A week
A month
A year
To download the reports, go to the FLS dashboard | Usage Report. Choose the time frame and granularity and click Download report.
The report contains (in table):
License usage:
Count of requested licenses by each product of a particular version:
Usage of a particular product and version by a particular user:
Users with related IP addresses:
To obtain the same tabular statistics by email, configure an SMTP integration. FLS will not send the report automatically. To get the statistics, click Request report on the FLS dashboard. This button will appear after configuring an SMTP integration.
![Request report on the License Server dashboard Request report on the License Server dashboard](https://resources.jetbrains.com/help/img/license_server/request-report.png)
note
Make sure that ports are listened by email services/daemons and configured correctly in a firewall.
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Configure an email server:
./bin/license-server.sh configure \ --smtp.server mail.company.org \ --smtp.server.port 25
where
mail.company.org
is the host of mail server and25
is the port listened by the mail service.Configure the reports recipients:
./bin/license-server.sh configure \ --stats.recipients stat@company.org
where
stats@company.org
are the recipients of the report. Use a comma to separate records if there are several recipients, for examplerecipient1@company.org,recipient2@company.org
.Configure the address of the email sender:
./bin/license-server.sh configure \ --stats.from report-sender@company.org
where
report-sender@company.org
is the address to be used as sender of email report.If the mail server requires authorisation, configure the username and password:
./bin/license-server.sh configure \ --smtp.server.username <mail-server-user> \ --smtp.server.password <mail-server-password>
where
<mail-server-user>
is the username of mail server user and<mail-server-password>
is the password of the user.Start FLS using the following command:
./bin/license-server.sh start
Click Request report on the FLS dashboard to get the statistics.
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Configure an email server:
./bin/license-server.sh configure \ --smtp.server mail.company.org \ --smtp.server.port 25
where
mail.company.org
is the host of mail server and25
is the port listened by the mail service.Configure the reports recipients:
./bin/license-server.sh configure \ --stats.recipients stat@company.org
where
stats@company.org
are the recipients of the report. Use a comma to separate records if there are several recipients, for examplerecipient1@company.org,recipient2@company.org
.Configure the address of the email sender:
./bin/license-server.sh configure \ --stats.from report-sender@company.org
where
report-sender@company.org
is the address to be used as sender of email report.If the mail server requires authorisation, configure the username and password:
./bin/license-server.sh configure \ --smtp.server.username <mail-server-user> \ --smtp.server.password <mail-server-password>
where
<mail-server-user>
is the username of mail server user and<mail-server-password>
is the password of the user.Start FLS using the following command:
./bin/license-server.sh start
Click Request report on the FLS dashboard to get the statistics.
Stop FLS using the JetBrains License Service.
Services Microsoft Management Console (MMC) (Control Panel > Administrative Tools > Services > JetBrains License Service)
Change to the FLS installation directory using the command line.
Configure an email server:
.\apps\license-server\bin\license-server.bat configure ^ --smtp.server mail.company.org ^ --smtp.server.port 25
where
mail.company.org
is the host of mail server and25
is the port listened by the mail service.Configure the reports recipients:
.\apps\license-server\bin\license-server.bat configure ^ --stats.recipients stat@company.org
where
stats@company.org
are the recipients of the report. Use a comma to separate records if there are several recipients, for examplerecipient1@company.org,recipient2@company.org
.Configure the address of the email sender:
.\apps\license-server\bin\license-server.bat configure ^ --stats.from report-sender@company.org
where
report-sender@company.org
is the address to be used as sender of email report.If the mail server requires authorisation, configure the username and password:
.\apps\license-server\bin\license-server.bat configure ^ --smtp.server.username <mail-server-user> ^ --smtp.server.password <mail-server-password>
where
<mail-server-user>
is the username of mail server user and<mail-server-password>
is the password of the user.Start FLS using the JetBrains License Service.
Click Request report on the FLS dashboard to get the statistics.
note
Available from build #14451.
By default it's disabled, requires a configured SMTP, reports once an hour (frequency is non-configurable). To enable it, use the following commands:
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Run the following in the command line:
where./bin/license-server.sh configure \ --reporting.out.of.license.threshold 90
90
= % of all licenses occupied by users, a trigger threshold which initializes emails sending.
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Run the following in the command line:
where./bin/license-server.sh configure \ --reporting.out.of.license.threshold 90
90
= % of all licenses occupied by users, a trigger threshold which initializes emails sending.
Stop FLS using the JetBrains License Service.
Services Microsoft Management Console (MMC) (Control Panel > Administrative Tools > Services > JetBrains License Service)
Change to the FLS installation directory using the command line.
Run the following in the command line:
where.\apps\license-server\bin\license-server.bat configure ^ --reporting.out.of.license.threshold 90
90
= % of all licenses occupied by users, a trigger threshold which initializes emails sending.
Statistics you get via API is generated on FLS locally. Since that, the time zone is defined by the host machine time.
There are 2 formats of the usage statistics reported via API in JSON format:
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Configure the token that later will be used as the parameter of a POST request to obtain statistics via API run in the command line:
./bin/license-server.sh configure \ --reporting.token <TOKEN>
where
<TOKEN>
is a random combination of digits/letters, which you'll use as a secret key to access the statistics.Start FLS using the following command:
./bin/license-server.sh start
Send a POST request to
http(s)://<fls_hostname>:<fls_port>/reportApi
with the following parameters:Parameter
Description
granularity
Granularity of the report, 0 to 4 from hourly to yearly respectively
start
Report start date in YYYY-MM-DD format
end
Report end date in YYYY-MM-DD format
token
<TOKEN>
configured at step 2
Change to the FLS installation directory using the command line.
Stop FLS using the following command:
./bin/license-server.sh stop
Configure the token that later will be used as the parameter of a POST request to obtain statistics via API run in the command line:
./bin/license-server.sh configure \ --reporting.token <TOKEN>
where
<TOKEN>
is a random combination of digits/letters, which you'll use as a secret key to access the statistics.Start FLS using the following command:
./bin/license-server.sh start
Send a POST request to
http(s)://<fls_hostname>:<fls_port>/reportApi
with the following parameters:Parameter
Description
granularity
Granularity of the report, 0 to 4 from hourly to yearly respectively
start
Report start date in YYYY-MM-DD format
end
Report end date in YYYY-MM-DD format
token
<TOKEN>
configured at step 2
Stop FLS using the Services Microsoft Management Console (MMC) (Control Panel > Administrative Tools > Services > JetBrains License Service)
Change to the FLS installation directory using the command line.
Configure the token that later will be used as the parameter of a POST request to obtain statistics via API run in the command line:
.\apps\license-server\bin\license-server.bat configure ^ --reporting.token <TOKEN>
where
<TOKEN>
is a random combination of digits/letters, which you'll use as a secret key to access the statistics.Start FLS using the JetBrains License Service.
Send a POST request to
http(s)://<fls_hostname>:<fls_port>/reportApi
with the following parameters:Parameter
Description
granularity
Granularity of the report, 0 to 4 from hourly to yearly respectively
start
Report start date in YYYY-MM-DD format
end
Report end date in YYYY-MM-DD format
token
<TOKEN>
configured at step 2
Since build #17768 there is an endpoint to get the list of all licenses located currently on FLS.
Configure the reporting token as described above.
Send the
GET
request tohttp(s)://<fls_hostname>:<fls_port>/licenses-report.json?token=<TOKEN>
where<TOKEN>
is equal to the token configured above.
Granularity is not used in this report.
Request:
curl -X POST \
--data "granularity=0&start=2017-09-12&end=2017-09-14&token=<TOKEN>" \
"http://0.0.0.0:8080/reportApi"
curl -X POST \
--data "granularity=0&start=2017-09-12&end=2017-09-14&token=<TOKEN>" \
"http://0.0.0.0:8080/reportApi"
curl -X POST ^
--data "granularity=0&start=2017-09-12&end=2017-09-14&token=<TOKEN>" ^
"http://127.0.0.1:80/reportApi"
Output:
{
"Overall": [
{
"License": "IntelliJ IDEA Ultimate 2017.2",
"Max usage": 1,
"Peak time": "14/09/2017 10:04",
"Max available": 1
},
{
"License": "IntelliJ IDEA Ultimate Toolbox",
"Max usage": 0,
"Max available": 1
},
{
"License": "ReSharper C++ 2016.2",
"Max usage": 0,
"Max available": 7
},
{
"License": "dotCover 2016.2",
"Max usage": 0,
"Max available": 9
},
{
"License": "dotMemory 2016.2",
"Max usage": 0,
"Max available": 10
},
{
"License": "dotTrace 2016.2",
"Max usage": 0,
"Max available": 10
}
],
"License Usage Hourly": [
{
"time": "14/09/2017 10:00",
"key": "IntelliJ IDEA Ultimate 2017.2",
"count": 1
}
],
"License Requests Hourly": [
{
"time": "14/09/2017 10:00",
"key": "IntelliJ IDEA Ultimate 2017.2",
"count": 1
}
],
"Users": [
{
"user": "user1",
"ips": [
"127.0.0.1"
],
"requests": [
"IntelliJ IDEA Ultimate 2017.2"
]
}
]
}
Request:
curl "http://0.0.0.0:8080/tickets-report.json?token=<TOKEN>"
curl "http://0.0.0.0:8080/tickets-report.json?token=<TOKEN>"
curl "http://127.0.0.1:80/tickets-report.json?token=<TOKEN>"
Output:
[
{
"userId": "testuser@localhost",
"clientId": "d001a808-1d3f-4a05-8318-7053180059b7",
"ip": "127.0.0.1",
"license": "IntelliJ IDEA Ultimate Toolbox",
"product": "II:2017.2",
"issued": "2018-03-27T18:22:46.689+0300",
"last_seen": "2018-03-27T18:42:54.249+0300"
}
]
Request:
curl "http://0.0.0.0:8080/licenses-report.json?token=<TOKEN>"
curl "http://0.0.0.0:8080/licenses-report.json?token=<TOKEN>"
curl "http://127.0.0.1:80/licenses-report.json?token=<TOKEN>"
Output:
{
"licenses": [
{
"name": "IntelliJ IDEA Ultimate 12.0",
"available": 1,
"allocated": 0,
"allocatedDetails": "/tickets/II?version=12000&trueUp=false"
},
{
"name": "IntelliJ IDEA Ultimate 2016.2",
"available": 1,
"allocated": 0,
"allocatedDetails": "/tickets/II?version=2016200&trueUp=false"
},
{
"name": "IntelliJ IDEA Ultimate Toolbox",
"available": 0,
"allocated": 1,
"allocatedDetails": "/tickets/II?version=2017300&trueUp=false"
},
{
"name": "All Products Pack Fallback",
"available": 1,
"allocated": 0,
"allocatedDetails": "/tickets/ALL?trueUp=false"
},
{
"name": "All Products Pack Toolbox",
"available": 2,
"allocated": 0,
"allocatedDetails": "/tickets/ALL?trueUp=false"
}
]
}
Thanks for your feedback!