OpsCenter Configuration¶
The OpsCenter API exposes REST interfaces that allow you to retrieve, create, update, and delete cluster configurations used by OpsCenter. The configurations sent or received are in JSON format.
The JSON configuration used by the API has the following format:
{
section name: {
property name: property value,
property name: property value,
...
},
...
}
See the OpsCenter User Guide for a complete list of settings.
You can manage the OpsCenter configuration for monitored clusters using these HTTP methods:
OpsCenter Configuration Management Methods | URL |
---|---|
List configuration information for all clusters. | GET /cluster-configs |
List configuration information for a cluster. | GET /cluster-configs/{cluster_id} |
Add a new cluster to OpsCenter. | POST /cluster-configs |
Update a cluster configuration. | PUT /cluster-configs/{cluster_id} |
Update part of a cluster configuration. | PUT /cluster-configs/{cluster_id}/partial |
Remove a cluster from OpsCenter management. | DELETE /cluster-configs/{cluster_id} |
Getting Existing OpsCenter Cluster Configurations¶
- GET /cluster-configs¶
Retrieve a list of all configured clusters.
Returns a dictionary of cluster id (key), ClusterConfig objects (value). Each cluster configuration includes a seed_hosts entry (required).
- Cluster Config¶
{ <section-name>: { <prop-name>: <prop-value>, ... }, ... }
Example:
curl http://127.0.0.1:8888/cluster-configs
Output:
{ "Test_Cluster": { "cassandra": { "agents": { "use_ssl": "false" }, "seed_hosts": "localhost" }, "cassandra_metrics": {}, "jmx": { "port": 7199 } }, "Test_Cluster2": { "cassandra" { "seed_hosts": "2.3.4.5, 2.3.4.6", "api_port": 9160 }, "cassandra_metrics": {}, "jmx": { "port": 7199, "username": "jmx_user", "password": "jmx_pass" } } }
- GET /cluster-configs/{cluster_id}¶
Retrieve the configuration for a single cluster.
Path arguments: cluster_id – A Cluster Config ID. Returns a Cluster Config.
Example:
curl http://127.0.0.1:8888/cluster-configs/Test_Cluster
Output:
{ "agents": {}, "cassandra": { "seed_hosts": "1.2.3.4, 1.2.3.5" }, "cassandra_metrics": {}, "jmx": { "port": 7199 } }
Adding, Updating, and Removing Configured Clusters¶
- POST /cluster-configs¶
Add a new cluster for OpsCenter monitoring and administration.
Body: A configuration in the format of Cluster Config. A seed_hosts
entry is required.Responses: 201 – Cluster was added successfully Returns the ID of the new cluster.
Example:
curl -X POST http://127.0.0.1:8888/cluster-configs -d '{ "cassandra": { "seed_hosts": "localhost" }, "cassandra_metrics": {}, "jmx": { "port": "7199" } }'
Output:
"Test_Cluster"
- PUT /cluster-configs/{cluster_id}¶
Update a cluster configuration.
Path arguments: cluster_id – A Cluster Config ID. Body: A configuration in the same format as Cluster Config. A seed_hosts
entry is required.Responses: 204 – Cluster updated successfully Example:
curl -X PUT http://127.0.0.1:8888/cluster-configs/Test_Cluster -d '{ "cassandra": { "seed_hosts": "192.168.1.1, 192.168.1.2" }, "jmx": { "port": "7199" } }'
- PUT /cluster-configs/{cluster_id}/partial¶
Update a cluster configuration with a partial config block. After a successful update of the cluster configuration, OpsCenter restarts all connections to the cluster.
Path arguments: cluster_id – A Cluster Config ID. Body: A subset of the configuration options in the same format as Cluster Config. Responses: 204 – Cluster configuration successfully updated Example:
curl -X PUT http://127.0.0.1:8888/cluster-configs/Test_Cluster/partial -d '{ "cassandra_metrics": { "ignored_keyspaces": "system, system_traces, system_auth, dse_auth" } }'
- DELETE /cluster-configs/{cluster_id}¶
Remove a cluster from the list of those to be managed and monitored by OpsCenter.
Path arguments: cluster_id – A Cluster Config ID. Responses: 204 – Cluster removed successfully Example:
curl -X DELETE http://127.0.0.1:8888/cluster-configs/Test_Cluster