一、监控exporter安装.
①、下载地址
Releases · prometheus/mysqld_exporter · GitHub
my.cnf内容.
[client]
host=127.0.0.1 #mysql ip
port=3306
user=your account #账号
password=yourpassword #密码
说明:这里的监控最好是单独建立一个业务账号并grant权限,类似搭建主从复制一样创建一个slave账号,这样便于统一管理.
②、启动服务
mysqld_exporter-0.14.0.windows-amd64>mysqld_exporter.exe --config.my-cnf=D://MySQL//mysql-5.7.29//mysqld_exporter-0.14.0.windows-amd64//my.cnf.txt
可以制作一个startup.bat
③、查看监控信息,端口是9104.
二、配置prometheus
①、配置监控任务
# mysql数据库
- job_name: 'Mysql'
static_configs:
- targets: ['192.168.1.6:9104']
②、启动prometheus
三、配置Grafana
①、使用面板:
MySQL Overview - Dashboards - Grafana
在 Grafana 中监控 MySQL 时,可以跟踪多个重要指标,以下是一些关键指标及其说明:
指标名称 | 中文说明 |
mysql_global_status_aborted_clients | 中止的客户端连接数 |
mysql_global_status_aborted_connects | 中止的连接数 |
mysql_global_status_connections | 总连接数 |
mysql_global_status_created_tmp_disk_tables | 创建的临时磁盘表数量 |
mysql_global_status_created_tmp_tables | 创建的临时表数量 |
mysql_global_status_handler_delete | 执行删除操作的次数 |
mysql_global_status_handler_read_first | 执行读取第一个记录的次数 |
mysql_global_status_handler_read_key | 按键读取的次数 |
mysql_global_status_handler_read_next | 执行读取下一个记录的次数 |
mysql_global_status_handler_read_prev | 执行读取上一个记录的次数 |
mysql_global_status_handler_read_rnd | 随机读取的次数 |
mysql_global_status_handler_read_rnd_next | 随机读取下一个记录的次数 |
mysql_global_status_handler_update | 执行更新操作的次数 |
mysql_global_status_key_reads | 从键缓存中读取的次数 |
mysql_global_status_key_writes | 写入键缓存的次数 |
mysql_global_status_max_connections | 最大连接数 |
mysql_global_status_open_tables | 当前打开的表数量 |
mysql_global_status_opened_tables | 打开的表总数 |
mysql_global_status_queries | 执行的查询总数 |
mysql_global_status_select_full_join | 完全连接的查询次数 |
mysql_global_status_select_full_range_join | 完全范围连接的查询次数 |
mysql_global_status_select_range | 范围查询的次数 |
mysql_global_status_select_range_check | 范围检查查询的次数 |
mysql_global_status_select_scan | 扫描查询的次数 |
mysql_global_status_slow_queries | 慢查询的总数 |
mysql_global_status_table_locks_waited | 表锁等待次数 |
mysql_global_status_threads_connected | 当前连接的线程数 |
mysql_global_status_threads_running | 当前运行的线程数 |
mysql_global_status_uptime | 数据库运行时间(秒) |
mysql_global_status_innodb_buffer_pool_size | InnoDB 缓冲池大小 |
mysql_global_status_innodb_buffer_pool_pages_total | InnoDB 缓冲池总页数 |
mysql_global_status_innodb_buffer_pool_pages_free | InnoDB 缓冲池空闲页数 |
mysql_global_status_innodb_buffer_pool_pages_dirty | InnoDB 缓冲池脏页数 |
mysql_global_status_innodb_buffer_pool_reads | InnoDB 缓冲池读取次数 |
mysql_global_status_innodb_buffer_pool_read_ahead | InnoDB 缓冲池预读取次数 |
mysql_global_status_innodb_buffer_pool_read_ahead_evicted | 被驱逐的预读取页数 |
mysql_global_status_innodb_buffer_pool_wait_free | 等待空闲页的次数 |
mysql_global_status_innodb_rows_read | 读取的 InnoDB 行数 |
mysql_global_status_innodb_rows_inserted | 插入的 InnoDB 行数 |
mysql_global_status_innodb_rows_updated | 更新的 InnoDB 行数 |
mysql_global_status_innodb_rows_deleted | 删除的 InnoDB 行数 |
mysql_global_status_innodb_transactions | InnoDB 事务总数 |
mysql_global_status_innodb_lock_waits | InnoDB 锁等待次数 |
mysql_global_status_innodb_deadlocks | InnoDB 死锁次数 |
mysql_global_status_innodb_log_waits | InnoDB 日志等待次数 |
mysql_global_status_innodb_log_write_requests | InnoDB 日志写入请求次数 |
mysql_global_status_innodb_log_writes | InnoDB 日志写入次数 |
mysql_global_status_innodb_log_flushes | InnoDB 日志刷新次数 |
mysql_global_status_innodb_log_flushes_avg_time | InnoDB 日志刷新平均时间 |
mysql_global_status_innodb_log_flushes_max_time | InnoDB 日志刷新最大时间 |