Skip to main content
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:
ServicePort
Coordinator8081
Overlord8081
Router8888
Broker8082
Historical8083
MiddleManager8091

Get service information

Retrieves Druid version, loaded extensions, memory usage, and other service information.
curl "http://ROUTER_IP:ROUTER_PORT/status"
version
string
Druid version number.
modules
array
Array of loaded extension modules with name, artifact, and version.
memory
object
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"
true

Get configuration properties

Retrieves the current configuration properties for the service.
curl "http://ROUTER_IP:ROUTER_PORT/status/properties"
properties
object
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"
http://localhost:8081

Get Coordinator leader status

Returns whether this server is the current leader Coordinator.
curl "http://COORDINATOR_IP:COORDINATOR_PORT/druid/coordinator/v1/isLeader"
{
    "leader": true
}

Overlord

Get Overlord leader address

Retrieves the address of the current leader Overlord.
curl "http://ROUTER_IP:ROUTER_PORT/druid/indexer/v1/leader"
http://localhost:8081

Get Overlord leader status

Returns whether this server is the current leader Overlord.
curl "http://OVERLORD_IP:OVERLORD_PORT/druid/indexer/v1/isLeader"
{
    "leader": true
}

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

Build docs developers (and LLMs) love