Overview
You can call this API to query single-dimensional or multi-dimensional metric data of an OceanBase cluster.
API details
Constraints
The caller must have an AccessKey for accessing APIs of OceanBase Cloud. For information about how to obtain the AccessKey ID and AccessKey secret, see Manage AccessKeys.
Request path
POST /api/v2/services/DescribeMetricsData
Request parameters
Body
| Parameter | Type | Required | Description | Example value |
|---|---|---|---|---|
| instanceId | String | Yes | The ID of the OceanBase cluster. | ob317v4uif**** |
| startTime | String | Yes | The start of the time range for querying metric data. The value must be UTC time in the format of YYYY-MM-DDThh:mm:ssZ. | 2021-06-13T15:40:43Z |
| endTime | String | Yes | The end of the time range for querying monitoring data. The value must be UTC time in the format of YYYY-MM-DDThh:mm:ssZ. | 2021-09-13T15:40:43Z |
| metrics | List |
Yes | The list of names of the metrics to query. | toal_sessions_tenant |
| tenantIdList | List |
No | The list of tenant IDs. | t4tx6u5tc**** |
| nodeIdList | List |
No | The list of OBServer node IDs. | i-0104c6fb57e6e**** |
| labels | String | Yes | A string of key-value pairs separated with commas (,). Each key and its value are separated with a colon (:). For example: "app:OB,clusterId:ob*****,tenantId:t******,serverId:*****,zoneId:cn-hangzhou-j". The string can contain only the following fixed keys:
|
app:OB,clusterId:ob*** |
| groupByLabels | String | Yes | The one or more keys used for grouping. Separate multiple keys with commas (,). Example: "app,clusterId,tenantId". | app,clusterId |
| sortMetricKey | String | No | The column used for sorting. | tps |
| sortOrder | String | No | The sorting rule. Valid values:
|
DESC |
| limit | String | No | The length of the data array returned after sorting. | 5 |
Response parameters
| Parameter | Type | Description | Example value |
|---|---|---|---|
| tenantId | String | The ID of the tenant. | sys |
| data | List | The metric data of the tenant. | [{"sql_all_count":16.39, "timestamp":1698217920},{"sql_all_count":16.11,"timestamp":1698214980},{"sql_all_count":16.43,"timestamp":1698216900}],"clusterId":"ob568006pe74kg"}, ...... ] |
Examples
Request example
curl --digest -u 'AccessKeyID:AccessKeySecret' \
--request POST \
--url https://api-cloud.oceanbase.com/api/v2/services/DescribeMetricsData\
-H 'X-Ob-Project-Id: <Project ID>'
--data \
'{"InstanceId":"obmt5344s5grrpcw","StartTime":"2023-10-24T20:51:40Z","EndTime":"2023-10-25T02:51:40Z","Metrics":"sql_all_rt,sql_delete_rt,sql_insert_rt,sql_other_rt,sql_replace_rt,sql_select_rt,sql_update_rt","Labels":"clusterId:obmt5344s5grrpcw,tenantId:obmt5344s5grrpcw","GroupByLabels":"clusterId,tenantId"}'
Note
A project ID uniquely identifies a project. For information about how to obtain the project ID of an instance, see Manage projects.
Response example
JSON format
{
"Code":200,
"Cost":91,
"Data":[
{
"tenantId":"sys",
"Data":[
{
"sql_all_count":16.39,
"timestamp":1698217920
},
{
"sql_all_count":16.11,
"timestamp":1698214980
},
{
"sql_all_count":16.43,
"timestamp":1698216900
}
],
"clusterId":"ob****06pe74kg"
},
{
"tenantId":"t****h898auo0",
"Data":[
{
"sql_all_count":0.0,
"timestamp":1698217920
},
{
"sql_all_count":0.0,
"timestamp":1698214980
},
{
"sql_all_count":0.0,
"timestamp":1698216900
}
],
"clusterId":"ob****06pe74kg"
}
],
"Deletable":false,
"ErrorCode":"",
"Message":"successful",
"RequestId":"",
"Success":true,
"Trace":"6F95****-2961-4CEB-****-717E22A5****"
}
Cluster monitoring metrics
| Metric name | Description | Measurement dimension |
|---|---|---|
| sql_all_count | The number of SQL statements processed per second. | Cluster and server |
| sql_delete_count | The number of DELETE statements processed per second. | Cluster and server |
| sql_insert_count | The number of INSERT statements processed per second. | Cluster and server |
| sql_other_count | The number of other statements that are processed per second, such as data definition language (DDL), data control language (DCL), and data transaction language (DTL) statements. | Cluster and server |
| sql_replace_count | The number of REPLACE statements processed per second. | Cluster and server |
| sql_select_count | The number of SELECT statements processed per second. | Cluster and server |
| sql_update_count | The number of UPDATE statements processed per second. | Cluster and server |
| sql_all_rt | The average amount of time spent in processing an SQL statement. | Cluster and server |
| sql_delete_rt | The average amount of time spent in processing a DELETE statement. | Cluster and server |
| sql_insert_rt | The average amount of time spent in processing an INSERT statement. | Cluster and server |
| sql_other_rt | The average amount of time spent in processing each of other statements such as DDL, DCL, and DTL statements. | Cluster and server |
| sql_replace_rt | The average amount of time spent in processing a REPLACE statement. | Cluster and server |
| sql_select_rt | The average amount of time spent in processing a SELECT statement. | Cluster and server |
| sql_update_rt | The average amount of time spent in processing an UPDATE statement. | Cluster and server |
| transaction_commit_count | The number of transactions committed per second. | Cluster and server |
| transaction_count | The number of transactions processed per second. | Cluster and server |
| transaction_rollback_count | The number of transactions rolled back per second. | Cluster and server |
| transaction_timeout_count | The number of transactions that time out per second. | Cluster and server |
| transaction_commit_rt | The average amount of time spent in committing a transaction. | Cluster and server |
| transaction_rollback_rt | The average amount of time spent in rolling back a transaction. | Cluster and server |
| transaction_rt | The average amount of time spent in processing a transaction. | Cluster and server |
| active_session | The number of active sessions. | Cluster and server |
| all_session | The total number of sessions. | Cluster and server |
| request_queue_time | The average wait time of an SQL statement in a queue. | Cluster and server |
| trans_commit_log_count | The number of transaction logs committed per second. | Cluster and server |
| clog_trans_log_total_size | The total size of transaction logs committed per second. | Cluster and server |
| io_count | The number of I/O operations performed on the SSStore per second. | Cluster and server |
| io_read_count | The number of reads from the SSStore per second. | Cluster and server |
| io_write_count | The number of writes to the SSStore per second. | Cluster and server |
| io_read_rt | The average amount of time spent on each SSStore read. | Cluster and server |
| io_rt | I/O time | Cluster and server |
| io_write_rt | The average amount of time spent on each SSStore write. | Cluster and server |
| io_read_size | The amount of data read from the SSStore per second. | Cluster and server |
| io_size | The amount of data processed per second in the SSStore. | Cluster and server |
| io_write_size | The amount of data written to the SSStore per second. | Cluster and server |
| transaction_multi_partition_count | The number of distributed transactions per second. | Cluster and server |
| transaction_partition_count | The number of transactions per second. | Cluster and server |
| transaction_single_partition_count | The number of regular transactions per second. | Cluster and server |
| trans_commit_log_sync_rt | The average time spent on each synchronization of transaction logs over the network | Cluster and server |
| load1 | The average system load in the last minute. | Cluster and server |
| load15 | The average system load in the last 15 minutes. | Cluster and server |
| load5 | The average system load in the last 5 minutes. | Cluster and server |
| cpu_percent | The CPU utilization. | Cluster and server |
| memory_buffers | The size of the kernel buffer cache | Cluster and server |
| memory_cached | The size of cached memory. | Cluster and server |
| memory_free | The size of the available physical memory. | Cluster and server |
| memory_used | The size of the physical memory used. | Cluster and server |
| io | The average number of I/O operations per second. | Cluster and server |
| io_read | The number of reads per second. | Cluster and server |
| io_write | The number of writes per second. | Cluster and server |
| io_read_time | The average amount of time spent on each I/O read. | Cluster and server |
| io_time | I/O time | Cluster and server |
| io_write_time | The average amount of time spent on an I/O write. | Cluster and server |
| io_byte | The average I/O throughput per second. | Cluster and server |
| io_read_byte | The amount of data read each time. | Cluster and server |
| io_write_byte | The amount of data written each time. | Cluster and server |
| net_recv | The amount of data received per second. | Cluster and server |
| net_send | The amount of data sent per second. | Cluster and server |
| net_throughput | The network throughput. | Cluster and server |
| ntp_offset_milliseconds | The Network Time Protocol (NTP) clock offset. | Cluster and server |
| ob_data_disk_percent | The data disk usage. | Cluster and server |
| ob_clog_disk_percent | The log disk usage. | Cluster and server |
| ob_data_disk_used_size | The size of occupied data disk space. | Cluster and server |
| ob_process_exists | The status of the observer process. | Cluster and server |
Tenant monitoring metrics
| Metric name | Description | Measurement dimension |
|---|---|---|
| sql_all_count | The number of SQL statements processed per second. | Cluster, tenant, and server |
| sql_delete_count | The number of DELETE statements processed per second. | Cluster, tenant, and server |
| sql_insert_count | The number of INSERT statements processed per second. | Cluster, tenant, and server |
| sql_other_count | The number of other statements that are processed per second, such as data definition language (DDL), data control language (DCL), and data transaction language (DTL) statements. | Cluster, tenant, and server |
| sql_replace_count | The number of REPLACE statements processed per second. | Cluster, tenant, and server |
| sql_select_count | The number of SELECT statements processed per second. | Cluster, tenant, and server |
| sql_update_count | The number of UPDATE statements processed per second. | Cluster, tenant, and server |
| sql_all_rt | The average amount of time spent in processing an SQL statement. | Cluster, tenant, and server |
| sql_delete_rt | The average amount of time spent in processing a DELETE statement. | Cluster, tenant, and server |
| sql_insert_rt | The average amount of time spent in processing an INSERT statement. | Cluster, tenant, and server |
| sql_other_rt | The average amount of time spent in processing each of other statements such as DDL, DCL, and DTL statements. | Cluster, tenant, and server |
| sql_replace_rt | The average amount of time spent in processing a REPLACE statement. | Cluster, tenant, and server |
| sql_select_rt | The average amount of time spent in processing a SELECT statement. | Cluster, tenant, and server |
| sql_update_rt | The average amount of time spent in processing an UPDATE statement. | Cluster, tenant, and server |
| active_session | The number of active sessions. | Cluster, tenant, and server |
| all_session | The total number of sessions. | Cluster, tenant, and server |
| sql_distributed_count | The number of distributed execution plans processed per second. | Cluster, tenant, and server |
| sql_local_count | The number of local execution plans processed per second. | Cluster, tenant, and server |
| sql_remote_count | The number of remote execution plans processed per second. | Cluster, tenant, and server |
| system_event_internal_total_waits | The number of internal wait events that occur per second. | Cluster, tenant, and server |
| system_event_io_total_waits | The number of I/O wait events that occur per second. | Cluster, tenant, and server |
| system_event_latch_total_waits | The number of latch wait events that occur per second. | Cluster, tenant, and server |
| system_event_other_total_waits | The number of other types of wait events that occur per second. | Cluster, tenant, and server |
| system_event_row_lock_wait_total_waits | The average wait time for a lock. | Cluster, tenant, and server |
| system_event_sync_rpc_total_waits | The average wait time of a synchronization RPC wait event. | Cluster, tenant, and server |
| wait_event_count | The number of wait events that occur per second. | Cluster, tenant, and server |
| system_event_internal_time_waited | The average wait time of an internal wait event. | Cluster, tenant, and server |
| wait_event_rt | The average wait time of a wait event. | Cluster, tenant, and server |
| request_dequeue_count | The number of requests exiting the queue. | Cluster, tenant, and server |
| request_enqueue_count | The number of requests entering the queue. | Cluster, tenant, and server |
| request_queue_time | The average wait time of an SQL statement in a queue. | Cluster, tenant, and server |
| ob_cpu_percent | The CPU utilization. | Cluster, tenant, and server |
| memstore_percent | The MemStore usage. | Cluster, tenant, and server |
| rpc_packet_in_rt | The average time spent in receiving an RPC packet. | Cluster, tenant, and server |
| rpc_packet_out_rt | The average time spent in sending an RPC packet. | Cluster, tenant, and server |
| rpc_packet_in | The RPC packet receiving throughput. | Cluster, tenant, and server |
| rpc_packet_out | The RPC packet sending throughput. | Cluster, tenant, and server |
| opened_cursors_count | The number of open cursors. | Cluster, tenant, and server |
| transaction_commit_count | The number of transactions committed per second. | Cluster, tenant, and server |
| transaction_count | The number of transactions processed per second. | Cluster, tenant, and server |
| transaction_rollback_count | The number of transactions rolled back per second. | Cluster, tenant, and server |
| transaction_timeout_count | The number of transactions that time out per second. | Cluster, tenant, and server |
| transaction_commit_rt | The average amount of time spent in committing a transaction. | Cluster, tenant, and server |
| transaction_rollback_rt | The average amount of time spent in rolling back a transaction. | Cluster, tenant, and server |
| transaction_rt | The average amount of time spent in processing a transaction. | Cluster, tenant, and server |
| trans_commit_log_count | The number of transaction logs committed per second. | Cluster, tenant, and server |
| clog_trans_log_total_size | The total size of transaction logs committed per second. | Cluster, tenant, and server |
| memstore_write_lock_fail_count | The number of failed write lock waits. | Cluster, tenant, and server |
| memstore_write_lock_succ_count | The number of successful write lock waits. | Cluster, tenant, and server |
| memstore_write_lock_wait_time | The average wait time of each write lock. | Cluster, tenant, and server |
| transaction_multi_partition_count | The number of distributed transactions per second. | Cluster, tenant, and server |
| transaction_single_partition_count | The number of regular transactions per second. | Cluster, tenant, and server |
| trans_commit_log_sync_rt | The average time spent on each synchronization of transaction logs over the network | Cluster, tenant, and server |
| active_memstore_used | The total size of active MemStores. | Cluster, tenant, and server |
| major_freeze_trigger | The threshold for triggering a major compaction. | Cluster, tenant, and server |
| memstore_limit | The maximum total size of all MemStores. | Cluster, tenant, and server |
| total_memstore_used | The total size of MemStores. | Cluster, tenant, and server |
| io_read_count | The number of reads from the SSStore per second. | Cluster, tenant, and server |
| io_write_count | The number of writes to the SSStore per second. | Cluster, tenant, and server |
| io_read_rt | The average amount of time spent on each SSStore read. | Cluster, tenant, and server |
| io_write_rt | The average amount of time spent on each SSStore write. | Cluster, tenant, and server |
| io_read_size | The amount of data read from the SSStore per second. | Cluster, tenant, and server |
| io_write_size | The amount of data written to the SSStore per second. | Cluster, tenant, and server |
| bloom_filter_cache_size | The size of the Bloom filter cache. | Cluster, tenant, and server |
| clog_cache_size | The size of the clog cache. | Cluster, tenant, and server |
| location_cache_size | The size of the location cache. | Cluster, tenant, and server |
| plan_cache_size | The size of the plan cache. | Cluster, tenant, and server |
| row_cache_size | The size of the row cache. | Cluster, tenant, and server |
| block_cache_hit_ratio | The hit rate of the block cache. | Cluster, tenant, and server |
| bloom_filter_cache_hit_ratio | The hit rate of the Bloom filter cache. | Cluster, tenant, and server |
| clog_cache_hit_ratio | The hit rate of the clog cache. | Cluster, tenant, and server |
| location_cache_hit_ratio | The hit rate of the location cache. | Cluster, tenant, and server |
| plan_cache_hit_ratio | The hit rate of the plan cache. | Cluster, tenant, and server |
| row_cache_hit_ratio | The hit rate of the row cache. | Cluster, tenant, and server |
| block_cache_req_total | The number of block cache requests. | Cluster, tenant, and server |
| bloom_filter_cache_req_total | The number of Bloom filter cache requests. | Cluster, tenant, and server |
| clog_cache_req_total | The number of clog cache requests. | Cluster, tenant, and server |
| location_cache_req_total | The number of location cache requests. | Cluster, tenant, and server |
| row_cache_req_total | The number of row cache requests. | Cluster, tenant, and server |
| ob_tenant_binlog_disk_used | The size of disk space occupied by binlogs. | Cluster, tenant, and server |