有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 腾讯云可观测平台 > 告警管理 > 最佳实践 > 云数据库 MySQL 配置监控告警实践

为云数据库 MySQL 实例配置告警

2. 单击告警管理 > 策略管理 > 新建策略
3. 进入新建告警策略页,填写如下信息,详情可参考 新建告警策略
配置项
说明
策略名称
输入策略名称,最多60个字符
备注
输入备注,最多100个字符
监控类型
选择云产品监控
策略类型
选择云数据库>MySQL>主机监控/备机监控/智能监控(DBbrain/代理监控)
策略所属项目
选择策略所属项目。所属项目用于告警策略的分类和权限管理,与云产品实例的项目没有强绑定关系
所属标签
选择策略所属标签
告警对象
选择具体实例作为告警对象
触发条件
支持手动配置触发告警的条件,如已有触发条件模板满足需求,也可以直接选择模板
支持添加事件进行事件告警配置
配置告警通知
支持新建或需选择已有的告警通知模板
4. 设置完成后,单击完成

策略类型选择说明

1. 云数据库 > MySQL > 主机监控
表示对云数据库 MySQL 实例的主机进行监控。云数据库 MySQL 支持单节点、双节点、三节点架构,其中双节点架构采用一主机和一备机的模式,三节点架构采用一主机和两备机的模式。此外,云数据库 MySQL 的灾备实例也有主机和备机。
告警对象为双/三节点实例:表示对实例的主机进行监控;
告警对象为单节点实例,表示对单节点实例本身进行监控;
告警对象为灾备实例,表示对灾备实例的主机进行监控。
对应监控指标请参见 云数据库 MySQL 监控指标
2. 云数据库 > MySQL > 备机监控
表示对云数据库 MySQL 实例的备机进行监控。云数据库 MySQL 支持单节点、双节点、三节点架构,其中双节点架构采用一主机和一备机的模式,三节点架构采用一主机和两备机的模式。此外,云数据库 MySQL 的灾备实例也有主机和备机。
告警对象为双/三节点实例:表示对主实例的备机进行监控;
告警对象为灾备实例,表示对灾备实例的备机进行监控。
对应监控指标请参见 云数据库 MySQL 监控指标
监控指标
说明
IO 线程状态
IO 线程运行状态
SQL 线程状态
SQL 线程运行状态
主从延迟距离
主从 binlog 差距
主从延迟时间
主从延迟时间
3. 云数据库 > MySQL > 智能监控(DBbrain)
表示拉取实例指标监控到数据库智能管家 DBbrain。
4. 云数据库 > MySQL > 代理监控
表示对开通了数据库代理的云数据库 MySQL 实例进行监控。
对应监控指标请参见 云数据库 MySQL 监控指标

主从延迟监控说明

配置主从延迟监控分为以下两种场景,可根据实际场景对应操作。
场景一:为主实例配置主从延迟监控
1. 登录 腾讯云可观测平台,在左侧导航选择告警管理,然后点击策略管理 > 新建策略
2. 在告警策略页,策略类型项选择:云数据库 > MySQL > 备机监控
说明:为主实例配置主从延迟监控,策略类型要选择备机监控,监控的是备机到主机的延迟信息。
3. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据您的需要完成其他配置项的设置,单击完成。
场景二:为 RO 和灾备实例配置主从延迟监控
1. 登录 腾讯云可观测平台,在左侧导航选择告警管理,然后选择策略管理 > 新建策略
2. 在告警策略页,策略类型项选择:云数据库 > MySQL > 主机监控,说明如下:
为 RO 实例配置主从延迟监控,策略类型只能选主机监控,监控的是 RO 实例到其主实例的延迟信息。
为灾备实例配置主从延迟监控,策略类型若选择主机监控,则监控的是灾备实例到其主实例的延迟信息,若选择备机监控,则监控的是灾备实例的备机到灾备实例的延迟信息。
3. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据您的需要完成其他配置项的设置,单击完成

数据库审计监控说明

开通数据库审计服务的云数据库 MySQL 实例,可以通过腾讯云可观测平台设置对其的事件告警,帮助用户及时获取风险告警,快速定位问题审计日志。
事件类型
说明
数据库审计低风险
对命中审计规则模板内容的审计日志进行日志低风险告警
数据库审计中风险
对命中审计规则模板内容的审计日志进行日志中风险告警
数据库审计高风险
对命中审计规则模板内容的审计日志进行日志高风险告警
对开通数据库审计服务的云数据库 MySQL 实例,设置事后告警操作指引请参见 配置事后告警

