Schedule demo

MySQL Database / MariaDB Monitoring


Overview

Applications Manager's MySQL Monitoring capabilities allow users to efficiently track the performance and health of their MySQL databases in real time. Key features include real-time monitoring of key performance indicators such as query execution time, database connections, server resource utilization, and more.

In this help document, you will learn how to create a MySQL database monitor, along with the list of parameters that are monitored by Applications Manager.

Creating a new MySQL database monitor

Supported versions: MySQL 5.0.15 and above, MariaDB 10.4 and above

Prerequisites for monitoring MySQL metrics: Click here

Rest API to add a new MySQL performance monitor:Click here

To create a MySQL database server Monitor, follow the steps given below:

  1. Click on New Monitor link.
  2. Select MySQL DB Server.
  3. Enter the IP Address or hostname of the host.
  4. Enter the Subnet Mask of the network while adding the monitor.
  5. Check the 'Force SSL' box to force an SSL connection. For establishing an SSL connection, ensure to use the hostname specified in the Common Name (CN) field of the imported certificate.
  6. Enter the port number in which MySQL is running.
  7. Enter the polling interval time in minutes.
  8. If you are adding a new monitor from the Central Server, select a Probe Server.
  9. Provide the user name and password of user who has permission to access the MySQL database.
  10. Specify the database name. Please note that the Database name must be valid. Also, the database name is associated with the user name. Hence, provide the database name corresponding to the user name given in the above field.
  11. Choose the MySQL Driver from the Driver option to connect to the MySQL DB server (Default value: MariaDB Driver).

    Note: For the MySQL Driver, the MySQL jar file should be located in the AppManager_home/working/mysql/MMMySQLDriver/ path.

  12. Choose the Monitor Group from the combo box with which you want to associate MySQL database server Monitor (optional). You can choose multiple groups to associate your monitor.
  13. Click Add Monitor(s). This discovers MySQL database server from the network and starts monitoring them.

Monitored Parameters

  • Availability tab gives the availability history for the past 24 hours or 30 days.
  • Performance tab gives the health status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

To view detailed performance metrics of a MySQL server, click the corresponding monitor listed in the Availability tab. These metrics are categorized into six different tabs for better understanding.

Overview

This tab provides information into the overall performance of the MySQL server.

ParameterDescription
Monitor Information
NameDenotes the name of MySQL server monitor.
HealthDenotes the health (Clear, Warning, Critical) of the MySQL server.
TypeDenotes the type you are monitoring.
MySQL VersionSpecifies the version of the database server.
PortSpecifies the port number at which the database server is running.
Base DirectorySpecifies the directory in which the database server is installed.
Data DirectorySpecifies the directory in the hard disk of the system where the data for the database server is stored.
Host NameSpecifies the host at which the database server is running.
Host OSSpecifies the OS of the host where the database server is running.
Last AlarmSpecifies the last alarm that was generated for the database server.
Last Polled atSpecifies the time at which the last poll was performed.
Next Poll atSpecifies the time at which the next poll is scheduled.
AvailabilityShows the current status of the server - available or not available.
Connection Time
Connection TimeThe time taken to connect to the MySQL database server from Applications Manager server.
Connection Time OutSpecifies the maximum time taken by the application to connect to MySQL Server
Request Statistics
Request RateNumber of request received in one second.
Bytes Received RateNumber of bytes received in one second.
Bytes Sent RateNumber of bytes sent in one second.
Connection Statistics
Open ConnectionsThe number of connections opened at present in the MySql Server.
Aborted ConnectionsNumber of tries to connect to the MySQL server that failed.
Aborted ClientsNumber of clients aborted by MySQL server.
Open Connections in (%)The ratio of connections opened with max connections.
Thread Details
Threads UsedNumber of threads processing the request.
Threads in CacheNumber of threads currently placed in the thread cache.
Thread Cache SizeSpecifies the cache size in the MySQL server.
Table Lock Statistics
Immediate LocksNumber of times a table lock for the table is acquired immediately.
Locks WaitNumber of times a table lock could not be acquired after waiting.
Key Efficiency
Key HitratePercentage of key read requests that resulted in actual key reads from the key buffer.
Key Buffer UsedAmount of allocated key buffer in use.
Key Buffer SizeSize of the buffer used for index blocks. Also known as the key cache.
Query Statistics
Queries Inserted/MinNo. of Insert Queries executed per minute
Queries Deleted/MinNo. of Delete Queries executed per minute
Queries Updated/MinNo. of Update Queries executed per minute
Queries Selected/MinNo. of Select Queries executed per minute
Query Cache Hitrate 
Query Cache HitrateRatio of queries that were cached and queries that were not cached.
Query Cache SizeAmount of memory allocated for caching query results.
Query Cache LimitMaximum amount of memory for storing cache results.
Open Files Utilization 
Open Files Used(%)The percentage of file descriptors currently in use by the MySQL server.

