Grafana dashboards for YDB
This page describes Grafana dashboards for YDB. For information about how to install dashboards, see Setting Up Monitoring with Prometheus and Grafana.
DB status
General database dashboard.
Download the dbstatus.json file with the DB status dashboard.
DB overview
General database dashboard by categories:
- Health
- API
- API details
- CPU
- CPU pools
- Memory
- Storage
- DataShard
- DataShard details
- Latency
Download the dboverview.json file with the DB overview dashboard.
YDB Essential Metrics
A dashboard for monitoring key database metrics.
Health
This section contains panels showing the state of cluster and database components.
| Name | Description |
|---|---|
| Nodes count | Number of running YDB nodes, in units |
| Nodes Uptime | Uptime of each node since startup; helps detect restarts and unstable nodes, in seconds |
| VDisks count | Number of available VDisks in the cluster, in units |
Saturation
This section contains panels showing database resource utilization.
| Name | Description |
|---|---|
| CPU by thread pool (dynnodes) | CPU consumption by dynamic nodes broken down by execution pools, in CPU cores |
| CPU utilization (dynnodes) | CPU utilization by dynamic nodes broken down by execution pools, in % |
| Elapsed Time vs CPU Time | Ratio of real elapsed operation time (ElapsedMicrosec) to CPU time (CpuMicrosec) by node. Persisting value above 100% means sessions spend time waiting rather than actively executing; this is typically caused by I/O waits or CPU overcommit on the hypervisor side. |
| RSS size by node | Amount of RAM (Resident set size) consumed by each dynamic node, with cgroup memory limits, in bytes |
| Storage usage | Total logical database size and its limit (if set), in bytes |
| Overloaded shard count | Number of DataShards experiencing CPU overload, grouped by CPU load range (from 50% to 100%), in units |
Traffic
This section provides panels for analyzing the database workload.
| Name | Description |
|---|---|
| Queries per second by latency buckets | Number of queries per second broken down by latency ranges (from 1 ms to +∞). Each range is highlighted with a separate color — from green for fast queries to purple for slow ones. Helps assess latency distribution and overall RPS, in req/s |
| Transactions per second by latency buckets | Number of transactions per second broken down by latency ranges (from 1 ms to +∞). Each range is highlighted with a separate color — from green for fast transactions to purple for slow ones. Helps assess latency distribution and overall TPS, in tx/s |
| Rows read, uploaded, updated, deleted | Number of table row operations per second: reads, inserts, updates, and deletes, in ops/s |
| Session count by dynnode | Number of active sessions on each dynamic node, in units |
Latency
This section contains panels showing query and transaction execution time.
| Name | Description |
|---|---|
| Query latency percentiles (ms) | Query execution time percentiles p50, p90, p95, p99, in milliseconds |
| Transaction latency percentiles (ms) | Transaction execution time percentiles p50, p90, p95, p99, in milliseconds |
Errors
This section contains panels representing error rate.
| Name | Description |
|---|---|
| YQL Issues per second | Number of YQL query execution errors broken down by error type, in errors/s |
| GRPC response errors per second | Number of gRPC responses with errors broken down by status, in errors/s |
Download the ydb-essentials.json file with the YDB Essential Metrics dashboard.
Actors
CPU utilization in an actor system.
| Name | Description |
|---|---|
| CPU by execution pool (us) | CPU utilization in different execution pools across all nodes, microseconds per second (one million indicates utilization of a single core) |
| Actor count | Number of actors (by actor type) |
| CPU | CPU utilization in different execution pools (by actor type) |
| Events | Actor system event handling metrics |
Download the actors.json file with the Actors dashboard.
CPU
CPU utilization in execution pools.
| Name | Description |
|---|---|
| CPU by execution pool | CPU utilization in different execution pools across all nodes, microseconds per second (one million indicates utilization of a single core) |
| Actor count | Number of actors (by actor type) |
| CPU | CPU utilization in each execution pool |
| Events | Event handling metrics in each execution pool |
Download the cpu.json file with the CPU dashboard.
gRPC
gRPC layer metrics.
| Name | Description |
|---|---|
| Requests | Number of requests received by a database per second (by gRPC method type) |
| Request bytes | Size of database requests, bytes per second (by gRPC method type) |
| Response bytes | Size of database responses, bytes per second (by gRPC method type) |
| Dropped requests | Number of requests per second with processing terminated at the transport layer due to an error (by gRPC method type) |
| Dropped responses | Number of responses per second with sending terminated at the transport layer due to an error (by gRPC method type) |
| Requests in flight | Number of requests that a database is simultaneously handling (by gRPC method type) |
| Request bytes in flight | Size of requests that a database is simultaneously handling (by gRPC method type) |
Download the grpc.json file with the gRPC API dashboard.
Query engine
Information about the query engine.
| Name | Description |
|---|---|
| Requests | Number of incoming requests per second (by request type) |
| Request bytes | Size of incoming requests, bytes per second (query, parameters, total) |
| Responses | Number of responses per second (by response type) |
| Response bytes | Response size, bytes per second (total, query result) |
| Sessions | Information about running sessions |
| Latencies | Request execution time histograms for different types of requests |
Download the queryengine.json file with the Query engine dashboard.
TxProxy
Information about transactions from the DataShard transaction proxy layer.
| Name | Description |
|---|---|
| Transactions | Datashard transaction metrics |
| Latencies | Execution time histograms for different stages of datashard transactions |
Download the txproxy.json file with the TxProxy dashboard.
DataShard
DataShard tablet metrics.
| Name | Description |
|---|---|
| Operations | Datashard operation statistics for different types of operations |
| Transactions | Information about datashard tablet transactions (by transaction type) |
| Latencies | Execution time histograms for different stages of custom transactions |
| Tablet latencies | Tablet transaction execution time histograms |
| Compactions | Information about LSM compaction operations performed |
| ReadSets | Information about ReadSets that are sent when executing a customer transaction |
| Other | Other metrics |
Download the datashard.json file with the DataShard dashboard.
Database Hive
Hive metrics for the selected database.
The dashboard includes the following filters:
- database – selects the database for which metrics are displayed;
- ds – selects the Prometheus data source the dashboard will use;
- Tx type – determines the transaction type for which "
{Tx type}average time" panel is displayed.
| Name | Description |
|---|---|
| CPU usage by HIVE_ACTOR, HIVE_BALANCER_ACTOR | CPU time utilized by HIVE_ACTOR and HIVE_BALANCER_ACTOR, two of the most important actors of the Hive tablet. |
| Self-ping time | Time it takes Hive to respond to itself. High values indicate heavy load (and low responsiveness) of the Hive. |
| Local transaction times | CPU time utilized by various local transaction types in Hive. Shows the structure of Hive load based on different activities. |
| Tablet count | Total number of tablets in the database. |
| Event queue size | Size of the incoming event queue in Hive. Consistently high values indicate Hive cannot process events fast enough. |
{Tx type} average time |
Average execution time of a single local transaction of the type specified in the Tx type selector on the dashboard. |
| Versions | Versions of YDB running on cluster nodes. |
| Hive node | Node where the database Hive is running. |
Download the database-hive-detailed.json file with the Database Hive dashboard.
Topic
Dasboard displays metrics for the topic selected in the corresponding dashboard filter.
| Name | Description |
|---|---|
| Total incoming records (bytes) per second | Number of bytes per second written to the topic using Ydb::TopicService::StreamWrite |
| Total incoming records (count) per second | Number of messages per second written using Ydb::TopicService::StreamWrite |
| Write latency | Time from when a message is created until it is written to the topic. Percentage of messages whose write latency falls within thresholds: <100 ms, <200 ms, etc. |
| Partition throttling | Time spent waiting for write quota to become available. Percentage of messages whose throttling time falls within thresholds: <1 ms, <5 ms, etc. |
| Partition quota usage | Utilization of the topic partitions’ write quotas, % |
| Write sessions active | Number of open write sessions to the topic |
| Write sessions created | Number of write sessions to the topic created per second |
Download the topic.json file with the Topic dashboard.
Topic — Consumer
Dasboard displays metrics for the topic and consumer selected in the corresponding dashboard filters.
| Name | Description |
|---|---|
| Total incoming records (bytes) per second | Number of bytes per second written to the topic using Ydb::TopicService::StreamWrite |
| Total outgoing records (bytes) per second | Number of bytes per second read from the topic by the consumer using Ydb::TopicService::StreamRead |
| Total incoming records (count) per second | Number of messages per second written using Ydb::TopicService::StreamWrite |
| Total outgoing records (count) per second | Number of messages per second read from the topic by the consumer using Ydb::TopicService::StreamRead |
| End-to-end latency | Time from when a message is created to when it is read by the consumer. Percentage of messages whose end-to-end latency falls within thresholds: <100 ms, <200 ms, etc. |
| Read latency max | The maximum (across all partitions) difference between the current time and the write time of the most recently written message, ms |
| Unread messages max | The maximum difference (across all partitions) between the latest offset in the partition and the last read offset, in messages |
| Read idle time max | Maximum idle time (how long the topic partition was not read by the consumer) for all partitions, ms |
| Uncommitted messages max | The maximum (across all partitions) difference between the latest partition offset and the last committed offset, in messages |
| Committed read lag max | The maximum (across all partitions) difference between the current time and the write time of the last committed message, ms |
| Partition sessions started | Number of topic read sessions started by the consumer per second |
Download the topic-consumer.json file with the Topic — Consumer dashboard.