Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The information on this page refers to License Statistics v6.11 21 and newer, which introduced the import wizard and redesigned the license server data import processability 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:

...

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

Code Block
languagebash
#!/bin/sh 
curl -X POST "{HOSTNAME}/api/v2v3/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.

...

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

Code Block
languagebash
#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v2v3/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"

...

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

Code Block
languagebash
#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v2v3/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"

...

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

Code Block
languagebash
#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v2v3/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"

...

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

Code Block
languagebash
#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v2v3/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"

...

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."

Code Block
languagebash
#!/bin/sh

curl -X POST "https://licstat-demo.x-formation.com/api/v2v3/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.

Code Block
languagebash
#!/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 . 

Code Block
{
    "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

Code Block
languagebash
#!/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

Code Block
{
    "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
    }
}