MySQL Server Metrics
Aborted_clients: The number of clients that were aborted (because they did not properly close the connection to the MySQL server). For some applications, this can be OK, but for some other applications you might want to track the value, as aborted connects may indicate some sort of application failure.
Aborted_connects: The number of failed attempts to connect to the MySQL server.
Bytes_received: The number of bytes received from all clients.
Bytes_sent: The number of bytes sent to all clients.
Com_alter_table: The number of times each ALTERTABLE statement has been executed.
Com_create_index: The number of times each CREATE INDEX statement has been executed.
Com_create_table: The number of times each CREATE TABLE statement has been executed.
Com_delete: The number of times each DELETE statement has been executed.
Com_insert: The number of times each INSERT statement has been executed.
Com_optimize: The number of times each OPTIMIZE statement has been executed.
Com_select: The number of times each SELECT statement has been executed.
Com_update: The number of times each UPDATE statement has been executed.
Connections: The number of connection attempts (successful or not) to the MySQL server.
Created_tmp_disk_tables: The number of temporary tables on disk created automatically by the server while executing statements.
Created_tmp_files: How many temporary files mysqld has created.
Created_tmp_tables: The number of in-memory temporary tables created automatically by the server while executing statements. If Created_tmp_disk_tables is large, you may want to increase the tmp_table_size value to cause temporary tables to be memory-based instead of disk-based.
Handler_delete: The number of times that rows have been deleted from tables.
Innodb_buffer_pool_pages_data: The number of pages containing data (dirty or clean).
Innodb_buffer_pool_pages_dirty: The number of pages currently dirty.
Innodb_buffer_pool_pages_flushed: The number of buffer pool page-flush requests.
Innodb_buffer_pool_pages_free: The number of free pages.
Innodb_buffer_pool_pages_misc: The number of pages that are busy because they have been allocated for administrative overhead such as row locks or the adaptive hash index. This value can also be calculated as Innodb_buffer_pool_pages_total.
Innodb_buffer_pool_pages_total: The total size of the buffer pool, in pages.
Innodb_buffer_pool_read_ahead_rnd: The number of random read-aheads initiated by InnoDB. This happens when a query scans a large portion of a table but in random order.
Innodb_buffer_pool_read_requests: The number of logical read requests InnoDB has done.
Innodb_buffer_pool_reads: The number of logical reads that InnoDB could not satisfy from the buffer pool and had to do a single-page read.
Innodb_buffer_pool_wait_free: Normally, writes to the InnoDB buffer pool happen in the background. However, if it is necessary to read or create a page and no clean pages are available, it is also necessary to wait for pages to be flushed first. This counter counts instances of these waits. If the buffer pool size has been set properly, this value should be small.
Innodb_buffer_pool_write_requests: The number writes done to the InnoDB buffer pool.
Innodb_data_fsyncs: The number of fsync() operations so far.
Innodb_data_pending_fsyncs: The current number of pending fsync() operations.
Innodb_data_pending_reads: The current number of pending reads.
Innodb_data_pending_writes: The current number of pending writes.
Innodb_data_read: The amount of data read so far, in bytes.
Innodb_data_reads: The total number of data reads.
Innodb_data_writes: The total number of data writes.
Innodb_data_written: The amount of data written so far, in bytes.
Innodb_dblwr_pages_written: The number of doublewrite operations that have been performed.
Innodb_dblwr_writes: The number of pages that have been written for doublewrite operations.
Innodb_log_waits: The number of times that the log buffer was too small and a wait was required for it to be flushed before continuing.
Innodb_log_write_requests: The number of log write requests.
Innodb_log_writes: The number of physical writes to the log file.
Innodb_pages_created: The number of pages created.
Innodb_pages_read: The number of pages read.
Innodb_pages_written: The number of pages written.
Innodb_row_lock_current_waits: The number of row locks currently being waited for.
Innodb_row_lock_time: The total time spent in acquiring row locks, in milliseconds.
Innodb_row_lock_time_avg: The average time to acquire a row lock, in milliseconds.
Innodb_row_lock_time_max: The maximum time to acquire a row lock, in milliseconds.
Innodb_row_lock_waits: The number of times a row lock had to be waited for.
Innodb_rows_deleted: The number of rows deleted from InnoDB tables.
Innodb_rows_inserted: The number of rows inserted into InnoDB tables.
Innodb_rows_read: The number of rows read from InnoDB tables.
Innodb_rows_updated: The number of rows updated in InnoDB tables.
Key_blocks_used: The number of used blocks in the key cache. This value is a high-water mark that indicates the maximum number of blocks that have ever been in use at one time.
Key_read_requests: The number of requests to read a key block from the cache. Key_writes The number of physical writes of a key block to disk.
Key_reads: The number of physical reads of a key block from disk. If Key_reads is large, then your key_buffer_size value is probably too small. The cache miss rate can be calculated as Key_reads/Key_read_requests.
Key_write_requests: The number of requests to write a key block to the cache.
MyISAMKey_writes: The number of physical writes of a key block from the
Open_files: The number of files that are open. Open_streams The number of streams that are open (used mainly for logging).
Open_tables: The number of table cache misses. If the value is large, you probably need to increase table_cache. Typically you would want this to be less than 1 or 2 opened tables per second.
Opened_tables: The number of tables that have been opened. The number of tables that have been opened. If Opened_tables is big, your table_cache value is probably too small.
Qcache_free_blocks: The number of free memory blocks in the query cache.
Qcache_free_memory: The amount of free memory for the query cache.
Qcache_hits: The number of query cache hits.
Qcache_inserts: The number of queries added to the query cache.
Qcache_lowmem_prunes: The number of queries that were deleted from the query cache because of low memory.
Qcache_not_cached: The number of non-cached queries (not cacheable, or not cached due to the query_cache_type setting).
Qcache_queries_in_cache: The number of queries registered in the query cache.
Qcache_total_blocks: The total number of blocks in the query cache.
Questions: The number of statements that clients have sent to the server.
Seconds_Behind_Master: The number of seconds that the replica SQL thread is behind processing the primary binary log. This field directly drives MTTR. A high or increased number of Seconds_Behind_Master indicates a slow disk or poorly tuned machine running the database. If this value reaches 45 minutes or more, the ability to recover from a crash, or after a manual failover, is delayed. If this value is tracked by the Machine Agent through the MySQL extension and shows a generally positive slope, it indicates a death spiral.
Select_full_join: Joins performed without keys. This should be zero. This is a good way to catch development errors, as just a few such queries can decrease the system's performance.
Select_full_range_join: The number of joins that used a range search on a reference table.
Select_range: The number of joins that used ranges on the first table. This is normally not a critical issue even if the value is quite large.
Select_range_check: The number of joins without keys that check for key usage after each row. If this is not 0, you should carefully check the indexes of your tables.
Select_scan: Number of queries that performed a full table scan. In some cases these are OK but their ratio to all queries should be constant. if you have the value growing it can be a problem with the optimizer, lack of indexes or some other problem.
Slave_IO_Running: Whether the I/O thread for reading the primary's binary log is running.
Slave_open_temp_tables: The number of temporary tables that the replica SQL thread currently has open.
Slave_SQL_Running: Whether the SQL thread for executing events in the relay log is running.
Slow_launch_threads: The number of threads that have taken more than slow_launch_time seconds to create.
Slow_queries: The number of queries longer than --long-query-time or that are not using indexes. These should be a small fraction of all queries. If it grows, the system will have performance problems.
Sort_merge_passes: The number of merge passes that the sort algorithm has had to do. If this value is large, you should consider increasing the value of the sort_buffer_size system variable.
Sort_range: The number of sorts that were done using ranges.
SQL_Delay: The number of seconds that the replica lags behind the primary
Threads_cached: The number of threads in the thread cache.
Threads_connected: The number of currently open connections.
Threads_created: This should be low. Higher values may mean that you need to increase the value of thread_cache or you have the number of connections increasing, which also indicates a potential problem.
Threads_running: The number of threads that are not sleeping.