Databases
    MySQL logo

    MySQL Monitoring

    Monitor MySQL query performance, replication health, connection pools, and storage metrics in real time with zero configuration.

    Why monitor MySQL?

    MySQL is the world's most popular open-source relational database, powering millions of applications from startups to Fortune 500 enterprises. Monitoring MySQL is essential to detect slow queries, prevent connection pool exhaustion, track replication lag, and optimize storage usage. Xitoring's MySQL integration provides deep visibility into your database performance.

    Auto-discovery via Xitogent — no manual configuration required
    Real-time query throughput and performance metrics
    Track connection pool usage and thread states
    Monitor replication lag and slave status
    InnoDB buffer pool and storage engine metrics
    Slow query detection and monitoring
    Works on both Linux and Windows servers
    1-minute metric collection intervals
    Metrics

    What we monitor

    Queries per Second

    Rate of SELECT, INSERT, UPDATE, and DELETE queries.

    Active Connections

    Number of currently active connections to MySQL.

    Slow Queries

    Count of queries exceeding the slow query threshold.

    Replication Lag

    Seconds behind the master in replication.

    InnoDB Buffer Pool

    Buffer pool utilization and hit ratio.

    Thread States

    Distribution of thread states (running, sleeping, locked).

    Table Locks

    Rate of table lock waits and immediate grants.

    Temporary Tables

    Rate of temporary tables created on disk.

    Bytes Sent/Received

    Network throughput to and from MySQL.

    Aborted Connections

    Failed connection attempts and aborted clients.

    Triggers & Alerts

    Configurable alert triggers

    Set up custom triggers in your dashboard to get notified the moment MySQL metrics cross your defined thresholds.

    MySQL monitoring trigger configuration dashboard

    Active Connections

    critical

    Fires when active connections approach max_connections, risking new connection refusal and application errors.

    Replication Lag

    critical

    Triggers when replication falls behind, risking data inconsistency between master and replicas.

    Slow Queries

    warning

    Alerts when slow query count exceeds threshold, indicating performance degradation.

    InnoDB Buffer Pool

    warning

    Fires when buffer pool hit ratio drops, indicating excessive disk I/O.

    Aborted Connections

    warning

    Triggers on connection failure spikes, indicating authentication or network issues.

    Table Lock Waits

    critical

    Alerts when lock contention increases, degrading query performance.

    01

    Importance of MySQL Monitoring

    MySQL handles critical data for millions of applications. Without proper monitoring, slow queries, replication drift, and connection exhaustion can lead to outages and data inconsistency.

    • Detect slow queries before they impact user experience
    • Prevent connection pool exhaustion with threshold alerts
    • Monitor replication for data consistency across replicas
    • Track InnoDB performance for optimal storage engine health
    • Identify lock contention and query bottlenecks early
    MySQL monitoring dashboard with query metrics
    Database performance alert timeline
    02

    Why Choose Xitoring

    Xitoring delivers enterprise-grade MySQL monitoring with zero-config setup. Our lightweight agent auto-discovers your MySQL instances, starts collecting metrics in under 60 seconds, and integrates with your existing notification channels.

    • One-command install — no complex YAML or config files
    • 15+ global monitoring nodes for low-latency checks
    • Unified dashboard for servers, databases, and uptime
    • Flexible alerting via Slack, PagerDuty, Telegram & more
    • Historical data retention for capacity planning & audits
    Xitoring multi-database monitoring overview
    Notification channels and alert configuration
    Before you start

    Prerequisites for MySQL

    Make sure you've got these in place — most installs are a 60-second job once they are.

    • MySQL 5.7 or 8.x running on the server
    • performance_schema = ON (default in 5.7+, set in [mysqld] if disabled)
    • A monitoring user with PROCESS, REPLICATION CLIENT, and SELECT on performance_schema
    Setup Guide

    Get started in minutes

    1

    Install Xitogent on your server

    If you haven't already, install the lightweight Xitogent monitoring agent on your server.

    curl -s https://xitoring.com/install.sh | sudo bash -s -- --key=YOUR_API_KEY
    2

    Create a monitoring user in MySQL

    Create a dedicated read-only user for Xitogent to collect metrics:

    CREATE USER 'xitoring'@'%' IDENTIFIED BY 'your_secure_password'; GRANT REPLICATION CLIENT ON *.* TO 'xitoring'@'%' WITH MAX_USER_CONNECTIONS 5; GRANT PROCESS ON *.* TO 'xitoring'@'%'; GRANT SELECT ON performance_schema.* TO 'xitoring'@'%'; FLUSH PRIVILEGES;
    3

    Enable the MySQL integration

    Use the Xitoring dashboard or CLI to enable the MySQL integration with the monitoring credentials.

    sudo xitogent integrate
    4

    Configure alert thresholds (optional)

    Set custom thresholds for metrics like replication lag, slow queries, or connection count to get notified when something needs attention.

    5

    Verify it's working

    Run this command on the server to confirm Xitogent picked up the integration. Fresh metrics will start streaming to your dashboard within ~30 seconds.

    sudo xitogent status

    Frequently asked questions

    What permissions does the monitoring user need?
    The monitoring user needs PROCESS, REPLICATION CLIENT, and SELECT on performance_schema. Xitoring's docs recommend MAX_USER_CONNECTIONS 5 to cap concurrency.
    Will this integration affect MySQL performance?
    No. Xitogent uses lightweight, read-only queries to collect metrics. The monitoring overhead is negligible and won't impact your database performance.
    Can I monitor MySQL replication?
    Yes. The integration monitors replication lag, slave status, and replication errors. You'll get alerted immediately if your replicas fall behind.
    Does this work with MySQL on RDS or cloud databases?
    The integration is designed for self-hosted MySQL instances where Xitogent is installed. For cloud-managed databases, check our API monitoring features.
    What MySQL versions are supported?
    Xitoring supports MySQL 5.7 and later, including MySQL 8.x. MariaDB is supported through a separate integration.
    How often are metrics collected?
    Metrics are collected at 1-minute intervals by default. This can be adjusted through the Xitoring dashboard or CLI.

    Start monitoring MySQL today

    Set up in under 60 seconds. No credit card required. Full metrics from day one.

    Start Free Trial

    Keep exploring

    Related Integrations