如何在华为云中监控 GaussDB
Site24x7 为华为云 GaussDB(GDB)提供全面的监控支持,重点关注查询性能、健康状态和连接管理。
此服务帮助数据库管理员(DBA)在服务级别协议(SLA)范围内维护分布式 MySQL 数据库,有效防止性能下降影响应用层。
使用场景
及早发现性能回归:同时监控每秒查询数(QPS)、每秒事务数(TPS)和慢查询,可在部署或架构变更引入低效查询时及时发现。
复制延迟控制:毫秒级精度的复制延迟监控,有效降低过期读取导致数据一致性问题的风险。
查询性能调优:在用户感受到延迟下降之前,通过分析慢查询和行锁指标来指导索引优化。
设置与配置
GaussDB 资源在华为云集成过程中会自动发现并纳入监控。请按以下步骤启用监控:
- 导航至云 > Huawei > 添加华为监视器。按照步骤添加华为云监视器。
- 在添加或编辑华为云监视器时,从服务/资源类型下拉列表中选择 GaussDB,然后单击保存。
- 导航至云 > Huawei,选择已创建的华为监视器,然后单击 GaussDB 查看性能指标。
支持的指标
CPU 和内存
指标名称 | 说明 | 单位 |
| CPU 使用率 | GaussDB 实例消耗的整体 CPU 使用率。 | 百分比 |
| 内存使用率 | GaussDB 实例当前占用的总内存容量百分比。 | 百分比 |
网络
指标名称 | 说明 | 单位 |
| 网络输入吞吐量 | 实例每秒从客户端接收的数据量。 | 字节/秒 |
| 网络输出吞吐量 | 实例每秒向客户端发送的数据量。 | 字节/秒 |
| 接收包错误率 | 实例网络接口接收到的包中检测到错误的比率。 | 百分比 |
| 接收包丢失率 | 网络接口入站包的丢弃比率。 | 百分比 |
| 发送包错误率 | 实例网络接口发送的包中检测到错误的比率。 | 百分比 |
| 发送包丢失率 | 网络接口出站包的丢弃比率。 | 百分比 |
连接
指标名称 | 说明 | 单位 |
| 总连接数 | 客户端连接总数。 | 个 |
| 当前活跃连接数 | 当前正在处理请求的连接数。 | 个 |
| 连接使用率 | 当前使用的最大允许连接数百分比。 | 百分比 |
查询
指标名称 | 说明 | 单位 |
| QPS | 所有客户端连接每秒执行的 SQL 查询数。 | 个/秒 |
| TPS | 每秒提交和回滚的事务数。 | 个/秒 |
| 每秒 SELECT 语句数 | 客户端每秒执行的 SELECT 查询语句速率。 | 个/秒 |
| 每秒 INSERT 语句数 | 客户端每秒执行的 INSERT 查询语句速率。 | 个/秒 |
| 每秒 UPDATE 语句数 | 客户端每秒执行的 UPDATE 查询语句速率。 | 个/秒 |
| 每秒 DELETE 语句数 | 客户端每秒执行的 DELETE 查询语句速率。 | 个/秒 |
| 每秒 INSERT_SELECT 语句数 | 每秒执行的 INSERT_SELECT 查询语句速率。 | 个/秒 |
| 每秒 REPLACE 语句数 | 每秒执行的 REPLACE 语句速率。 | 个/秒 |
| 每秒 REPLACE_SELECTION 语句数 | 每秒执行的 REPLACE_SELECT 查询语句速率。 | 个/秒 |
| 每秒 INSERT 和 INSERT_SELECT 数 | 每秒 INSERT 和 INSERT_SELECT 查询语句的合计速率。 | 个/秒 |
| 每秒 COMMIT 语句数 | 每秒发出的显式 COMMIT 查询语句速率。 | 个/秒 |
| 每秒 ROLLBACK 语句数 | 每秒发出的显式 ROLLBACK 查询语句速率。 | 个/秒 |
| 慢查询日志 | 执行时间超过配置的慢查询阈值的查询数量。 | 个/分钟 |
InnoDB
指标名称 | 说明 | 单位 |
| 缓冲池使用率 | InnoDB 缓冲池页面当前被数据占用的百分比。 | 百分比 |
| 缓冲池命中率 | 无需磁盘读取即可从 InnoDB 缓冲池满足的读请求百分比。 | 百分比 |
| 缓冲池脏页比率 | 已修改但尚未刷新到磁盘的缓冲池页面百分比。 | 百分比 |
| InnoDB 读吞吐量 | InnoDB 每秒从缓冲池读取的数据量。 | 字节/秒 |
| InnoDB 写吞吐量 | InnoDB 每秒向缓冲池写入的数据量。 | 个/秒 |
| InnoDB 日志写请求频率 | 每秒向 InnoDB redo 日志发出写请求的速率。 | 个/秒 |
| InnoDB 日志写入次数 | 每秒对 InnoDB redo 日志执行的物理写入次数。 | 个/秒 |
| 行删除频率 | 每秒从 InnoDB 表中删除的行数。 | 个/秒 |
| 行插入频率 | 每秒向 InnoDB 表中插入的行数。 | 个/秒 |
| 行读取频率 | 每秒从 InnoDB 表中读取的行数。 | 个/秒 |
| 行更新频率 | 每秒在 InnoDB 表中更新的行数。 | 个/秒 |
| InnoDB 存储层每秒读请求数 | InnoDB 每秒向底层存储层发出的读请求数,表示缓存未命中次数。 | 个/秒 |
| InnoDB 每秒读请求数 | 每秒向 InnoDB 缓冲池发出的逻辑读请求总数。 | 个/秒 |
| InnoDB 缓冲池预读数 | 线性预读机制读入缓冲池的页面数。 | 个 |
| InnoDB 缓冲池预读驱逐数 | InnoDB 预读但未被访问就从缓冲池驱逐的页面数。 | 个 |
| InnoDB 缓冲池随机预读数 | InnoDB 发起的随机预读操作次数。 | 个 |
| InnoDB 页面读取数 | 每秒从 InnoDB 缓冲池读取的页面总数。 | 个 |
| InnoDB 页面写入数 | 写入 InnoDB 缓冲池的页面总数。 | 个 |
| 缓冲池总字节数 | InnoDB 缓冲池中当前保存的数据总字节数。 | 字节 |
| 行锁时间 | 等待 InnoDB 行级锁的累计时间(毫秒)。 | 毫秒 |
| 行锁等待次数 | InnoDB 在继续事务前等待行锁的次数。 | 个/分钟 |
磁盘和 I/O
指标名称 | 说明 | 单位 |
| 已用存储空间 | 数据库数据文件当前消耗的磁盘存储总量。 | GB |
| 磁盘使用率 | 实例当前使用的已分配存储总量。 | 百分比 |
| 写 IOPS | 每秒磁盘写 I/O 操作次数。 | 个/秒 |
| 读 IOPS | 每秒磁盘读 I/O 操作次数。 | 个/秒 |
| 写带宽 | 每秒向磁盘写入的总数据量。 | 字节/秒 |
| 读带宽 | 每秒从磁盘读取的总数据量。 | 字节/秒 |
| 存储写延迟 | 平均存储层写入时间(毫秒)。 | 毫秒 |
| 存储读延迟 | 平均存储层读取时间(毫秒)。 | 毫秒 |
复制
指标名称 | 说明 | 单位 |
| 复制延迟 | 主节点与备节点复制之间的时间滞后(秒)。 | 秒 |
| 复制延迟(毫秒级) | 主节点与备节点之间的细粒度复制延迟(毫秒)。 | 毫秒 |
其他
指标名称 | 说明 | 单位 |
| 临时表数量 | 活跃查询当前在内存或磁盘中存在的临时表数量。 | 个 |
| 每分钟创建临时表数 | 引擎为满足复杂查询而创建新临时表的速率。 | 个/分钟 |
| 长时间运行的事务数 | 已开启并执行时间超过配置阈值的事务数。 | 个 |
| undo 空间中的现有事务数 | 当前占用 undo 日志空间的活跃事务数。 | 个 |
| 使用范围进行排序的次数 | 每分钟使用索引范围执行排序操作的次数。 | 个/分钟 |
| 已排序行数 | 每分钟所有活跃排序操作中已排序的行数。 | 个/分钟 |
| 通过全表扫描排序的次数 | 每分钟需要全表扫描的排序操作次数。 | 个/分钟 |
| 打开表缓存查找命中数 | 成功查询表打开缓存以避免重新打开表的次数。 | 个/分钟 |
| 打开表缓存查找未命中数 | 在打开缓存中未找到表、需从磁盘重新打开的次数。 | 个/分钟 |
| Binlog 文件数 | 实例上当前存在的二进制日志文件总数。 | 个 |
| 写流量控制次数 | 存储层因写压力触发的写入限流事件次数。 | 个 |
| 读流量控制次数 | 存储层因读压力触发的读取限流事件次数。 | 个 |
阈值配置
您可以为所有 GaussDB 指标配置阈值和告警,以主动检测性能下降或连接问题。
- 前往管理 > 配置文件 > 阈值和可用性。
- 为 GaussDB 创建或编辑阈值配置文件。
- 将配置文件分配给相应监视器以触发告警。
IT 自动化
使用 Site24x7 的 IT 自动化解决 GaussDB 性能中的常见问题:
- 前往管理 > IT 自动化模板,然后单击添加自动化模板。
- 通过选择自动化类型(例如服务器重启、清除队列)创建自动化规则。
- 将创建的规则映射到 GaussDB,以便在告警时自动执行。
配置规则
使用配置规则简化跨 GaussDB 实例的批量设置。发现新监视器时,自动分配阈值配置文件、通知配置文件、标签和监视器组。
