Monitoring MySQL Databases

Monitoring MySQL Databases

Servers

Monitoring MySQL Databases

Monitor MySQL instances and their databases in real time. Track availability, connections, query performance, storage engine health, replication status, and more from a single view.

Overview

Cloudmon provides deep monitoring for MySQL database servers running on both Windows and Linux. Once an instance is registered, all databases within it are automatically discovered and monitored at two levels: the instance level, covering the MySQL server as a whole, and the database level, covering each individual database running within it.

Navigate to Servers → MySQL → MySQL Instance to view all monitored instances, or to Servers → MySQL → MySQL Database for a cross-instance view of all databases.

Prerequisites

Before registering a MySQL instance, a dedicated MySQL user must be created for the Cloudmon agent. The user can be restricted to localhost or allowed to connect from any host depending on whether the agent is installed locally or remotely.

Create the user and grant the required privileges by running the following on the MySQL server:

SQL — Run on MySQL Server
CREATE USER 'username'@'hostname' IDENTIFIED BY 'password';

GRANT REPLICATION CLIENT ON *.* TO 'username'@'hostname';
GRANT REPLICATION SLAVE ON *.* TO 'username'@'hostname';
GRANT PROCESS ON *.* TO 'username'@'hostname';
GRANT SHOW DATABASES ON *.* TO 'username'@'hostname';

GRANT SELECT ON performance_schema.* TO 'username'@'hostname';

GRANT SELECT ON sys.* TO 'username'@'hostname';
GRANT EXECUTE ON sys.* TO 'username'@'hostname';

Replace username, hostname, and password with your chosen values. Use localhost as the hostname if the agent is installed on the same machine as the MySQL server, or % to allow connections from any host for remote agent setups. The MySQL server and listener must be reachable from the agent host.

MySQL Instance

MySQL Instance monitoring covers the MySQL server as a whole. Cloudmon tracks availability, uptime, active and maximum connections, slow queries, network traffic, storage engine health, replication activity, command volumes, and the complete live server configuration from a single view.

The instance list ranks servers by connections, queries, slow queries, and network traffic, so the highest-load instances are always visible at a glance. An Instances Breakdown panel shows the hierarchical relationship between each server and its databases. Within an instance, Cloudmon monitors InnoDB in depth, covering buffer pool usage, row reads and writes, row lock waits, pages I/O, data bandwidth, and fsync activity. For environments using MyISAM, key buffer usage, key reads and writes, and key I/O are tracked separately.

Binary log disk growth, cache pressure, and replication command activity are monitored continuously, which is critical for any environment relying on MySQL replication or point-in-time recovery. The full live server configuration is surfaced alongside all performance data, so teams can correlate behaviour with the configuration driving it without querying the server directly.

MySQL Database

MySQL Database monitoring provides visibility into each individual database within an instance. The database list page surfaces all databases across all monitored instances and ranks them by size, I/O, queries, latency, and throughput, making it easy to identify which database is driving the most load or consuming the most space across the entire environment.

Each database has its own availability tracking, query performance metrics, latency, throughput, I/O read and write activity, row statistics, and temp table counts. The Sequential versus Index Scans metric is particularly useful here: a high proportion of sequential scans relative to index scans is a strong signal that queries are missing indexes, which is often difficult to identify at the instance level alone. Errors and warnings are tracked at the database level as well, giving teams the context to distinguish whether an issue is isolated to one database or symptomatic of a broader server problem.

Alarms

Cloudmon supports threshold-based alarms on any MySQL metric collected at the instance or database level, including connections, slow queries, InnoDB row lock waits, replication activity, and tablespace usage. Each alarm is built around a simple IF/THEN model, where you select a metric, set a threshold, and define what happens when it is breached. Learn more.

Troubleshooting

SymptomLikely CauseFix
Instance not appearing in the listInstance not registered, or the agent cannot reach MySQL on the configured portRe-run the registration command from the correct agent directory and verify the hostname, port, and credentials
High Slow Query countQueries performing full table scans or missing indexesEnable the Slow Query Log and review queries exceeding the Long Query Time threshold; add indexes where needed
Rising InnoDB Row Lock WaitsConcurrent transactions contending for the same rowsIdentify long-running transactions holding locks and reduce transaction scope to minimise contention
High Aborted Connections countClients failing authentication or connections timing out before completingCheck MySQL error logs for authentication failures and review application connection pool timeout settings
Binlog disk growing rapidlyBinlog expiry not configured, or a replica lagging and preventing log purgeSet binlog_expire_logs_seconds to an appropriate retention period and investigate replica lag
Database not appearing in the listThe parent instance has not been registered or the agent is not runningConfirm the MySQL instance is registered and the Cloudmon agent is active on the host
High query latency on a specific databaseQueries on that database performing full table scans or experiencing lock contentionReview the Sequential vs Index Scans metric for that database and add indexes where full scans are occurring
    • Related Articles

    • Configuring Alarm Rules for MySQL Monitoring

      Database Monitoring Configuring Alarm Rules for MySQL Monitoring Set up threshold-based alarms for MySQL instances and databases so Cloudmon notifies your team or triggers automated remediation when a metric breaches its defined limit. Overview MySQL ...
    • Database Monitoring

      Servers Database Monitoring Gain full visibility into your Oracle and MySQL database servers from a single platform. Track performance, set intelligent alerts, and never miss a critical event across your database infrastructure. Cloudmon's Database ...
    • AWS Monitoring

      Amazon Web Services AWS Cloud Monitoring with Cloudmon Connect your AWS account once and get full visibility into your AWS services such as EC2 instances, RDS databases, and S3 buckets — with real-time metrics, smart alerts, and historical ...
    • Monitoring RDS Instances

      Monitoring Guide Monitoring RDS Instances Monitor the performance, availability, and storage health of your RDS instances in real time. Cloudmon helps database and infrastructure teams stay ahead of potential issues before they impact applications. ...
    • Monitoring Oracle Databases

      Servers Monitoring Oracle Databases Monitor Oracle database instances in real time. Track availability, session activity, memory usage, query performance, tablespace health, and more from a single view. Overview Cloudmon provides deep monitoring for ...