This topic describes how to monitor OceanBase Cloud by using OBCloud Exporter and Prometheus.
Background information
OBCloud Exporter is a database data processing tool provided by OceanBase Cloud. You can use this tool to complete database authentication and data acquisition. You can then use the local Prometheus tool to monitor the database.
Prerequisites
Java 8 or later is deployed.
Docker is deployed.
Procedure
Download OBCloud Exporter.
Note
Currently, OBCloud Exporter is not available for direct download. Please contact technical support for assistance.
Deploy OBCloud Exporter.
Extract the OBCloud Exporter installation package to the
/opt/obcloud-exporterdirectory.mkdir /opt/obcloud-exporter unzip Obcloud_Exporter.zip -d /opt/obcloud-exporterAfter extraction, the directory contains the following files:
- Dockerfile: the Docker container build file.
- muticloud_metric_config.yaml: the metrics configuration file, which does not need to be modified by default.
- application.yaml: the collection configuration file.
- obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar: the OBCloud Exporter program.
- readme.md: the project description.
Edit the application.yaml configuration file.
muti_monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx end_point: xxx metric_meta_auto_refresh: false default_metric: - sql_all_rt - sql_delete_rt ## Instance information instances: instance_id: xxx tenant_id: xxx instance_type: tenant metrics: - sql_all_rt - sql_delete_rtParameter description:
Parameter Required Description Example value access_key_id Yes The authentication information. Go to My Account > Access Key to obtain it. For more information, see Manage Access Keys. ************ access_key_secret Yes The authentication information. Go to My Account > Access Key to obtain it. For more information, see Manage Access Keys. ************ end_point Yes The endpoint. For more information, see Service Endpoints. api-cloud-cn.oceanbase.com metric_meta_auto_refresh No Whether to periodically refresh the metric indicators. Default value: false. false default_metric No The default metric. When no instances are specified for collection, you can use default_metric to control the collection of specified metrics for all instances in the account. - sql_all_rt instance_id No The cluster instance ID or shared instance ID. You can specify multiple cluster and shared instance IDs separated by hyphens (-). ob************ tenant_id No - To query a specified tenant under a cluster, you must configure tenant_id. If instance_type is cluster, you can omit this parameter.
- If the instance is a shared instance, you must configure the same instance ID for both instance_id and tenant_id, and specify instance_type as tenant.
t************ instance_type No The instance type: - cluster: the monitoring metrics of the cluster host. It automatically collects the monitoring data of all tenants under the cluster.
- tenant: the monitoring metrics of the tenant database.
tenant metrics No The metric information. By default, all metrics are collected. For more information, see the Monitoring Metrics section. Note
Collecting too many metrics may affect the collection speed. In appropriate cases, you can split them into multiple exporters.
- sql_all_rt
Run OBCloud Exporter with Java.
You can use the following command to start OBCloud Exporter by specifying the configuration file.
java -Dconfig=/xx/application.yaml -jar obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar --spring.config.location=/xx/application.properties-Dconfig: (Optional) specifies the monitoring configuration file to start.--spring.config.location: (Optional) specifies the location of the program. By default, the Spring Boot actuator component is integrated and enabled, with the default port set to 8082. You can configure it as needed and access it based on the configured port.The default configuration is as follows:
server.port=-1 management.server.port=8082 management.endpoints.web.exposure.include=health,info management.endpoint.health.show-details=always
Common example:
# Start OBCloud Exporter with the default configuration. java -jar obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar # Start OBCloud Exporter with the environment configuration variable. java -jar obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar --spring.config.location=/xx/application.properties # Start OBCloud Exporter with the monitoring configuration file. java -Dconfig=/xx/application.yaml -jar obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar # Start OBCloud Exporter with the monitoring configuration file and the environment variable configuration. java -Dconfig=/xx/application.yaml -jar obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar --spring.config.location=/xx/application.propertiesVerify the deployment result by accessing the 9400 port of the corresponding IP address in a browser and checking whether the monitoring data is obtained.
Note
Actually, access the service based on the configured IP address and port.
Download Prometheus. Go to the official website and download the required version of the Prometheus installation package. For example, the following describes how to download the 2.50.1 Linux version.
wget https://github.com/prometheus/prometheus/releases/download/v2.50.1/prometheus-2.50.1.linux-amd64.tar.gzDeploy Prometheus.
Decompress and install the Prometheus software. The installation directory is
/opt/prometheus.mkdir -p /opt/prometheus tar -zxvf prometheus-2.50.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components=1Transfer the prometheus.yml configuration file to the working directory and edit it as needed.
mv /opt/prometheus/prometheus.yml /usr/local/bin/ vi /usr/local/bin/prometheus.ymlModify the following parameters:
global: scrape_interval: 30s scrape_timeout: 20s scrape_configs: - job_name: "nodes" static_configs: - targets: ['localhost:9400']Create the Prometheus service file and the related data storage directory.
mkdir /var/lib/prometheus/ sudo vim /etc/systemd/system/Prometheus.serviceFill in the following content and save it.
Note
The User and Group parameters are optional. For more information about how to set them, see the next step Set the username and user group.
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Restart=on-failure ExecStart=/opt/prometheus/prometheus \ --config.file /usr/local/bin/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ [Install] WantedBy=multi-user.target(Optional) Set the username and user group. If the user or user group specified in the previous step is not configured, you can skip this step.
sudo groupadd prometheus sudo useradd -r -g prometheus prometheus sudo chown -R prometheus:prometheus /opt/prometheus /var/lib/prometheus sudo chmod -R 755 /opt/prometheus /var/lib/prometheus
Start the Prometheus service.
# Load the new systemd configuration. sudo systemctl daemon-reload # Start the Prometheus service. sudo systemctl start prometheus # Set the service to start automatically. sudo systemctl enable prometheus # Check the service status. sudo systemctl status prometheusConfirm whether the Prometheus service is started.
sudo netstat -ntlp | grep 9090
Download OBCloud Exporter.
Note
Currently, OBCloud Exporter cannot be directly downloaded. Contact Technical Support for assistance.
Deploy OBCloud Exporter.
Decompress the OBCloud Exporter installation package. The installation directory is
/opt/obcloud-exporter.mkdir /opt/obcloud-exporter unzip Obcloud_Exporter.zip -d /opt/obcloud-exporterThe decompressed directory contains the following files:
- Dockerfile: the Docker container build file.
- muticloud_metric_config.yaml: the metric configuration file. This file does not need to be modified by default.
- application.yaml: the collection configuration file.
- obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar: the OBCloud Exporter program.
- readme.md: the project description.
Edit the application.yaml configuration file.
muti_monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx end_point: xxx metric_meta_auto_refresh: false default_metric: - sql_all_rt - sql_delete_rt ## Instance information instances: instance_id: xxx tenant_id: xxx instance_type: tenant metrics: - sql_all_rt - sql_delete_rtThe following table describes the parameters.
Parameter Required Description Example value access_key_id Yes The authentication information. For more information, see Manage AccessKeys. ************ access_key_secret Yes The authentication information. For more information, see Manage AccessKeys. ************ end_point Yes The endpoint. For more information, see Service access endpoints. api-cloud-cn.oceanbase.com metric_meta_auto_refresh No Specifies whether to automatically refresh the metrics. Default value: false. false default_metric No The default metric. If no instances are specified, you can use this parameter to specify the metrics to be collected for all instances in the account. - sql_all_rt instance_id No The ID of the cluster instance or shared instance. You can specify multiple cluster instances or shared instances. Separate them with hyphens (-). ob************ tenant_id No - To query the metrics of a specified tenant in a cluster, you must specify the tenant_id parameter. If you specify the instance_type parameter as cluster, you do not need to specify the tenant_id parameter.
- If the instance is a shared instance, you must specify the instance_id and tenant_id parameters as the same instance ID and set the instance_type parameter to tenant.
t************ instance_type No The instance type. Valid values: - cluster: the metrics of the cluster. The metrics of all tenants in the cluster are automatically collected.
- tenant: the metrics of the tenant.
tenant metrics No The metrics to be collected. Default value: all metrics. For more information, see the Metrics section in this topic. Note
Collecting too many metrics may affect the collection speed. In this case, you can split the metrics into multiple exporters.
- sql_all_rt
Start the OBCloud Exporter by using Docker.
In the /opt/obcloud-exporter directory, build the obcloud-exporter container.
cd /opt/obcloud-exporter docker build -t obcloud-exporter:1.0 .Start the container or map an external configuration file.
Start the Docker container directly.
docker run -itd -p9400:9400 --name obcloud-exporter obcloud-exporter:1.0Start the Docker container by mapping an external configuration file.
docker run -itd -p9400:9400 -v /opt/obcloud-exporter/application.yaml:/app/application.yaml --name obcloud-exporter obcloud-exporter:1.0
Verify the deployment result by using a browser. Access the 9400 port of the corresponding IP address to confirm whether the monitoring data is obtained.
Note
When you use the service, access the endpoint and port that you have configured.
Create a Prometheus configuration file, prometheus.yml.
vi /usr/local/bin/prometheus.ymlEdit the content of the configuration file:
global: scrape_interval: 30s evaluation_interval: 30s scrape_configs: - job_name: obcloud-exporter-test static_configs: # The IP address and port of the local server - targets: ['obcloud-exporter:9400'] labels: instance: obcloud-exporterStart the Prometheus service.
docker run -d \ -p 9090:9090 \ -v /usr/local/bin/prometheus.yml:/etc/prometheus/prometheus.yml \ --link obcloud-exporter \ --name prometheus \ prom/prometheusCheck whether the Prometheus service is started.
sudo netstat -ntlp | grep 9090
Download OBCloud Exporter.
Note
Currently, you cannot directly download OBCloud Exporter. Contact Technical Support for more information.
Decompress the OBCloud Exporter installation package and save it to the /opt/obcloud-exporter directory.
mkdir /opt/obcloud-exporter unzip Obcloud_Exporter.zip -d /opt/obcloud-exporterAfter decompression, the directory contains the following files:
- Dockerfile: the Docker container build file.
- muticloud_metric_config.yaml: the metric configuration file. You do not need to modify this file.
- application.yaml: the collection configuration file.
- obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar: the OBCloud Exporter program.
- readme.md: the project description.
Package and upload the OBCloud Exporter image file.
In the /opt/obcloud-exporter directory, build the obcloud-exporter container.
cd /opt/obcloud-exporter docker build -t obcloud-exporter:1.0 .Log in to the image repository of the cloud service provider. For example, log in to the Alibaba Cloud image repository. You can modify the image repository as needed.
docker login registry.cn-hangzhou.aliyuncs.com Username: ****@test.com Password:Change the image name to the name of the image repository.
docker tag obcloud-exporter:1.0 registry.cn-hangzhou.aliyuncs.com/obcloud-exporter:1.0docker push uploads the image to the image repository.
docker push registry.cn-hangzhou.aliyuncs.com/obcloud-exporter:1.0
Edit the deployment.yml file on the local server.
Create the deployment.yml file.
vi /opt/obcloud-exporter/deployment.ymlEdit the file:
apiVersion: v1 kind: ConfigMap metadata: name: exporter-config namespace: default labels: {} annotations: {} data: application.yaml: | ## Monitor name aliyun_monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx ## Endpoint end_point: xxx ## Whether to automatically refresh metric metadata. Default is false (currently only supported for Alibaba Cloud). metric_meta_auto_refresh: false ## Default metrics. If no instances are configured, you can specify the metrics to collect using default_metric. default_metric: - sql_all_rt - sql_delete_rt instances: - ## Instance ID instance_id: xxx ## Instance type: cluster (host-level metrics, including tenant-level metrics) or tenant (database-level metrics). instance_type: cluster ## Metrics to collect metrics: - sql_all_rt - sql_delete_rt - ## Instance ID instance_id: xxx ## Specify the tenant ID when querying a tenant under a cluster. This parameter is optional when instance_type is set to cluster. ## For a tenant instance, both instance_id and tenant_id must be set to the same instance ID, and instance_type must be set to tenant. tenant_id: xxx ## Instance type: cluster (host-level metrics, including tenant-level metrics) or tenant (database-level metrics). instance_type: tenant ## Metrics to collect metrics: - sql_all_rt - sql_delete_rt ## Monitor name muti_monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx ## Endpoint end_point: xxx ## Whether to automatically refresh metric metadata. Default is false (currently only supported for Alibaba Cloud). metric_meta_auto_refresh: false instances: - ## Instance ID instance_id: xxx ## Specify the tenant ID when querying a tenant under a cluster. This parameter is optional when instance_type is set to cluster. ## For a tenant instance, both instance_id and tenant_id must be set to the same instance ID, and instance_type must be set to tenant. tenant_id: xxx ## Instance type: cluster (host-level metrics, including tenant-level metrics) or tenant (database-level metrics). instance_type: tenant metrics: - sql_all_rt - sql_delete_rt --- apiVersion: apps/v1 kind: Deployment metadata: name: obcloud-exporter namespace: default spec: replicas: 1 selector: matchLabels: app: obcloud-exporter template: metadata: labels: app: obcloud-exporter spec: containers: - name: exporter image: registry.cn-hangzhou.aliyuncs.com/obcloud-exporter:1.0 env: - name: TZ value: "Asia/Shanghai" # Set the timezone command: ["java", "-jar", "/app/obcloud-exporter.jar"] imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: /actuator/health port: 8082 initialDelaySeconds: 15 periodSeconds: 20 readinessProbe: httpGet: path: / port: 9400 initialDelaySeconds: 5 periodSeconds: 10 volumeMounts: - name: config-volume mountPath: /app/application.yaml subPath: application.yaml volumes: - name: config-volume configMap: name: exporter-config --- apiVersion: v1 kind: Service metadata: name: exporter-service namespace: default spec: selector: app: obcloud-exporter ports: - protocol: TCP port: 9400 targetPort: 9400 type: ClusterIPParameter description:
Parameter Required Description Example value access_key_id Yes The authentication information. For more information, see Manage access keys. ************ access_key_secret Yes The authentication information. For more information, see Manage access keys. ************ end_point Yes The endpoint. For more information, see Service endpoints. api-cloud-cn.oceanbase.com metric_meta_auto_refresh No Specifies whether to periodically refresh the metric. Default value: false. false default_metric No The default metric. If no instances are specified, you can use this parameter to specify the metric to be collected for all instances. - sql_all_rt instance_id No The ID of the cluster instance or shared instance. You can specify multiple cluster instances or shared instances. Separate them with hyphens (-). ob************ tenant_id No - To query the specified tenant in the cluster, you must specify the tenant_id. If you specify the instance_type as cluster, you can omit the tenant_id.
- If the instance is a shared instance, you must specify the same instance ID for both the instance_id and tenant_id parameters, and set the instance_type to tenant.
t************ instance_type No The instance type. Valid values: - cluster: the cluster-level metrics. The metrics of all tenants in the cluster are automatically collected.
- tenant: the tenant-level metrics.
tenant metrics No The metric information. By default, all metrics are collected. For more information about the metrics, see the Monitoring metrics section in this topic. Note
Collecting too many metrics may affect the collection speed. In this case, you can split the metrics into multiple exporters.
- sql_all_rt After you save and update the deployment file, run the following command to apply the changes:
kubectl apply -f /opt/obcloud-exporter/deployment.yml
Create a Prometheus configuration file named prometheus.yml.
vi /opt/obcloud-exporter/prometheus.ymlEdit the content of the configuration file:
apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config namespace: default data: prometheus.yaml: | global: scrape_interval: 60s scrape_timeout: 55s scrape_configs: - job_name: "exporter" static_configs: - targets: ['exporter-service:9400'] --- apiVersion: apps/v1 kind: Deployment metadata: name: prometheus namespace: default spec: selector: matchLabels: app: prometheus template: metadata: labels: app: prometheus spec: volumes: - name: config-volume configMap: name: prometheus-config containers: - image: prom/prometheus:v2.35.0 name: prometheus args: - "--config.file=/etc/prometheus/prometheus.yaml" - "--storage.tsdb.path=/prometheus" # Specifies the TSDB data path. - "--storage.tsdb.retention.time=15d" - "--web.enable-lifecycle" # Enables hot updates. You can directly execute the command at http://localhost:30000/-/reload to take effect. ports: - containerPort: 9090 name: http securityContext: runAsUser: 0 volumeMounts: - mountPath: "/etc/prometheus" name: config-volume --- apiVersion: v1 kind: Service metadata: name: prometheus namespace: default spec: selector: app: prometheus type: NodePort ports: - name: web port: 9090 nodePort: 30000 # Specifies the default node port. targetPort: httpStart the Prometheus service.
kubectl apply -f /opt/obcloud-exporter/prometheus.yml
View database monitoring data in Prometheus
Log in to the Prometheus console at http://localhost:9090/targets and view the monitoring data.