Database

ParameterDescription
Database Details
Database NameName of the database instance.
Database SizeSize of the various databases in the MySQL server (in MB).

Replication

ParameterDescription
Replication Details
1. Master-Slave Replication
Replication StatusThe status of Slave process in MySQL Server
Slave IO RunningStatus of the Slave IO Process in MySQL Server. Possible values are Yes or No.
Slave SQL RunningStatus of the Slate SQL Process in MySQL Server. Possible values are Yes or No.
Last ErrorThe last error occured when Slave is synching the data from master.
Master HostThe hostname or IP number of the master replication server.
Master PortThe TCP/IP port number that the master is listening on.
Master UserThe username of the account that the slave thread uses for authentication when it connects to the master.
Time Behind MasterThis indicates of how “late” the slave is behind the Master.
2. Group Replication
StateDefines the state of the Member. Possible values are ONLINE, OFFLINE, ERROR, RECOVERY, UNREACHABLE.
Connection StateThe status of connection whether it is active/Idle or no Longer exists or trying to connect. Possible values are ON, OFF, CONNECTING.
Count Conflicts DetectedThe number of transactions that did not pass the conflict detection check.
Count Transactions In QueueThe number of transactions in the queue pending conflict detection checks. Once the transactions have been checked for conflicts, if they pass the check, they are queued to be applied as well.
Count Transactions RollbackThe number of transactions that this member originated that were rolled back after being sent to the replication group.
Replication Lag From Original SourceThe time delay between when a transaction is committed on the primary (original source) node and when that same transaction becomes available on the current node.
Replication Lag From Immediate SourceThe time delay between when a transaction is committed on the immediate upstream node and when it becomes available on the current node.
Last ErrorThe error message which has triggered lastly.
Last Error TimeStampThe Timestamp of last Error.
Replication ApplierGives the status of Replication Applier Thread is Active/Idle and Dead. Possible values are ON, OFF.
Member IDThe member server UUID. This has a different value for each member in the group. This also serves as a key because it is unique to each member.
Host NameThe Name of the Host of this Member.
RoleThis metric defines the member's role in the group. Possible values are PRIMARY, SECONDARY.
PortThe port Number on which the Member is Running.
Replication ModeThe mode of Replication, which the group is using. Possible values are single-primary, multi-primary.
Group NameThe name group that the Member (MySQL server) belongs to.
Channel NameThe name of the Group Replication Channel.
Primary HostHost Name of the Primary Member in the Group.
Primary PortPort Number of the Primary Member in the Group.

Note: Ensure that the Slave Replication Server is added as a monitor in Applications Manager for MySQL Master-Slave Replication monitoring.

Performance

ParameterDescription
TOP QUERIES BY CPU
Avg. CPU TimeThe average CPU time taken to execute the query (in millisecond).
Total CPU TimeThe cumulative total amount of CPU time that has been spent running this query (in millisecond).
Max CPUThe maximum amount of time that was taken by the CPU to run this query (in millisecond).
QueryThe SQL query which consumed the maximum CPU time.
DB NameThe database under which this query has been executed.
Last Execution TimeThe last time at which the query executed.

