Managing Cruise ControlPDF version

Cruise Control REST API endpoints

You can configure and check the status of Cruise Control using the REST API with GET and POST endpoints. You must be aware of the required action or query, and submit a curl command in the command line to use the Cruise Control REST API.

There are two types of REST endpoints for Cruise Control: GET and POST .

With GET endpoints, you can query information about the rebalancing process, the status of Cruise Control and Kafka brokers. The GET endpoints are read-only operations, and do not have any impact on Cruise Control, Kafka, or the rebalancing process.

In the command line, you need to create the POST or GET commands with curl, and also include the Cruise Control hostname, port, and the required endpoint.
curl -X GET "http://<cruise_control_hostname>:8899/kafkacruisecontrol/kafka_cluster_state”

The following table summarizes the available operations for GET and POST endpoints. The description column only provides a brief summary of the endpoints. For the detailed description of the Cruise Control REST API, see the official REST API documentation.

Endpoint Action Description
/kafkacruisecontrol/state You can query the state of Kafka Cruise Control. This includes the state of monitor, executor, analyzer, and anomaly detector.
/kafkacruisecontrol/load You can query the current cluster load. The Load Monitor needs to be in RUNNING state. This includes the load-per-broker and load-per-host information. Only shows valid partitions with enough metric samples.
/kafkacruisecontrol/partition_load You can query partition resource utilization. The partition load is sorted based on the given resource.
/kafkacruisecontrol/kafka_cluster_state You can query partition and replica state. This includes information for each broker and each partition.
/kafkacruisecontrol/proposals You can query the optimization proposals generated on the workload model. The proposals can be generated based on either the snapshot window or the valid partitions.
/kafkacruisecontrol/user_tasks You can query the user request result. This includes a full list of all the active and completed tasks in Cruise Control.