Open-E Knowledgebase
Email to friend
Multiple emails allowed. Separate with commas



[JDSS] How to configure Checkmk to monitor JovianDSS via the REST API

Additional information:

  • product name: JovianDSS
  • product version: up32, up33
  • build: all

Subject: How to monitor an Open-E JovianDSS storage server (single node or HA cluster) from an existing Checkmk 2.x server, by reading the appliance's Checkmk agent output over the JovianDSS REST API instead of contacting a Checkmk agent.

Summary

JovianDSS publishes the complete Checkmk agent output over its REST API. A Checkmk server can be told to fetch it with a curl call instead of contacting an agent, which is how a storage server is added to a Checkmk console.

1. Enable the REST API in JovianDSS

REST API access is disabled by default on JovianDSS, so it has to be switched on before Checkmk can read anything from the storage server.

In the JovianDSS web GUI, go to:

System Settings -> Administration -> REST API

Fill in the fieldset:

Field Value
Enable REST API access Ticked
Port 82 (default)
Username The account Checkmk will use (admin by default)
Password / Password confirmation The password for that account

Click Apply.

Then confirm from the Checkmk server that the storage server answers:

curl -k -s -u '<user>:<password>' https://<JDSS-IP>:82/api/v3/monitoring/check-mk

A working system replies with JSON whose data.output field holds the Checkmk agent output. Missing or wrong credentials return 401 unauthorized.

On an HA cluster, do this on every node: each node has its own management address and its own REST API setting.

2. Create the datasource rule in Checkmk

Go to:

Setup -> Agents -> Other integrations -> Individual program call instead of agent access

Click Add rule and fill in the following fields:

Description

storage-server via REST API

Command line to execute

curl -k -s -X GET -u admin:admin -H 'Content-Type: application/json' https://$_HOSTADDRESS_4$:82/api/v3/monitoring/check-mk | python3 -c 'import json,sys;obj=json.load(sys.stdin);print(obj["data"]["output"]);'

Note: replace -u admin:admin with the username and password provided/configured in JovianDSS for REST API access.

Explicit hosts

~storage-server

3. Add the storage server as a host

Then go to:

Setup -> Hosts -> Main -> Add host

Fill in the following fields:

Hostname

storage-server-jdss-00

Note: the hostname must start with storage-server because we configured ~storage-server under Explicit hosts. This rule therefore applies to all hosts whose hostname starts with storage-server.

IPv4 address

ip-address-of-your-storage-server-jdss-00

Finally, click Save & go to service configuration.

4. Accept the services and activate the changes

The discovered services stay in the Undecided state until they are committed, so this last step is required:

  1. Click Accept all on the service configuration page.
  2. Go to Setup -> Activate pending changes -> Activate on selected sites.

Until the changes are activated, nothing is monitored, and the failure is silent: the service configuration page reports the services as monitored while the monitoring core still holds none for that host.

The Knowledge base is managed by Open-E data storage software company.