Your Whole Database Tier, From the Agent You Already Installed
PostgreSQL, MySQL and MariaDB with Galera cluster state, Redis and Valkey, and Memcached - each read over its own native interface. No postgres_exporter to deploy, no Grafana dashboards to build, and nothing extra running next to your database.
Built for teams monitoring production infrastructure
No credit card · 2-minute setup
Database tier
-
Four Engines, One Agent
PostgreSQL, MySQL/MariaDB, Redis/Valkey and Memcached add 62 metrics to what the agent already reports for the host itself. No exporter to deploy, and nothing to scrape.
-
It Says Why, Not Just Down
PostgreSQL and MySQL carry a three-state verdict: reachable, unreachable, or a config error when the server answers but your credentials or role are wrong. An amber you can fix beats a red you have to guess at.
-
Galera Without a Second Tool
wsrep cluster state comes over the connection the agent already has. Lost quorum, a node stuck outside Synced, or a member that dropped out is one alert - the one an HA control plane is actually built around.
Deep dive
No Exporters, No Sidecars, No Scrape Config
The usual way to monitor a database is to run something next to it - postgres_exporter, mysqld_exporter, redis_exporter - point a scraper at each one, then build the dashboards yourself. That is three more processes to install, keep upgraded and monitor in their own right, before you have seen a single metric.
Fivenines reads each engine over the interface it already exposes: the pg_stat_* views for PostgreSQL, SHOW GLOBAL STATUS for MySQL and MariaDB, INFO for Redis and Valkey, and a single stats command over TCP for Memcached. You flip a toggle, give it credentials where the engine needs them, and the metrics land next to the CPU and disk figures for the same box.
All four collectors run on Linux, Windows and macOS, so the same toggle works wherever the engine does.
What Each Engine Reports
PostgreSQL
Connections split by state, including idle-in-transaction. Cache hit ratio, commits and rollbacks, deadlocks and locks by type, total and per-database size, and replication lag. The per-database breakdown means a noisy tenant is visible as itself rather than as a bump in a server-wide total.
MySQL / MariaDB
Connections against max_connections, queries and slow queries, aborted connects, InnoDB buffer pool hit ratio and usage, uptime, replication lag and whether the replica threads are actually running. Connect over TCP or a Unix socket, which is what cPanel and Plesk hosts expect.
Galera cluster state
Cluster size and status, the local node's wsrep state, flow-control pause time and average receive-queue depth. Back-pressure shows up as a chart before it shows up as a desynced node.
Redis / Valkey
Memory used against maxmemory as a percentage, a hit ratio computed over the window you are looking at rather than since boot, evicted and expired keys, ops per second, blocked clients, fragmentation, role and replication offset lag per replica, and how long ago the last RDB save succeeded.
Memcached
Hit ratio, memory used against the configured limit, evictions, expired-unfetched keys, get and set rates, current connections and uptime. The LAMP object cache, watched as itself.
The host underneath
All of it sits beside the CPU, memory, disk I/O and network figures for the same machine, so a slow query and a saturated disk are on one timeline instead of in two products.
Deep dive
Reachable, Unreachable, or Misconfigured
PostgreSQL and MySQL report a three-state verdict rather than a boolean. Reachable means connected and collecting. Unreachable means refused, timed out or unroutable - the network-shaped failure, and the one worth paging on. A config error means the server answered and then rejected the agent: a wrong password, a role missing a grant. That last one is the common case after a credential rotation, and calling it an outage would send someone hunting a problem that is a two-field fix in Settings.
Redis and Memcached are deliberately simpler. They report metrics and nothing else, so a failed collection leaves a gap in the charts rather than a verdict - which is the honest representation when the agent has nothing to say. Put thresholds on their metrics to catch a cache under pressure, and be aware that a threshold reads a value: it will not fire for a cache that has stopped answering at all, because there is no value to read. For that, watch the port or the systemd unit - both are triggers in the same workflow builder.
PostgreSQL, MySQL and Memcached each take a host and a port, so the agent can watch a container's published port, a database on another machine, or a managed instance. Redis and Valkey are the exception: the agent polls a port on the machine it runs on.
From Install to First Alert
Step 1
Install the agent
One command, about two minutes. If you are already monitoring the server, skip this step entirely - the database collectors ride the agent you have.
Step 2
Turn the engine on
Flip the toggle in the instance settings and fill in what that engine needs: a PostgreSQL user with read access to the pg_stat_* views, a MySQL user with PROCESS and REPLICATION CLIENT, an optional Redis password. Memcached needs no credentials at all.
Step 3
Watch it, then alert on it
Metrics appear on the instance page straight away. PostgreSQL, MySQL/MariaDB and Redis/Valkey each ship a one-click dashboard template and can go on any custom dashboard; Memcached is instance-page only for now. Add the unreachable and Galera templates from the workflow gallery, then set thresholds on whichever metrics matter to you.
Deep dive
Alerting That Knows the Difference Between Down and Broken
Three alerts ship as one-click workflow templates: PostgreSQL unreachable, MySQL unreachable, and a degraded Galera cluster. Each opens one incident for the instance it is about and closes it on its own when the condition clears.
The Galera one is the interesting one. It fires while the cluster is anything other than Primary, while the local node is anything other than Synced, or - if you tell it how many members to expect - while the cluster is short a member. If the server becomes unreachable it hands off to the MySQL alert rather than firing a second time about a cluster it can no longer see, so a dead node pages you once.
Everything else is a metric threshold, on any of the 62 series: Redis memory closing on maxmemory, a hit ratio collapsing, replication lag climbing, Memcached evicting under pressure. The same sustained-duration rules, escalation gates and maintenance windows apply as to any other alert. Thresholds answer "this is going wrong"; for "this stopped answering" on Redis or Memcached, add a port or systemd-unit trigger, since a threshold needs a value to compare.
Alerts go where your team works: email, Slack, Microsoft Teams, Telegram, Discord, Pushover, PagerDuty or webhooks. Which of those you can use depends on your plan - email, Telegram and Discord are on every plan, and the rest unlock as you move up.
Common Database Monitoring Scenarios
LAMP and LEMP hosting
MySQL or MariaDB next to Apache, Nginx and PHP-FPM on the same box, all monitored as themselves. When a customer site is slow, you can tell an exhausted worker pool from a database out of connections without logging in.
HA control plane
A three-node MariaDB Galera cluster behind an OpenStack or similar control plane. Quorum and per-node wsrep state are the alert; flow control and receive-queue depth are the early warning that gets you there first.
Cache-backed application
Redis or Valkey for sessions and queues, Memcached for the object cache. Watch memory against the configured limit and the eviction rate, so you find out you have outgrown the cache before your users do.
How It Compares
| Approach | Setup | Per Engine | Galera State | Dashboards | Alerting |
|---|---|---|---|---|---|
| Prometheus + Grafana | 2-4 hours | One exporter each | Exporter needed | Build your own | Manual rules |
| Zabbix | 1-2 hours | Official templates | Template-based | Template-based | Supported |
| Engine CLI (psql, redis-cli) | Built-in | Live only | Live only | Not supported | Not supported |
| Fivenines | 2 min | 4 built in | wsrep + alert | 3 templates | Built-in |
Included on every plan
No per-database charge and no add-on to buy - a monitored database is part of the instance the agent runs on.
Frequently Asked Questions
Which databases and caches can Fivenines monitor? +
Do I need to run an exporter or a sidecar? +
Can it monitor a database running in Docker or on another server? +
What can I be alerted on? +
Does it understand MariaDB Galera clusters? +
Explore next
Related Features
Linux Server Monitoring
The CPU, memory, disk and network metrics your database sits on, from the same agent.
Explore ->Server Alerts
Thresholds on any database metric, routed to eight notification channels.
Explore ->Custom Dashboards
One-click PostgreSQL, MySQL/MariaDB and Redis/Valkey dashboard templates, or build your own.
Explore ->Docker Monitoring
Watch the containers your database runs in, and scan their images for CVEs.
Explore ->See how Fivenines compares to other tools
Read our guide to the best infrastructure monitoring tools in 2026.
Monitor your database tier without deploying a single exporter
14-day trial. No credit card required.
No credit card · 2-minute setup · Cancel anytime