为方便用户查看和掌握实例的运行信息,云数据库 MySQL 提供了丰富的性能监控项与便捷的监控功能(自定义视图、时间对比、合并监控项等)。用户可登录 云数据库 MySQL 控制台,进入实例管理页的实例监控查看。
说明:
您可以通过腾讯云可观测平台 API 中的 拉取指标监控数据、云数据库 MySQL 监控指标 来获取实例的监控指标。
您也可以为监控指标 创建 Dashboard,动态分析指标监控数据。
单个实例的表数量超过30万后,可能会影响数据库监控,请合理规范表的数量,控制单个实例表数量不超过30万。
支持监控的实例类型
云数据库 MySQL 支持主实例(包括读写节点)、只读实例(包括只读节点)、灾备实例,以及数据库代理节点的监控,并为每个实例提供独立的监控视图供查询。
监控分类
云数据库 MySQL 包括资源监控、引擎监控(普通)、引擎监控(扩展)、部署监控4种监控类型,通过查看不同监控类型的指标,可快速、准确的了解实例性能及运行状况。
说明:
云数据库 MySQL 单节点云盘版实例支持的监控类型包括资源监控和引擎监控(普通),暂不支持引擎监控(扩展)和部署监控。
资源监控:提供 CPU、内存、磁盘及网络相关的监控数据。
引擎监控(普通):提供连接数、锁信息、热点表、慢查询等相关的监控数据,方便您诊断故障及性能优化。
引擎监控(扩展):提供更为丰富引擎相关的监控指标,协助您最大限度发现数据库存在或潜在的健康问题。
部署监控:提供主从延迟相关的监控指标。部署监控分为主机和备机:
若实例为主实例,则实例部署监控的对象是主实例与其隐藏备机之间的链路,部署监控展示为隐藏备机的 IO、SQL 线程状态,主从延迟距离和主从延迟时间指的是主实例与其隐藏备机之间。
若实例为只读实例,则实例部署监控的对象是主实例与只读实例之间的链路,部署监控展示为只读实例的 IO、SQL 线程状态,主从延迟距离和主从延迟时间指的是只读实例与主实例之间。
若实例为灾备实例:
a. 灾备实例部署监控(主机)的对象是灾备实例与主实例之间的链路,部署监控展示为灾备实例的 IO、SQL 线程状态,主从延迟距离和主从延迟时间指的是灾备实例与主实例之间。
b. 灾备实例部署监控(备机)的对象是灾备实例与其隐藏备机之间的链路,部署监控展示为其隐藏备机的 IO、SQL 线程状态,主从延迟距离和主从延迟时间指的是灾备实例与其隐藏备机之间。
监控粒度
自2018年08月11日起,云数据库 MySQL 监控粒度实行自适应策略,暂不支持监控粒度的自定义选择。监控粒度自适应策略如下:
时间跨度 | 监控粒度 | 自适应说明 | 保留时长 |
(0h, 4h] | 5s | 时间跨度在4小时内,监控粒度为5秒 | 1天 |
(4h, 2d] | 1min | 时间跨度超过4小时,但在2天内,监控粒度调整为1分钟 | 15天 |
(2d, 10d] | 5min | 时间跨度超过2天,但在10天内,监控粒度调整为5分钟 | 31天 |
(10d, 30d] | 1h | 时间跨度超过10天,但在30天内,监控粒度调整为1小时 | 62天 |
(30d,180d] | 1天 | 时间跨度超过30天,但在180天内,监控粒度调整为1天 | 180天 |
说明:
目前云数据库 MySQL 最长支持查看180天内的监控数据。
监控指标
腾讯云可观测平台从实例维度为云数据库 MySQL 实例提供丰富的监控指标,具体请参见下表。
除了通过监控指标来掌握实例的运行状况,云数据库 MySQL 也支持监控事件和事件告警,通过设置事件规则、事件目标及推送用户,当检测到异常事件,事件告警将通过多种可选的方式向用户发送告警通知,帮助用户更全面的掌控实例的运行信息。
详细了解事件告警,请参见 事件总线。
详细了解支持的监控事件,请参见 云数据库 MySQL 事件列表。
指标中文名 | 指标英文名 | 单位 | 指标说明 |
每秒执行操作数 | qps | 次/秒 | 数据库每秒执行的 SQL 数(含 insert、select、update、delete、replace),QPS 指标主要体现 TencentDB 实例的实际处理能力 |
每秒执行事务数 | tps | 次/秒 | 数据库每秒传输的事务处理个数 |
慢查询数 | slow_queries | 次 | 查询时间超过 long_query_time 秒的查询的个数 |
全表扫描数 | select_scan | 次/秒 | 执行全表搜索查询的数量 |
查询数 | select_count | 次/秒 | 每秒查询数 |
更新数 | com_update | 次/秒 | 每秒更新数 |
删除数 | com_delete | 次/秒 | 每秒删除数 |
插入数 | com_insert | 次/秒 | 每秒插入数 |
覆盖数 | om_replace | 次/秒 | 每秒覆盖数 |
总请求数 | queries | 次/秒 | 所有执行的 SQL 语句,包括 set,show 等 |
当前打开连接数 | threads_connected | 个 | 当前打开的连接的数量 |
连接数利用率 | connection_use_rate | % | 当前打开连接数 / 最大连接数 |
查询使用率 | query_rate | % | 每秒执行操作数 QPS / 推荐每秒操作数 |
磁盘总使用空间 | capacity | MB | 包括 MySQL 数据目录和 binlog、relaylog、undolog、errorlog、slowlog 日志空间 |
数据使用空间 | real_capacity | MB | 仅包括 MySQL 数据目录,不含 binlog、relaylog、undolog、errorlog、slowlog 日志空间 |
日志使用空间 | log_capacity | MB | 仅包含 binlog、relaylog、undolog、errorlog、slowlog 日志空间 |
日志文件使用空间 | disk_log_used | MB | 仅包含 MySQL binlog、relaylog、undolog 日志空间 |
临时文件使用空间 | disk_tmp_used | MB | 仅包含 MySQL 运行时产生的临时文件 |
磁盘利用率 | volume_rate | % | 未加入白名单:磁盘利用率 = 数据使用空间 / 实例购买空间 添加白名单:磁盘利用率 = 磁盘总使用空间(数据使用空间 + 日志使用空间)/ 实例购买空间 说明: |
内网出流量 | bytes_sent | Byte/秒 | 每秒发送的字节数 |
内网入流量 | bytes_received | Byte/秒 | 每秒接受的字节数 |
查询缓存命中率 | qcache_hit_rate | % | 查询缓存命中率 |
查询缓存使用率 | qcache_use_rate | % | 查询缓存使用率 |
等待表锁次数 | table_locks_waited | 次/秒 | 不能立即获得的表的锁的次数 |
临时表数量 | created_tmp_tables | 次/秒 | 创建临时表的数量 |
innodb 缓存命中率 | innodb_cache_hit_rate | % | Innodb 引擎的缓存命中率 |
innodb 缓存使用率 | innodb_cache_use_rate | % | Innodb 引擎的缓存使用率 |
innodb 读磁盘数量 | innodb_os_file_reads | 次/秒 | Innodb 引擎每秒读磁盘文件的次数 |
innodb 写磁盘数量 | innodb_os_file_writes | 次/秒 | Innodb 引擎每秒写磁盘文件的次数 |
innodb fsync 数量 | innodb_os_fsyncs | 次/秒 | Innodb 引擎每秒调用 fsync 函数次数 |
当前 Innodb 打开表的数量 | innodb_num_open_files | 个 | Innodb 引擎当前打开表的数量 |
myisam 缓存命中率 | key_cache_hit_rate | % | myisam 引擎的缓存命中率 |
myisam 缓存使用率 | key_cache_use_rate | % | myisam 引擎的缓存使用率 |
CPU 利用率 | cpu_use_rate | % | 允许闲时超用,CPU 利用率可能大于100% |
内存利用率 | memory use rate | % | 允许闲时超用,内存利用率可能大于100% |
内存占用 | memory_use | MB | 允许闲时超用,实际内存占用可能大于购买规格 |
临时文件数量 | created_tmp_files | 次/秒 | 每秒创建临时文件的次数 |
已经打开的表数 | opened_tables | 个 | 实例维度 |
提交数 | com_commit | 次/秒 | 每秒提交次数 |
回滚数 | com_rollback | 次/秒 | 每秒回滚次数 |
已创建的线程数 | threads_created | 个 | 创建用来处理连接的线程数 |
运行的线程数 | threads_running | 个 | 激活的(非睡眠状态)线程数 |
最大连接数 | max_connections | 个 | 最大连接数 |
磁盘临时表数量 | created_tmp_disk_tables | 次/秒 | 每秒创建磁盘临时表的次数 |
读下一行请求数 | handler_read_rnd_next | 次/秒 | 每秒读取下一行的请求次数 |
内部回滚数 | handler_rollback | 次/秒 | 每秒事务被回滚的次数 |
内部提交数 | handler_commit | 次/秒 | 每秒事务提交的次数 |
InnoDB 空页数 | innodb_buffer_pool_pages_free | 个 | Innodb 引擎内存空页个数 |
InnoDB 总页数 | innodb_buffer_pool_pages_total | 个 | Innodb 引擎占用内存总页数 |
InnoDB 逻辑读 | innodb_buffer_pool_read_requests | 次/秒 | Innodb 引擎每秒已经完成的逻辑读请求次数 |
InnoDB 物理读 | innodb_buffer_pool_reads | 次/秒 | Innodb 引擎每秒已经完成的物理读请求次数 |
InnoDB 读取量 | innodb_data_read | Byte/秒 | Innodb 引擎每秒已经完成读取数据的字节数 |
InnoDB 总读取量 | innodb_data_reads | 次/秒 | Innodb 引擎每秒已经完成读取数据的次数 |
InnoDB 总写入量 | innodb_data_writes | 次/秒 | Innodb 引擎每秒已经完成写数据的次数 |
InnoDB 写入量 | innodb_data_written | Byte/秒 | Innodb 引擎每秒已经完成写数据的字节数 |
InnoDB 行删除量 | innodb_rows_deleted | 次/秒 | Innodb 引擎每秒删除的行数 |
InnoDB 行插入量 | innodb_rows_inserted | 次/秒 | Innodb 引擎每秒插入的行数 |
InnoDB 行更新量 | innodb_rows_updated | 次/秒 | Innodb 引擎每秒更新的行数 |
InnoDB 行读取量 | innodb_rows_read | 次/秒 | Innodb 引擎每秒读取的行数 |
InnoDB 平均获取行锁时间 | innodb_row_lock_time_avg | 毫秒 | Innodb 引擎行锁定的平均时长 |
InnoDB 等待行锁次数 | innodb_row_lock_waits | 次/秒 | Innodb 引擎每秒等待行锁定的次数 |
键缓存内未使用的块数量 | key_blocks_unused | 个 | myisam 引擎未使用键缓存块的个数 |
键缓存内使用的块数量 | key_blocks_used | 个 | myisam 引擎已使用键缓存块的个数 |
键缓存读取数据块次数 | key_read_requests | 次/秒 | myisam 引擎每秒读取键缓存块的次数 |
硬盘读取数据块次数 | key_reads | 次/秒 | myisam 引擎每秒读取硬盘数据块的次数 |
数据块写入键缓冲次数 | key_write_requests | 次/秒 | myisam 引擎每秒写键缓存块的次数 |
数据块写入磁盘次数 | key_writes | 次/秒 | myisam 引擎每秒写硬盘数据块的次数 |
主从延迟距离 | master_slave_sync_distance | MB | 主从 binlog 差距 |
主从延迟时间 | seconds_behind_master | 秒 | 主从延迟时间 |
IO 线程状态 | slave_io_running | 状态值(0-Yes,1-No,2-Connecting) | IO 线程运行状态 |
SQL 线程状态 | slave_sql_running | 状态值(0-Yes,1-No) | SQL 线程运行状态 |
热点问题
如何配置主从延迟监控?
配置主从延迟监控分为以下两种场景,您可根据实际场景对应操作。
场景一:为主实例配置主从延迟监控
1. 登录 腾讯云可观测平台控制台,在左侧导航选择告警管理,然后选择策略管理 > 新建策略。
2. 在告警策略页,策略类型项选择:云数据库 > MySQL > 备机监控。
说明:
为主实例配置主从延迟监控,策略类型要选择备机监控,监控的是备机到主机的延迟信息。
3. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据您的需要完成其他配置项的设置,单击完成。
4. 设置完成后,当“主从延迟距离”和“主从延迟时间”监控项满足触发条件时即可触发告警。
场景二:为 RO 和灾备实例配置主从延迟监控
1. 登录 腾讯云可观测平台控制台,在左侧导航选择告警管理,然后选择策略管理 > 新建策略。
2. 在告警策略页,策略类型项选择:云数据库 > MySQL > 主机监控。
说明:
为 RO 实例配置主从延迟监控,策略类型只能选主机监控,监控的是 RO 实例到其主实例的延迟信息。
为灾备实例配置主从延迟监控,策略类型若选择主机监控,则监控的是灾备实例到其主实例的延迟信息,若选择备机监控,则监控的是灾备实例的备机到灾备实例的延迟信息。
3. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据您的需要完成其他配置项的设置,单击完成。
4. 设置完成后,当“主从延迟距离”和“主从延迟时间”监控项满足触发条件时即可触发告警。