腾讯云可观测平台 云数据库 MySQL 配置监控告警实践

腾讯云可观测平台已将 MySQL 的主机/备机/代理/DBbrain/集群只读分析引擎,审计事件统一接入,云数据库 MySQL 不同架构实例在配置策略类型以及主备机监控时在腾讯云可观测平台的操作有所不同,这篇主要介绍通过腾讯云可观测平台,为云数据库 MySQL 实例配置告警的操作及相关说明,提供一套从告警策略创建到核心指标阈值建议的落地实践。

相关产品
腾讯云可观测平台 产品页,含版本规格、价格与购买入口。

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

1. 登录 腾讯云可观测平台,选择告警管理 > 告警配置 > 告警策略。

2. 单击新建策略,选择自定义告警策略。

3. 进入自定义告警策略页,填写如下信息,详情可参见 新建告警策略。

配置项 说明
策略名称 输入策略名称,最多60个字符
备注 输入备注,最多100个字符
策略所属标签 选择策略所属标签
监控类型 选择云产品监控
策略类型 选择云数据库 > MySQL > 主机监控/备机监控/智能监控(DBbrain)/代理监控/集群版监控/只读分析引擎(只读分析引擎节点监控/只读分析引擎汇总监控)
策略所属项目 选择策略所属项目。所属项目用于告警策略的分类和权限管理,与云产品实例的项目没有强绑定关系
告警对象 选择具体实例作为告警对象
触发条件 支持手动配置触发告警的条件,如已有触发条件模板满足需求,也可以直接选择模板
 支持添加事件进行事件告警配置
配置告警通知 支持新建或选择已有的告警通知模板

4. 设置完成后,单击完成。

二、云数据库 > MySQL > 主机监控

表示对云数据库 MySQL 实例的主机进行监控。云数据库 MySQL 支持单节点、双节点、三节点、四节点架构,其中双节点架构采用一主机和一备机的模式,三节点架构采用一主机和两备机的模式,四节点架构采用一主机和三备机的模式。此外,云数据库 MySQL 的灾备实例也有主机和备机。

·告警对象为双/三/四节点实例:表示对实例的主机进行监控;

·告警对象为单节点实例,表示对单节点实例本身进行监控;

·告警对象为灾备实例,表示对灾备实例的主机进行监控。

对应监控指标请参见 云数据库 MySQL 监控指标。

三、云数据库 > MySQL > 备机监控

表示对云数据库 MySQL 实例的备机进行监控。云数据库 MySQL 支持单节点、双节点、三节点、四节点架构,其中双节点架构采用一主机和一备机的模式,三节点架构采用一主机和两备机的模式,四节点架构采用一主机和三备机的模式。此外,云数据库 MySQL 的灾备实例也有主机和备机。

·告警对象为双/三/四节点实例:表示对主实例的备机进行监控;

·告警对象为灾备实例,表示对灾备实例的备机进行监控。

对应监控指标请参见 云数据库 MySQL 监控指标。

监控指标 说明
IO 线程状态 IO 线程运行状态
SQL 线程状态 SQL 线程运行状态
主从延迟距离 主从 binlog 差距
主从延迟时间 主从延迟时间

四、云数据库 > MySQL > 智能监控(DBbrain)

表示拉取实例指标监控到数据库智能管家 DBbrain。

五、云数据库 > MySQL > 代理监控

表示对开通了数据库代理的云数据库 MySQL 实例进行监控。对应监控指标请参见 云数据库 MySQL 监控指标。

六、云数据库 > MySQL > 集群版监控

表示对云盘版(云盘)架构的实例进行监控。对应监控指标请参见 云数据库 MySQL 监控指标。

七、云数据库 > MySQL > 只读分析引擎 > 只读分析引擎节点监控

表示对云数据库 MySQL 只读分析引擎下的指定节点进行监控。

八、云数据库 > MySQL > 只读分析引擎 > 只读分析引擎汇总监控

表示对云数据库 MySQL 只读分析引擎进行汇总监控,不能指定监控只读分析引擎下的某个节点。对应监控指标请参见 监控告警。

九、主从延迟监控说明

配置主从延迟监控分为以下两种场景,可根据实际场景对应操作。

十、场景一:为主实例配置主从延迟监控

1. 登录 腾讯云可观测平台,在左侧导航选择告警管理 > 告警配置。

2. 在告警策略页面,单击新建策略,选择自定义告警策略。

3. 在告警策略页,策略类型项选择:云数据库 > MySQL > 备机监控。

注意:说明:

注意:为主实例配置主从延迟监控,策略类型要选择备机监控,监控的是备机到主机的延迟信息。

4. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据你的需要完成其他配置项的设置,单击完成。

十一、场景二:为 RO 和灾备实例配置主从延迟监控

1. 登录 腾讯云可观测平台,在左侧导航选择告警管理 > 告警配置。

2. 在告警策略页面,单击新建策略,选择自定义告警策略。

3. 在告警策略页,策略类型项选择:云数据库 > MySQL > 主机监控。

注意:说明:

4. 在配置告警规则下完成对监控项“主从延迟距离”和“主从延迟时间”的触发条件设置,然后根据你的需要完成其他配置项的设置,单击完成。

十二、数据库审计监控说明

开通数据库审计服务的云数据库 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 或者服务。

赞 (0)
上一篇 4天前
下一篇 4天前