Additional information:
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.
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.
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.
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
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.
The discovered services stay in the Undecided state until they are committed, so this last step is required:
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.