核心监控指标告警建议说明

CPU 利用率
系统执行应用来进行提交查询(包括数据修改操作)时需要大量的逻辑读(逻辑 IO,执行查询所需访问的表的数据行数),所以系统需要消耗大量的 CPU 资源以维护从存储系统读取到内存中的数据一致性。若 MySQL CPU 的利用率长时间处于100%,会严重影响数据库的整体性能,极端情况下可能会出现实例 HANG 住的情况。
当云数据库 MySQL CPU 利用率超过80%时,可能会出现业务响应变慢、超时、无法连接数据库等现象。为避免业务因 CPU 资源不足而受影响,可设置 CPU 使用率 > 80%告警。当接收到告警后,建议从业务场景、应用架构、实例规格等方面来解决,例如:
开启 CPU 弹性扩容,可以轻松应对突发压力,保障线上业务稳定性。
当内存也需要升级时,可以升级实例规格配置,增加 CPU 资源和内存资源。
增加只读实例,将对数据一致性不敏感的查询转移到只读实例上,分担主实例压力。
内存利用率
MySQL 的内存是重要的性能参数,常出现由于低效 SQL 请求以及待优化的数据库导致内存利用率过高甚至超过100%的情况。内存利用率过高容易引起服务响应速度变慢,严重时还会触发内存 OOM 进而发生主备切换。
为避免业务因内存利用率过高而受影响,可设置内存利用率 > 80%告警。当接收到告警后,建议对内存利用率过高的实例进行业务优化或者升级内存空间。
磁盘利用率
MySQL 实例可能因长时间运行、未进行磁盘及数据管理等原因,导致磁盘使用率升高,从而影响业务正常运行。尤其当实例显示“磁盘空间满”状态,数据库不可进行写入操作,会有实例异常、数据库备份失败、数据库实例只读状态等潜在风险。
为避免业务因磁盘利用率过高而受影响,可设置磁盘利用率 > 80%告警。当接收到告警后,建议根据实际情况采用磁盘容量扩容、迁移冷数据等解决方案确保磁盘有一定的冗余度,保证数据库的正常使用。
慢查询数
慢查询数是指一段时间内执行时间超过阈值的 SQL 查询数量。在 MySQL 数据库中,可以通过开启慢查询日志来记录慢查询数。慢查询日志记录了执行时间超过阈值的 SQL 查询,可以通过分析慢查询日志来查找慢查询的原因和优化方案。
通常情况下 SQL 语句的执行效率不够高,会导致大量的请求堆积在云数据库 MySQL 中,例如 SQL 语句没有利用索引或者没有用较佳的索引,或者 QPS 压力超过当前实例的承载上限。大量的请求堆积在云数据库 MySQL 中将会影响数据库的性能。
为避免慢查询数过多影响数据库的性能,在慢查询数超过总查询数的5%-10%,就需要结合 CPU 利用率关注数据库的使用性能了,所以一般设置慢查询数指标的告警,我们建议和实际业务相结合,例如实际总查询数为1000,当慢查询数超过50-100个,就需要特别关注了,所以此时慢查询数可以设置为50,具体以实际场景为准。
若因慢查询数导致数据库性能下降,可以按以下思路解决:
优化 SQL 语句,提升 SQL 语句的执行效率。
提升云数据库 MySQL 的配置。

预设核心指标 Dashboard 面板

为了让用户更快捷、更方便的监控云数据库 MySQL 的资源使用、运行等状况,腾讯云可观测平台将核心指标配置成预设 Dashboard 面板,用户可直接进入Dashboard 页面,无需进行其他配置,即可看到如图所示的云数据库 MySQL 的 Dashboard 预设面板。



当用户选择自己已有的实例后,便可自动展示预设的资源、引擎连接和引擎访问等核心指标的监控 Dashboard,提升用户体验,降低使用成本。
监控 CPU 利用率、磁盘利用率、内存利用率、内网入流量、内网出流量等资源,配合告警,当监控值超过某一值时,要关注是否需要扩容。
监控 QPS、TPS、当前打开连接数的量,提前感知数据库的状态。如果发现监控值突增,可能是业务出现了问题,需要根据实际情况定位问题,提前做好数据库的扩容和优化。
监控慢查询数和全表扫描数,如果出现,请及时查看哪些 SQL 语句引起的慢查询,可能需要优化这部分 SQL 或者服务。