Note : The TOP QUERIES BY CPU data will be displayed only for MySQL versions 5.7 & above.

Session

ParameterDescription
Session Details
PIDDisplays the process ID of the session running in the MySQL server.
StatusDisplays the status of the process in the MySQL server. 
UserThe login name of the user executing the process.
DB NameDisplays the name of the database currently being used by the process.
Program NameThe name of the program that has established the session.
Memory UsageThe amount of memory that has been utilized by the process (in kilobytes). 
CPU TimeThe cumulative CPU time taken for the process running in the MySQL Server (in millisecond).
Lock LatencyAmount of time taken to establish a lock for the established session (in millisecond).
CommandFor foreground threads, the type of command the thread is executing on behalf of the client, or Sleep if the session is idle.
QueryThe query the thread is executing, or NULL if it is not executing any statement.
Last QueryThe last query executed by the thread, if there is no currently executing statement or wait.
Last Query CPU TimeThe CPU time taken for the last query to be executed (in millisecond).

Note : The Session Details data will be displayed only for MySQL versions 5.7 & above.

Configuration

This tab provides information about the system variables maintained by the MySQL server. These system variables indicate how the server is configured.

You can also view realtime and historical data of any of the attributes present in the 'Configuration Information' section in the Configuration tab. Click on any attribute under the Configuration tab. This will open up a new window named 'History Data' that provides more information about these attributes.

There are two tabs in the History Data window - History Report and Global View.

History Report: This tab provides historical reports of the attribute selected based on the time period chosen. You can also use the Select Attribute drop-down box and view reports for other attributes.

Global View: This tab displays the current values of the attribute selected, across multiple monitors. To view information about other attributes present in the monitor, use the Select Attribute drop-down box and change the attribute.

If you want to view data of multiple attributes, click the Customize Columns link present at the top left corner of the window. This will take you to the Edit Global Viewscreen. In this screen, you can change the monitor type using the Filter by Monitor Type drop-down box, select the metrics to be displayed, and show monitors on a monitor basis or a monitor group basis. After you select your options, click the Show Report button to view those information in the Global View tab.

The View Process List option present on the right side under the Show Status section gives you information on the current threads that are running in the MySQL server.

Configuration Metrics

