The Services API lets you programmatically retrieve data about the health of the IT services that you monitor with Nexthink.
The client of the Services API must trust the certificate in the master Appliance (the Portal).
To authenticate the client, the Service API uses Basic Authentication. Nexthink recommends creating a local account to exclusively authenticate clients of the API.
Enabling the Services API
The Services API is fully tested and can be used in production. However, it is still in the phase of technical preview and you need to activate the feature before being able to use it.
To enable the Services API:
- Log in to the CLI of the Portal Appliance.
- Optional: If the Portal has no configuration file yet, that is, if portal.conf does not exist in folder /var/nexthink/portal/conf, create it by copying the defaults from the sample configuration file:
sudo -u nxportal cp /var/nexthink/portal/conf/portal.conf.sample \
- Edit the Portal configuration file:
sudo vi /var/nexthink/portal/conf/portal.conf
- Add the following line:
globalconfig.feature.service-test-api = true
- Save your changes and exit:
- Restart the Portal to apply your settings:
sudo systemctl restart nxportal
Finding out available service data
To interactively look for service data that is available through the Services API:
- Navigate with a web browser to the following address:
- Substitute <Portal_DNS_FQDN> for the actual name of the Portal.
- Log in to the discovery tool of the Services API:
- Type in the user credentials whenever asked by the web browser.
- The discovery tool displays the service data limited to the view domain of the user in the hierarchy.
Querying the API
To query the Services API, send a GET request to the API URL with the following parameters:
|service (named metric in the request)||UID of the desired service||(none)|
|hierarchy||Name of a hierarchy||The name of the first hierarchy in the Portal|
|hierarchy-level||Name of a level in the hierarchy||(none)|
|path||Name of a node in the hierarchy to limit the output. Chain several path elements to limit the output further down in the hierarchy levels.||The highest node in the view domain of the user|
Output format, one of:
- Include either the hierarchy-level or the path parameter in a Services API query, but not both simultaneously.
Example of a query URL:
https://<Portal_DNS_FQDN>/api/beta/service/data/overview? metric=57dc824c-3507-434a-9658-2d98255c1eff& hierarchy=Location& path=Europe&path=Switzerland& format=table
The Services API uses Basic Authentication. To test the API from a Nexthink appliance, you can use curl, for instance:
curl https://<Portal_DNS_FQDN>/api/beta/service/data/overview?... -u username:password
Output of the Services API
Find below the complete list of outputs of the Services API:
|Name of service||The name of the selected service|
|Names of hierarchy levels and nodes||
|Service metrics||The service metrics depend on the service being connection-based or web-based and are the same that you can find on the service dashboards.|