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:
- License Statistics supports importing for the license manager type.
- Importing has been enabled in the license server configuration.
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 Parameter | Example Variable | Type | Description | Default |
---|---|---|---|---|
HOSTNAME | string | License Statistics instance | ||
LICENSE_SERVER_ID | integer | License Server ID | ||
gather | GATHERING | string | Denials and/or Usage | "Denials,Usage" |
mergePolicy | MERGE_POLICY | string | Reject/Replace/Merge/Leave Tail | "Reject" |
from | FROM | string | Start of time range import; format: yyyy-MM-dd HH:mm[:ss] | Beginning of the log file |
to | TO | string | End of time range import; format: yyyy-MM-dd HH:mm[:ss] | End of the log file |
resolveDomainNamesToIP | DNS | boolean | Find unknown host IP address using DNS lookup | false |
findDomainNamesByIP | RDNS | boolean | Find unknown hostname using Reverse DNS lookup | false |
API_TOKEN | string | API token | ||
FILE | string | Name 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 } }