The information on this page refers to License Statistics v6.21 and newer, which introduced the ability to use DNS and rDNS lookup to find missing host details during import. If you are using a version previous to v6.21, see documentation for previous versions

You can import license server data to an existing license server. License server data importation is available only when:

To import data to a license server, you can either use the UI or you can use API commands as described in this section.

The API command for importing license server data (using curl) is shown below.

#!/bin/sh 
curl -X POST "{HOSTNAME}/api/v3/admin/license-server/{LICENSE_SERVER_ID}/import?gather={GATHERING}&mergePolicy={MERGE_POLICY}&from={FROM}&to={TO}&resolveDomainNamesToIP={DNS}&findDomainNamesByIP={RDNS}" \ 
  -H "accept: application/json" \ 
  -H "X-Auth-token: {API_TOKEN}" \ 
  -H "Content-Type: multipart/form-data" \ 
  -F "file=@{FILE}"

where:

Query ParameterExample VariableTypeDescriptionDefault

HOSTNAME
stringLicense Statistics instance

LICENSE_SERVER_ID
integerLicense Server ID
gather
GATHERING
string

Denials and/or Usage

"Denials,Usage"
mergePolicy
MERGE_POLICY
stringReject/Replace/Merge/Leave Tail "Reject"
from
FROM
stringStart of time range import; format: yyyy-MM-dd HH:mm[:ss]Beginning of the log file
to
TO
stringEnd of time range import; format: yyyy-MM-dd HH:mm[:ss] End of the log file
resolveDomainNamesToIP
DNS
booleanFind unknown host IP address using DNS lookupfalse
findDomainNamesByIP
RDNS
booleanFind unknown hostname using Reverse DNS lookupfalse

API_TOKEN
stringAPI token

FILE
stringName of the file to import

The following examples show some uses of the import API command.

Example 1

The following example shows the default values for the import API:

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Example 2

The following example shows using the import API command for importing denials only.

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import?gather=Denials" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Example 3

The following example shows using the import API command for importing usage only.

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import?gather=Usage" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Example 4

The following example shows using the import API command for importing with the "Replace" merge policy.

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import?mergePolicy=Replace" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Example 5

The following example shows using the import API command for importing denials from date range "2021-01-10 15:10:00" - "2021-02-10 19:13:23."

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import?gather=Denials&from=2021-01-10%2015%3A10%3A00&to=2021-02-10%2019%3A13%3A23" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Example 6

The following example shows using the import API command for importing data using DNS and rDNS lookup for missing IP addresses and hostnames, respectively.

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/license-server/40/import?resolveDomainNamesToIP=true&findDomainNamesByIP=true" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0" \
-H "Content-Type: multipart/form-data" \
-F "file=@license-server.log"

Response

The import operation is asynchronous, and all the examples given above add a new task to the queue. The "tid" key in the success response contains the unique identifier of the task . 

{
    "success": true,
    "msg": null,
    "data": {
        "sst": "SCHEDULED",
        "ti": {
            "data": null,
            "sbtr": "Administrator",
            "sbtd": "2021-12-20 11:47:35",
            "tid": "import_527ddd6f-d7de-4854-bc99-839b5afd458e",
            "sts": "PENDING",
            "err": null
        }
    }
}


You can either check the status of the task in the script periodically until it has completed processing successfully, or simply close the script execution and allow the task to be completed in the background.

Task status request

#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v3/admin/task/import_527ddd6f-d7de-4854-bc99-839b5afd458e/status" \
-H "accept: application/json" \
-H "X-Auth-token: e765ee9c3ded6ca6e5e7f4d0d01189d0"

Task status response

{
    "success": true,
    "msg": null,
    "data": {
        "data": null,
        "sbtr": "Administrator",
        "sbtd": "2021-12-20 11:53:36",
        "tid": "import_527ddd6f-d7de-4854-bc99-839b5afd458e",
        "sts": "SUCCESS",
        "err": null
    }
}