mysql 重要的监控项:


当前mysql的状态:mysql.ping


当前主从的状态以及延时状态 show slave status  ;


当前线程的状态  show full processlist  


连接请求监控:

每秒连接请求数,包括成功和失败的请求: Connections/s


线程监控:

当前连接数:Threads_connected

当前并发线程数:Threads_running

当前线程缓存数:Threads_cached

每秒线程创建次数 :Threads_created/s ,该值越小越好,如果这个值在不断的增大,说明mysql一直在创建线程,这个是比较耗费资源的,可以通过thread_cache_size缓解这个问题


网络流量监控

每秒的接收的字节数::Bytes_received/s

每秒发送的字节数:Bytes_sent/s


TPS/QPS 监控

每秒请求数QPS: Queries/second

每秒的事务量TPS: (Com_delete+Com_insert+Com_update)/s          


innodb_buffer_pool监控

平均每秒从物理磁盘读取数据的次数: innodb_buffer_pool_reads/s

平均每秒读的请求数:innodb_buffer_pool_read_requests

缓冲池命中率: 1 - (innodb_buffer_pool_reads/innodb_buffer_pool_read_requests)

平均每秒向缓冲池写的请求数:innodb_buffer_pool_write_requests/s


每秒从内存池flush pages的请求数(不仅仅包括脏页): innodb_buffer_pool_pages_flushed/s

每秒执行fsyncs的量(将数据写入磁盘):Innodb_data_fsyncs/s

平均每秒读取的数据量: innodb_data_read/s

平均每秒写入的数据量: innodb_data_written/s

平均每秒Innodb从文件中读取的次数: innodb_data_reads/s

平均每秒Innodb从文件中写入的次数: innodb_data_writes/s

每秒从innodbTable上读取的页面数: Innodb_pages_read/s

每秒innodbTable写入的页面数::Innodb_pages_written/s

innodb文件打开数 Innodb_num_open_files


缓冲池的利用率:( 1 - innodb_buffer_pool_pages_free / innodb_buffer_pool_pages_total) * 100

缓冲池中的脏块百分比: innodb_buffer_pool_pages_dirty/innodb_buffer_pool_pages_total


缓冲池可用的空闲页面: Innodb_buffer_pool_pages_free

实例等待空闲内存页的次数:Innodb_buffer_pool_wait_free


innodb log 的监控

平均每秒向日志文件的物理写次数: innodb_log_writes

平均每秒日志写请求次数: innodb_log_write_requests

平均每秒向日志文件完成fsync()写数量: innodb_os_log_fsyncs

等待日志缓冲区空闲的次数: Innodb_log_waits



doubleWrite(双写)监控

Innodb_dblwr_pages_written:双写的完成的页面数

Innodb_dblwr_writes :双写的完成的文件写次数


COMDML监控:监控

Com_select/s:平均每秒select语句执行次数

Com_insert/s:平均每秒insert语句执行次数

Com_update/s:平均每秒update语句执行次数

Com_delete/s:平均每秒delete语句执行次数


挂起操作监控:

Innodb_data_pending_fsyncs: mysql当前等待fsyncs的次数

Innodb_data_pending_reads:  mysql当前等待read的次数

Innodb_data_pending_writes:  mysql 当前等待写的次数


锁相关:

每秒发生的死锁数:Innodb_deadlocks/s

当前行锁等待数:Innodb_row_lock_current_waits


ROWDML:监控

innodb_rows_deleted : 平均每秒从innodb表删除的行数

innodb_rows_inserted : 平均每秒从innodb表插入的行数

innodb_rows_read : 平均每秒从innodb表读取的行数

innodb_rows_updated : 平均每秒从innodb表更新的行数



临时表监控

每秒创建磁盘临时表的次数 :Created_tmp_disk_tables

每秒创建临时文件数 :Created_tmp_files

每秒创建的内存临时表数 :Created_tmp_tables




表锁监控:

立即获得表锁:Table_locks_immediate

表锁定等待次数:Table_locks_waited125

表锁争夺情况 Table_locks_immediate/Table_locks_waited+Table_locks_immediate


查询缓存监控

缓存命中率:Qcache_hits/(Qcache_hits+Com_select)

空闲查询缓存块:Qcache_free_memory

查询缓存碎片率 = qcache_free_blocks / qcache_total_blocks * 100%

查询缓存利用率 = (query_cache_size - qcache_free_memory) / query_cache_size * 100%


其他:

当前打开的文件数:Open_files


可用文件数:open_files_limit -  Open_files(待定)


当前.frm文件缓存数: Open_table_definitions

当前表缓存:Open_tables


打开过的文件数:Opened_files

打开过的表定义数:Opened_table_definitions

打开过的表数:Opened_tables


表缓存命中率:Table_open_cache_hits/(Table_open_cache_hits+Table_open_cache_misses)