DataStax OpsCenter Documentation

OpsCenter Configuration

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}
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"
    }
  }'
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