Skip to main content
Version: 0.17

Admin API

tip

Note that all Admin API endpoints in this document listen on Metasrv's HTTP_PORT, which defaults to 4000.

The Admin API provides a simple way to view cluster information, including metasrv health detection, metasrv leader query, database metadata query, and datanode heartbeat detection.

The Admin API is an HTTP service that provides a set of RESTful APIs that can be called through HTTP requests. The Admin API is simple, user-friendly and safe. Available APIs:

  • /health
  • /leader
  • /heartbeat
  • /maintenance

All these APIs are under the parent resource /admin.

In the following sections, we assume that your metasrv instance is running on localhost port 4000.

/health HTTP endpoint​

The /health endpoint accepts GET HTTP requests and you can use this endpoint to check the health of your metasrv instance.

Definition​

curl -X GET http://localhost:4000/admin/health

Examples​

Request​

curl -X GET http://localhost:4000/admin/health

Response​

OK

/leader HTTP endpoint​

The /leader endpoint accepts GET HTTP requests and you can use this endpoint to query the leader's addr of your metasrv instance.

Definition​

curl -X GET http://localhost:4000/admin/leader

Examples​

Request​

curl -X GET http://localhost:4000/admin/leader

Response​

127.0.0.1:4000

/heartbeat HTTP endpoint​

The /heartbeat endpoint accepts GET HTTP requests and you can use this endpoint to query the heartbeat of all datanodes.

You can also query the heartbeat data of the datanode for a specified addr, however, specifying addr in the path is optional.

Definition​

curl -X GET http://localhost:4000/admin/heartbeat
Query String ParameterTypeOptional/RequiredDefinition
addrStringOptionalThe addr of the datanode.

Examples​

Request​

curl -X GET 'http://localhost:4000/admin/heartbeat?addr=127.0.0.1:4100'

Response​

[
[{
"timestamp_millis": 1677049348651,
"cluster_id": 0,
"id": 1,
"addr": "127.0.0.1:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049344048,
"cluster_id": 0,
"id": 1,
"addr": "0.0.0.0:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049343624,
"cluster_id": 0,
"id": 1,
"addr": "127.0.0.1:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049339036,
"cluster_id": 0,
"id": 1,
"addr": "0.0.0.0:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049338609,
"cluster_id": 0,
"id": 1,
"addr": "127.0.0.1:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049334019,
"cluster_id": 0,
"id": 1,
"addr": "0.0.0.0:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049333592,
"cluster_id": 0,
"id": 1,
"addr": "127.0.0.1:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049329002,
"cluster_id": 0,
"id": 1,
"addr": "0.0.0.0:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049328573,
"cluster_id": 0,
"id": 1,
"addr": "127.0.0.1:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}, {
"timestamp_millis": 1677049323986,
"cluster_id": 0,
"id": 1,
"addr": "0.0.0.0:4100",
"is_leader": false,
"rcus": 0,
"wcus": 0,
"table_num": 0,
"region_num": 2,
"cpu_usage": 0.0,
"load": 0.0,
"read_io_rate": 0.0,
"write_io_rate": 0.0,
"region_stats": []
}]
]

/maintenance HTTP endpoint​

Cluster Maintenance Mode is a safety feature in GreptimeDB that temporarily disables automatic cluster management operations. This mode is particularly useful during cluster upgrades, planned downtime, and any operation that might temporarily affect cluster stability. For more details, please refer to Cluster Maintenance Mode.

/procedure-manager HTTP endpoint​

This endpoint is used to manage the Procedure Manager status. For more details, please refer to Prevent Metadata Changes.