The Service Status API provides endpoints for monitoring the health and status of Apache Druid cluster components.
Common endpoints
All Druid services support the following endpoints. The default ports are:
| Service | Port |
|---|
| Coordinator | 8081 |
| Overlord | 8081 |
| Router | 8888 |
| Broker | 8082 |
| Historical | 8083 |
| MiddleManager | 8091 |
Retrieves Druid version, loaded extensions, memory usage, and other service information.
curl "http://ROUTER_IP:ROUTER_PORT/status"
Array of loaded extension modules with name, artifact, and version.
Memory statistics including maxMemory, totalMemory, freeMemory, usedMemory, and directMemory.
Get service health
Returns a boolean indicating if the service is running and accessible. Use this for automated health checks.
curl "http://ROUTER_IP:ROUTER_PORT/status/health"
Get configuration properties
Retrieves the current configuration properties for the service.
curl "http://ROUTER_IP:ROUTER_PORT/status/properties"
Key-value pairs of all configuration properties.
Get node discovery status
Returns whether the node has been successfully added to the cluster via ZooKeeper.
curl "http://ROUTER_IP:ROUTER_PORT/status/selfDiscovered/status"
{
"selfDiscovered": true
}
Get node self-discovery status (HTTP code)
Returns HTTP status codes to indicate node discovery. Use for monitoring systems that rely on status codes.
curl "http://ROUTER_IP:ROUTER_PORT/status/selfDiscovered"
Coordinator
Get Coordinator leader address
Retrieves the address of the current leader Coordinator.
curl "http://ROUTER_IP:ROUTER_PORT/druid/coordinator/v1/leader"
Get Coordinator leader status
Returns whether this server is the current leader Coordinator.
curl "http://COORDINATOR_IP:COORDINATOR_PORT/druid/coordinator/v1/isLeader"
Overlord
Get Overlord leader address
Retrieves the address of the current leader Overlord.
curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/leader"
Get Overlord leader status
Returns whether this server is the current leader Overlord.
curl "http://OVERLORD_IP:OVERLORD_PORT/druid/indexer/v1/isLeader"
Historical
Get segment load status
Returns whether all segments in the local cache have been loaded.
curl "http://HISTORICAL_IP:HISTORICAL_PORT/druid/historical/v1/loadstatus"
{
"cacheInitialized": true
}
Get segment readiness
Returns HTTP status code indicating if segments are loaded. Use for load balancer health checks.
curl "http://HISTORICAL_IP:HISTORICAL_PORT/druid/historical/v1/readiness"
Broker
Get Broker query load status
Returns whether the Broker knows about all segments in the cluster.
curl "http://BROKER_IP:BROKER_PORT/druid/broker/v1/loadstatus"
{
"inventoryInitialized": true
}
Get Broker query readiness
Returns HTTP status code indicating if the Broker is ready to accept queries.
curl "http://BROKER_IP:BROKER_PORT/druid/broker/v1/readiness"
MiddleManager
Get MiddleManager state
Retrieves the enabled state of the MiddleManager process.
curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/enabled"
{
"localhost:8091": true
}
Get active tasks
Retrieves a list of active task IDs running on the MiddleManager.
curl "http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/tasks"
[
"index_parallel_wikipedia_mgchefio_2023-06-13T22:18:05.360Z"
]
Disable MiddleManager
Disables the MiddleManager, preventing new tasks from being assigned.
curl --request POST \
"http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/disable"
{
"localhost:8091": "disabled"
}
Enable MiddleManager
Re-enables the MiddleManager to accept new tasks.
curl --request POST \
"http://MIDDLEMANAGER_IP:MIDDLEMANAGER_PORT/druid/worker/v1/enable"
{
"localhost:8091": "enabled"
}