ParameterDescription
Auto Increment IncrementControls the increment value between successive AUTO_INCREMENT values.
Auto Increment OffsetAllows to specify an offset or starting value for the AUTO_INCREMENT column.
AutocommitDetermines whether each SQL statement is automatically committed as a separate transaction or not.
Automatic SP PrivilegesEnable/Disable this setting to adjust the behavior based on your security and access control requirements.
Back LogDetermines the size of the listen queue for incoming TCP/IP connections. It represents the maximum number of connections that can be queued by the MySQL server when it is busy handling other connections.
Base DirectorySpecifies the base directory for the MySQL installation. It represents the directory that contains the MySQL server binaries, libraries, and other essential files.
Binlog Cache SizeDetermines the size of the cache used for binary log events.
Bulk Insert Buffer SizeDetermines the size of the buffer used for bulk insert operations.
Connect TimeoutSpecifies the maximum time that MySQL waits for a connection to be established (in seconds).
Data DirectoryRepresents the path to the MySQL data directory.
Delayed Insert LimitSpecifies the maximum number of rows allowed in a single INSERT DELAYED statement.
Delayed Insert TimeoutSpecifies the maximum number of rows allowed in a single INSERT DELAYED statement.
Delayed Queue SizeDetermines the maximum number of rows that can be in the delayed insert queue.
Expire Logs DaysSpecifies the number of days for which these binary log files should be retained.
General Log FileDefines the name of the file where the general query log is written.
Host NameRepresents the name of the machine or server hosting the MySQL database instance.
IdentityRefers to the concept of an auto-incrementing column. This is commonly used to create primary keys or other unique identifiers in a table.
Init SlaveUsed in MySQL replication to initialize a slave server from a master server. Allows to specify a file containing the data snapshot from the master server.
Innodb Additional Memory Pool SizeDetermines the size of the additional memory pool that InnoDB uses for managing various internal data structures.
Innodb Autoinc Lock ModeAllows you to configure how InnoDB locks the table or index when generating new auto-increment values.The available modes include traditional, consecutive, and interleaved, each with different performance characteristics and trade-offs.
Innodb Buffer Pool SizeSpecifies the size of the InnoDB buffer pool, which is a memory area used to cache frequently accessed data and indexes from InnoDB tables.
Innodb Change BufferingControls the change buffering mechanism in InnoDB.
Innodb Data File PathSpecifies the location and size of the InnoDB data files.
Innodb Data Home DirDetermines the base directory path where InnoDB stores its data files.
Innodb Flush Log at trx CommitDetermines the level of durability and reliability for committed transactions in InnoDB.
Innodb IO CapacityThis option sets the maximum I/O capacity for InnoDB background tasks, such as flushing pages from the buffer pool or writing the redo log to disk.
Innodb Lock Wait TimeoutSpecifies the maximum amount of time that a transaction will wait to acquire a lock before throwing an error (in seconds).
Innodb Log Buffer SizeDetermines the size of the buffer used to hold changes made to the InnoDB redo log before they are written to disk.
Innodb Log File SizeSpecifies the size of each InnoDB log file.
Innodb Log Group Home DirSpecifies the directory path where InnoDB places its redo log files.
Interactive TimeoutDefines the number of seconds of inactivity after which an interactive MySQL session is automatically terminated.
Join Buffer SizeDetermines the size of the buffer used for joins which do not require a temporary table.
Key Buffer SizeSets the size of the buffer used for caching index blocks for MyISAM tables.
Key Cache Age ThresholdDetermines the minimum number of requests for an index block before it can be considered for eviction from the key cache.
Key Cache Block SizeDetermines the size of each block in the key cache for MyISAM tables.
Key Cache Division LimitSets the maximum number of cache divisions for the key cache in MyISAM tables.
Large Page SizeEnables the use of large pages (also known as huge pages) for InnoDB buffer pool and MyISAM key cache.
Lock Wait TimeoutDefines the maximum amount of time that a transaction or query will wait to acquire a lock before timing out and throwing an error (in seconds).
Long Query TimeSpecifies the threshold duration that determines when a query is considered a "long query" by the MySQL server (in seconds).
Max Allowed PacketDetermines the maximum size for a single network packet or SQL statement that can be sent to or received from the MySQL server (in bytes).
Max Binlog Cache SizeSpecifies the maximum amount of memory that can be used by the binary log cache (in bytes).
Max Binlog SizeMaximum size for each binary log file in MySQL (in bytes).
Max Connect ErrorsDefines the maximum number of consecutive failed connection attempts allowed before the MySQL server blocks new connection requests from that host.
Max ConnectionsDetermines the maximum number of simultaneous client connections allowed to the MySQL server.
Max Delayed ThreadsSets the maximum number of threads that can be used for processing delayed inserts in MySQL.
Max Error CountSpecifies the maximum number of errors that can occur during the execution of a multi-row INSERT statement or LOAD DATA statement before the operation is aborted.
Max Heap Table SizeDefines the maximum size for individual in-memory heap tables in MySQL (in bytes).
Max Insert Delayed ThreadsDetermines the maximum number of threads that can be used for processing delayed inserts for the DELAYED insert method.
Max Join SizeSpecifies the maximum size in bytes for the result of a join operation in MySQL.
Max SP Recursion DepthSets the maximum recursion depth for stored procedures in MySQL. It determines the number of nested stored procedure calls that are allowed.
Max Temp TablesSpecifies the maximum number of temporary tables that can be created by a single SQL query in MySQL.
Max User ConnectionsDefines the maximum number of simultaneous connections allowed for a single MySQL user account.
Max Write Lock CountDetermines the maximum number of write locks that can be acquired by a single transaction in MySQL.
Myisam Sort Buffer SizeSets the size of the buffer used for sorting data during index creation or MyISAM table repair operations.
Net Buffer LengthDetermines the maximum size of data packets that can be sent or received in a single network request.
Open Files LimitSpecifies the maximum number of files that MySQL can open simultaneously. This includes data files, log files, and other internal files.
PortDefines the network port number on which the MySQL server listens for incoming connections.
Preload Buffer SizeSets the size of the buffer used to preload indexes for MyISAM tables.
Profiling History SizeDetermines the number of profiling data records that are retained by the MySQL server.
Query Alloc Block SizeSets the block size used for memory allocation when parsing SQL queries in MySQL.
Query Cache LimitDetermines the maximum size in bytes for an individual query result that can be stored in the query cache.
Query Cache SizeSets the total amount of memory allocated for the query cache in MySQL.
Query Cache TypeSpecifies the behavior and mode of the query cache in MySQL.
Query Prealloc SizeDefines the size of the initial memory allocation block for query parsing in MySQL.
Range Alloc Block SizeSets the block size used for memory allocation when executing range scans in MySQL.
Read Buffer SizeDetermines the size of the buffer used for sequential table scans in MySQL.
Read rnd Buffer SizeSpecifies the size of the buffer used for random reads during queries that don't use an index.
SQL Auto is nullDetermines the behavior of MySQL when inserting or updating columns that have no explicit value specified
SQL Big SelectsControls whether MySQL allows the execution of SELECT statements that potentially return large result sets.
SQL Buffer ResultDetermines whether the MySQL server buffers the entire result set of a query in memory before returning it to the client.
SQL Log BinEnables or disables the binary logging feature in MySQL.
SQL Log OffUsed to temporarily disable logging of statements in MySQL.
SQL Quote Show CreateDetermines whether the SHOW CREATE TABLE statement should enclose table and column names in backticks (`) to ensure proper quoting.
SQL Safe Updatesthe system variable that controls the behavior of UPDATE and DELETE statements.
SQL Select LimitDetermines the maximum number of rows that can be returned by a SELECT statement in MySQL.
SQL WarningsControls whether warning messages generated by MySQL are displayed.
Shared MemoryIt is an interprocess communication mechanism used for sharing data between multiple MySQL server instances running on the same host.
Shared Memory Base NameSpecifies the base name for the shared memory segments used by the MySQL server instances.
Slow Launch TimeSets the threshold time for considering a client connection as a "slow launch" (in seconds).
Slow Query Log FileSpecifies the file name and path where the slow query log is written.
SocketSpecifies the path to the Unix socket file that is used for local client-server communication.
Sort Buffer SizeDetermines the size of the buffer used for sorting operations.
Storage EngineSpecifies the default storage engine to be used for newly created tables.
Table Open CacheDefines the number of open tables that can be cached in memory.
Temp Table SizeSpecifies the maximum size of internal in-memory temporary tables.
Thread Cache SizeDetermines the number of threads that are cached for reuse rather than being terminated after each client connection.
VersionRepresents the version number of the MySQL server.
Version Compile OSRepresents the OS platform where the MySQL software was built.
Wait TimeoutSpecifies the number of seconds a connection can remain idle before it is automatically closed by the server.
Warning CountRepresents the number of warnings generated during the execution of the most recent SQL statement.

Loved by customers all over the world

"Standout Tool With Extensive Monitoring Capabilities"

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.

Reviewer Role: Research and Development

carlos-rivero
"I like Applications Manager because it helps us to detect issues present in our servers and SQL databases."
Carlos Rivero

Tech Support Manager, Lexmark

Trusted by over 6000+ businesses globally