Database Monitoring & Performance Insights
TL;DR — Open the Insights tab on a cluster to see live CPU, memory, disk, connection, and engine-specific charts. PostgreSQL updates every 30 seconds with a rolling 60-point window; other engines pull historical ranges from the metrics API.
Where to Find Metrics
- Go to
/cloudpanel/databases - Click your cluster
- Open the Insights tab
You'll see a grid of charts. Each chart shows:
- The metric name
- A last value badge in the top-right
- A Live badge (PostgreSQL only) when streaming from Prometheus
- A refresh button for non-live charts
- A coloured tooltip on hover with the exact timestamp + value
Available Metrics — By Engine
PostgreSQL (live, 30-second polling)
| Chart | Type | What It Measures |
|---|---|---|
| CPU Usage | Area | Percentage of CPU consumed (0–100%) |
| Memory Usage | Area | Percentage of RAM in use |
| Disk Usage | Area | Percentage of allocated storage used |
| Load Average (1m) | Line | UNIX load average, 1-minute window |
| Active Connections | Line | Currently open backend connections |
| Cache Hit Rate | Area | % of reads served from the in-memory buffer cache (PG-specific) |
MySQL (historical, refreshable)
| Chart | Type | What It Measures |
|---|---|---|
| CPU Usage | Area | % CPU |
| Memory Usage | Area | % RAM |
| Disk Usage | Area | % storage |
| Active Connections | Line | Open connections |
| Load Average (1m) | Line | 1-minute load |
| Query Rate | Line | SELECT statements per second |
MongoDB, Valkey, Kafka, OpenSearch
| Chart | Type | What It Measures |
|---|---|---|
| CPU Usage | Area | % CPU |
| Memory Usage | Area | % RAM |
| Disk Usage | Area | % storage |
| Load Average (1m) | Line | 1-minute load |
What "Healthy" Looks Like
| Metric | Healthy | Investigate at | Critical |
|---|---|---|---|
| CPU | < 60% sustained | > 75% sustained | > 90% for many minutes |
| Memory | < 80% | > 85% | > 95% |
| Disk | < 70% | > 80% | > 90% (act before 100%) |
| Active Connections | < 60% of max | > 80% of max | Reaching max |
| PG Cache Hit Rate | > 99% | < 95% | < 85% |
When to Act
High CPU
- Look at your application's query patterns — missing index, inefficient join, or large sequential scan
- Run
EXPLAIN ANALYZEon slow queries - Add an index, rewrite the query, or resize the cluster up a tier
High Memory
- PostgreSQL: tune
work_memandshared_buffersif you've set custom values; otherwise the defaults are fine and you likely need more RAM (resize up) - MongoDB: the working set may have outgrown RAM; sustained high memory is fine as long as performance is acceptable
- Valkey: you've stored more than the cluster can hold — increase tier or implement key eviction
High Disk
- Identify large tables / collections with engine-specific queries
- Truncate or archive cold data
- Resize the cluster up a tier (storage scales with tier)
- Drop unused indexes (they cost disk and write performance)
High Connections
- You're connecting from too many app servers or your driver isn't pooling — set up a Connection Pool
- Long-running idle transactions are holding connections — check for forgotten
BEGINs in your application
Low PG Cache Hit Rate
- The buffer cache can't hold your working set — either the data is bigger than RAM, or sequential scans are blowing the cache. Add indexes or resize up.
Maintenance-Pending Banner
If maintenance is scheduled for the cluster, you'll see a banner above the charts showing the upcoming day + hour UTC and an Update pending badge. Schedule downtime accordingly — see Maintenance & Scaling.
When Metrics Are Unavailable
Charts show "Metrics unavailable" until the cluster reaches the Online status. New clusters start populating data within a few minutes of provisioning.
If a chart shows "no data" after the cluster is online for more than 10 minutes, refresh the page or check the cluster's status indicator.
Forwarding Metrics to Your Observability Stack
For long-term retention or correlation with your application metrics:
- Use the Log Forwarding feature to send slow-query and event logs to Datadog, OpenSearch, Papertrail, or rsyslog.
- Many observability platforms can also scrape Prometheus exporters — contact support if you need a dedicated metrics endpoint.
Frequently Asked Questions
How often are metrics refreshed?
PostgreSQL: every 30 seconds, live. MySQL and others: on page load and on click of the refresh button.
How far back can I see history?
The Insights tab is for current-state diagnostics — for long-term retention, forward to Datadog / OpenSearch (see Log Forwarding).
Are read replicas monitored separately?
Yes. Open the replica from the cluster list — each replica has its own Insights tab.
Where is the slow query log?
Slow query logs are written by the engine and accessible via log forwarding (Datadog, OpenSearch, Papertrail, rsyslog). They are not surfaced directly in the dashboard.
Can I alert on these metrics?
Set alerts in your forwarding destination (Datadog, OpenSearch). For email notifications, use the Datadog or OpenSearch alerting features.