Configuration example
Dynamically obtain instances under the account (recommended)
Collect specified metrics
## Monitor name monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx ## Endpoint end_point: xxx ## Default metrics, when no instances are configured, you can specify the metrics to collect by using default_metric. default_metric: - sql_all_rt - sql_delete_rtCollect all metrics
## Monitor name monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx ## Endpoint end_point: xxx
Collect specified clusters under the account
Collect specified metrics. You can choose instance_type as needed.
## Monitor name monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx ## Endpoint end_point: xxx instances: - ## Instance ID instance_id: xxx tenant_id: xxx instance_type: tenant metrics: - sql_all_rt - sql_delete_rtCollect all metrics. When instance_type is set to cluster, both host metrics of the cluster and tenant database metrics of the cluster are collected.
## Monitor name monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx end_point: xxx instances: instance_id: xxx instance_type: clusterCollect all tenant database metrics. When instance_type is set to tenant, only tenant database metrics of the specified tenant are collected.
## Monitor name monitor: ## Credentials credential: access_key_id: xxx access_key_secret: xx end_point: xxx instances: instance_id: xxx tenant_id: xx instance_type: tenant
Collect multiple accounts
## Monitor name
aliyun:
## Credentials
credential:
access_key_id: xxx
access_key_secret: xx
end_point: xxx
## Monitor name
muti:
## Credentials
credential:
access_key_id: xxx
access_key_secret: xx
## Endpoint
end_point: xxx
List of metrics
Host metrics
| Metric | Description | Unit |
|---|---|---|
| load1 | The average load of the system in the last minute. | - |
| load5 | The average load of the system in the last 5 minutes. | - |
| load15 | The average load of the system in the last 15 minutes. | - |
| cpu_percent | The CPU usage. | % |
| memory_buffers | The size of the kernel buffer cache. | GiB |
| memory_cached | The size of memory used for caching. | GiB |
| memory_free | The size of available physical memory. | GiB |
| memory_used | The percentage of physical memory used. | % |
| net_recv | The amount of data received per second. | MiB |
| net_send | The amount of data sent per second. | MiB |
| net_throughput | The network throughput. | MiB |
| ntp_offset_milliseconds | The offset of the NTP clock. | ms |
| io_read | The number of read operations per second. | times/s |
| io_write | The number of write operations per second. | times/s |
| io_time | The I/O time. | ms |
| io_read_time | The average I/O read time. | ms |
| io_write_time | The average I/O write time. | ms |
| io_byte | The average I/O data volume per second. | MiB |
| io_read_byte | The data volume of each read operation. | MiB |
| io_write_byte | The data volume of each write operation. | MiB |
| ob_data_disk_percent | The usage of the OB data disk. | % |
| ob_clog_disk_percent | The usage of the OB log disk. | % |
| ob_data_disk_used_size | The disk usage. | GiB |
| ob_process_exists | The status of the OB process. | - |
| ob_clog_io | The average number of I/O operations per second on the OB log disk. | times/s |
| ob_clog_io_read | The average number of read I/O operations per second on the OB log disk. | times/s |
| ob_clog_io_write | The average number of write I/O operations per second on the OB log disk. | times/s |
| ob_clog_io_read_time | The average I/O read time. | ms |
| ob_clog_io_time | The average I/O time. | ms |
| ob_clog_io_write_time | The average I/O write time. | ms |
| ob_clog_io_byte | The average I/O data volume per second on the OB log disk. | MiB |
| ob_clog_io_read_byte | The I/O data volume read per second on the OB log disk. | MiB |
| ob_clog_io_write_byte | The I/O data volume written per second on the OB log disk. | MiB |
| ob_clog_io_util | The I/O busy ratio of the OB log disk. | % |
| ob_data_io | The average number of I/O operations per second on the OB data disk. | times/s |
| ob_data_io_read | The average number of read I/O operations per second on the OB data disk. | times/s |
| ob_data_io_write | The average number of write I/O operations per second on the OB data disk. | times/s |
| ob_data_io_read_time | The average I/O read time. | ms |
| ob_data_io_time | The average I/O time. | ms |
| ob_data_io_write_time | The average I/O write time. | ms |
| ob_data_io_byte | The average I/O data volume per second on the OB data disk. | MiB |
| ob_data_io_read_byte | The I/O data volume read per second on the OB data disk. | MiB |
| ob_data_io_write_byte | The I/O data volume written per second on the OB data disk. | MiB |
| ob_data_io_util | The I/O busy ratio of the OB data disk. | % |
Tenant database
Performance and SQL
| Metric Name | Description | Unit |
|---|---|---|
| sql_all_count | The number of SQL statements processed per second. | times/s |
| sql_delete_count | The number of Delete statements processed per second. | times/s |
| sql_insert_count | The number of Insert statements processed per second. | times/s |
| sql_other_count | The number of other statements such as DDL, DCL, and DTL statements processed per second. | times/s |
| sql_replace_count | The number of Replace statements processed per second. | times/s |
| sql_select_count | The number of Select statements processed per second. | times/s |
| sql_update_count | The number of Update statements processed per second. | times/s |
| sql_all_rt | The average processing time of an SQL statement. | ms |
| sql_delete_rt | The average processing time of a Delete statement. | ms |
| sql_insert_rt | The average processing time of an Insert statement. | ms |
| sql_other_rt | The average processing time of other statements such as DDL, DCL, and DTL statements. | ms |
| sql_replace_rt | The average processing time of a Replace statement. | ms |
| sql_select_rt | The average processing time of a Select statement. | ms |
| sql_update_rt | The average processing time of an Update statement. | ms |
| active_session | The number of active sessions. | - |
| all_session | The number of sessions. | - |
| sql_distributed_count | The number of distributed execution plans processed per second. | times/s |
| sql_local_count | The number of local executions processed per second. | times/s |
| sql_remote_count | The number of remote execution plans processed per second. | times/s |
| system_event_internal_total_waits | The number of internal wait events per second. | times/s |
| system_event_io_total_waits | The number of I/O wait events per second. | times/s |
| system_event_latch_total_waits | The number of latch wait events per second. | times/s |
| system_event_other_total_waits | The number of other wait events per second. | times/s |
| system_event_row_lock_wait_total_waits | The number of lock wait events per second. | times/s |
| system_event_sync_rpc_total_waits | The number of synchronous RPC wait events per second. | times/s |
| wait_event_count | The number of wait events per second. | times/s |
| wait_event_rt | The average wait time. | ms |
| request_dequeue_count | The number of requests dequeued from the processing queue per second. | times/s |
| request_enqueue_count | The number of requests enqueued to the processing queue per second. | times/s |
| request_queue_time | The average wait time of an SQL request in the wait queue. | μs |
| ob_cpu_percent | The CPU usage of the tenant threads. | - |
| memstore_percent | The percentage of MEMStore usage. | - |
| rpc_packet_in_rt | The average receive time of an RPC packet. | μs |
| rpc_packet_out_rt | The average send time of an RPC packet. | μs |
| rpc_packet_in | The throughput of RPC packets received per second. | byte |
| rpc_packet_out | The throughput of RPC packets sent per second. | byte |
| opened_cursors_count | The number of open cursors. | - |
| uptime | The available time. | s |
Transactions
| Metric Name | Description | Unit |
|---|---|---|
| transaction_commit_count | The number of committed transactions per second. | times/s |
| transaction_count | TPS | times/s |
| transaction_rollback_count | The number of rolled back transactions per second. | times/s |
| transaction_timeout_count | The number of timed out transactions per second. | times/s |
| transaction_commit_rt | The average commit time of a transaction. | ms |
| transaction_rollback_rt | The average rollback time of a transaction. | ms |
| transaction_rt | The average processing time of a transaction on the server. | ms |
| trans_commit_log_count | The number of transaction logs committed per second. | times/s |
| clog_trans_log_total_size | The size of transaction logs committed per second. | byte |
| memstore_write_lock_fail_count | The number of write lock wait failures per second. | times/s |
| memstore_write_lock_succ_count | The number of write lock wait successes per second. | times/s |
| memstore_write_lock_wait_time | The average write lock wait time. | μs |
| transaction_multi_partition_count | The number of distributed transactions per second. | times/s |
| transaction_single_partition_count | The number of regular transactions per second. | times/s |
| trans_commit_log_sync_rt | The average network synchronization time of a transaction log. | μs |
Storage and cache
| Metric | Description | Unit |
|---|---|---|
| active_memstore_used | The size of the active MEMStore. | MiB |
| major_freeze_trigger | The threshold for triggering a major compaction. | MiB |
| memstore_limit | The limit of the MEMStore. | MiB |
| total_memstore_used | The total size of the MEMStore. | MiB |
| io_count | The number of I/O operations per second (IOPS) for the SSStore. | times/s |
| io_read_count | The number of read operations per second for the SSStore. | times/s |
| io_write_count | The number of write operations per second for the SSStore. | times/s |
| io_rt | The I/O latency. | μs |
| io_read_rt | The average read latency for the SSStore. | μs |
| io_write_rt | The average write latency for the SSStore. | μs |
| io_size | The amount of data processed per second by the SSStore. | byte |
| io_read_size | The amount of data read per second by the SSStore. | byte |
| io_write_size | The amount of data written per second by the SSStore. | byte |
| block_cache_size | The size of the block cache. | MiB |
| bloom_filter_cache_size | The size of the bloom filter cache. | MiB |
| clog_cache_size | The size of the Clog cache. | MiB |
| location_cache_size | The size of the location cache. | MiB |
| plan_cache_size | The size of the execution plan cache. | MiB |
| row_cache_size | The size of the row cache. | MiB |
| block_cache_hit_ratio | The hit ratio of the block cache. | - |
| bloom_filter_cache_hit_ratio | The hit ratio of the bloom filter cache. | - |
| clog_cache_hit_ratio | The hit ratio of the Clog cache. | - |
| location_cache_hit_ratio | The hit ratio of the location cache. | - |
| plan_cache_hit_ratio | The hit ratio of the execution plan cache. | - |
| row_cache_hit_ratio | The hit ratio of the row cache. | - |
| block_cache_req_total | The total number of block cache requests. | - |
| bloom_filter_cache_req_total | The total number of bloom filter cache requests. | - |
| clog_cache_req_total | The total number of Clog cache requests. | - |
| location_cache_req_total | The total number of location cache requests. | - |
| row_cache_req_total | The total number of row cache requests. | - |
| ob_tenant_binlog_disk_used | The size of the binlog disk used by the tenant. | GiB |
| ob_tenant_log_disk_total_bytes | The total size of the log disk. | GiB |
| ob_tenant_log_disk_used_bytes | The size of the log disk used by the tenant. | GiB |
| ob_tenant_disk_used_percentage | The percentage of the tenant disk space used. | % |
| ob_tenant_data_size | The size of the tenant disk space used. | GiB |