如何在华为云中监控 GaussDB openGauss
Site24x7 为 GaussDB 上的 openGauss 提供全面监控,包括 CPU 使用率、会话活动、SQL 性能、WAL 日志和灾备复制。
此解决方案为企业数据库管理员(DBA)提供全栈可见性,帮助他们有效维护关键联机事务处理(OLTP)工作负载的服务级别协议(SLA)。
使用场景
空闲事务检测:针对事务空闲中会话的告警有助于防止锁积累,避免并发查询吞吐量下降。
灾备合规:监控共享恢复点目标(RPO)和恢复时间目标(RTO),确保符合监管恢复目标。
WAL 空间管理:针对非活跃复制槽和事务日志(xlog)大小的告警可防止 WAL 日志过度积累,保护磁盘空间。
设置与配置
GaussDB openGauss 资源在华为云集成期间将被自动发现并监控。要启用监控,请按以下步骤操作:
- 导航至云 > 华为 > 添加华为监视器。按照步骤添加华为云监视器。
- 在添加或编辑华为云监视器时,从服务/资源类型下拉菜单中选择 GaussDB openGauss,然后单击保存。
- 导航至云 > 华为,选择已创建的华为监视器,然后单击 GaussDB openGauss 查看性能指标。
支持的指标
CPU 和内存
指标名称 | 描述 | 单位 |
| CPU Usage | GaussDB V5 实例当前消耗的 CPU 容量总百分比。 | Percentage |
| Memory Usage | GaussDB V5 实例当前使用的总内存容量百分比。 | Percentage |
| User-mode CPU Time Percentage | 用于执行用户空间数据库进程所占 CPU 时间的比例。 | Percentage |
| Kernel-mode CPU Time Percentage | 代表数据库执行内核空间操作所占 CPU 时间的比例。 | Percentage |
| Disk I/O Wait Time Percentage | 等待磁盘 I/O 操作完成所占 CPU 时间的比例。 | Percentage |
| Swap Memory Usage | 实例当前使用的总交换空间百分比。 | Percentage |
| Total Swap Memory | 实例配置并可用的总交换空间量。 | MB |
网络
指标名称 | 描述 | 单位 |
| Data Write Volume | 实例每秒从客户端接收的数据量。 | Byte |
| Outgoing Data Volume | 实例每秒发送给客户端的数据量。 | Byte |
| Retransmission Ratio | TCP 段被重传的比例,表明存在网络可靠性问题。 | Percentage |
磁盘和 I/O
指标名称 | 描述 | 单位 |
| Disk IOPS | 实例存储每秒完成的读写 I/O 操作总次数。 | IOPS |
| Disk Write Throughput | 实例每秒写入磁盘的数据量。 | KB/second |
| Disk Read Throughput | 实例每秒从磁盘读取的数据量。 | KB/second |
| Average Time per Disk Write | 完成单次磁盘写入操作所需的平均时间(毫秒)。 | Milliseconds |
| Average Time per Disk Read | 完成单次磁盘读取操作所需的平均时间(毫秒)。 | Milliseconds |
| Disk I/O Bandwidth Usage | 当前消耗的总可用磁盘 I/O 带宽百分比。 | Percentage |
| IOPS Usage | 实例当前使用的已分配 IOPS 限制百分比。 | Percentage |
实例和磁盘
指标名称 | 描述 | 单位 |
| Used Instance Disk Size | 实例级数据文件当前消耗的磁盘存储量。 | MB |
| Total Instance Disk Size | 分配给 GaussDB V5 实例的总磁盘容量。 | MB |
| Instance Disk Usage | 当前使用的总实例磁盘容量百分比。 | Percentage |
| Buffer Hit Rate | 无需磁盘读取即可从共享缓冲区缓存提供服务的数据块读取请求百分比。 | Percentage |
| Deadlocks | 监控周期内数据库引擎检测并解决的死锁事件数量。 | Count |
| Response Time of 80% SQL Statements | 80% 的 SQL 语句执行完成时间低于该延迟值(P80)。 | Milliseconds |
| Response Time of 95% SQL Statements | 95% 的 SQL 语句执行完成时间低于该延迟值(P95)。 | Milliseconds |
| System Database Size | 实例上所有系统数据库模式的总大小。 | MB |
| User Database Total Size | 实例上所有用户创建数据库的合计大小。 | MB |
组件和磁盘
指标名称 | 描述 | 单位 |
| Used Disk Size | 组件级数据消耗的磁盘存储量(与实例级统计分开)。 | MB |
| Total Disk Size | 组件级别可用的总磁盘容量。 | MB |
| Disk Usage | 当前使用的组件级磁盘容量百分比。 | Percentage |
复制
指标名称 | 描述 | 单位 |
| Primary Node Flow Control Duration | 主节点为限制复制写入速度而应用流量控制的持续时间。 | Milliseconds |
| Standby RTO Duration | 根据当前重做进度估算的备节点 RTO。 | Milliseconds |
| Standby Node Redo Progress | 备节点相对于主节点重放重做日志的进度度量。 | Byte |
| WAL Log Size in Replication Slot | 活跃复制槽中等待副本消费的 WAL 日志数据总大小。 | Byte |
| Xlog Rate | 主节点 xlog 序列号的推进速率。 | Byte |
| Shard Log Gap of DR Cluster | 主分片与灾备集群之间的日志量差异。 | Byte |
| Size of Shard Logs to Be Replayed | 灾备集群上已接收但尚未重放的分片日志量。 | Byte |
| Flushing Rate of Shard Logs in DR | 灾备集群中分片日志刷写到磁盘的速率。 | Byte/second |
| Replay Rate of Shard Logs in DR | 灾备集群重放分片日志的速率。 | Byte/second |
| Shard RPO | 分片的 RPO,反映故障转移时的最大潜在数据丢失量。 | Seconds |
| Shard RTO | 分片的 RTO,反映故障后恢复的预计时间。 | Milliseconds |
| Inactive Replication Slots | 不再被消费的复制槽数量,导致主节点上的 WAL 日志积累。 | Count |
| Size of Read Replica Logs Not Replayed | 只读副本节点接收但尚未应用的日志量。 | MB |
| Difference Between Redo and Receipt Positions | 备节点接收日志量与重放日志量之间的差距。 | MB |
会话
指标名称 | 描述 | 单位 |
| User Logins per Second | 实例每秒发生的新用户登录事件速率。 | Count/second |
| User Logouts per Second | 实例每秒发生的用户会话注销事件速率。 | Count/second |
| Lock Waiting Session Ratio | 当前因等待获取锁而被阻塞的活跃会话比例。 | Percentage |
| Active Session Rate | 当前正在执行查询的会话占总会话的比例。 | Percentage |
| CN Connections | 当前与协调节点建立的连接数。 | Count |
| Online Sessions | 当前连接到实例的用户会话总数。 | Count |
| Active Sessions | 当前正在执行查询或事务的会话数量。 | Count |
| Online Session Rate | 已连接会话占最大会话限制的比例。 | Percentage |
| Sessions Waiting for Locks | 当前因等待获取数据库锁而被阻塞的会话数量。 | Count |
| Waiting Sessions | 处于任何等待状态(包括锁等待和 I/O 等待)的会话总数。 | Count |
| Online Clients | 与实例建立活跃连接的不同客户端地址数量。 | Count |
| Active Clients | 近期至少执行过一次查询的不同客户端地址数量。 | Count |
| Login Attempts with Incorrect Passwords | 监控周期内因密码错误导致的身份验证失败次数。 | Count |
事务
指标名称 | 描述 | 单位 |
| User Committed Transactions per Second | 每秒用户发起的事务成功提交速率。 | Count/second |
| User Rollback Transactions per Second | 每秒用户发起的事务回滚速率。 | Count/second |
| Background Committed Transactions per Second | 每秒后台进程事务提交速率,例如自动清理和检查点工作。 | Count/second |
| Background Rollback Transactions per Second | 每秒后台进程事务回滚速率。 | Count/second |
| Average Response Time of User Transactions | 用户发起的事务从开始到提交或回滚的平均完成时间(毫秒)。 | Milliseconds |
| User Transaction Rollback Rate | 以回滚而非提交结束的用户事务比例。 | Percentage |
| Background Transaction Rollback Rate | 以回滚结束的后台事务比例。 | Percentage |
| Maximum Execution Duration of DB Transactions | 实例上当前运行时间最长的事务的已用时间。 | Milliseconds |
| Idle Transactions | 处于打开但当前空闲状态、持有锁或资源但未执行的事务数量。 | Count |
| Oldest Two-Phase Commit Transaction Duration | 仍待解决的最旧已准备(两阶段提交)事务的存在时长。 | Milliseconds |
SQL
指标名称 | 描述 | 单位 |
| Data Definition Language/s | 每秒执行的 DDL 语句(CREATE、ALTER、DROP)速率。 | Count/second |
| Data Manipulation Language/s | 每秒执行的 DML 语句(INSERT、UPDATE、DELETE、SELECT)速率。 | Count/second |
| Data Control Language/s | 每秒执行的 DCL 语句(GRANT、REVOKE)速率。 | Count/second |
| DDL and DCL Rate | DDL 和 DCL 语句占总 SQL 活动的综合比例。 | Percentage |
| Slow SQL Statements in System Database | 在系统数据库模式中检测到的慢速 SQL 语句数量。 | Count |
| Slow SQL Statements in User Database | 在用户创建数据库模式中检测到的慢速 SQL 语句数量。 | Count |
| SELECT Distribution | SELECT 语句执行在节点或时间上的分布,显示读取工作负载扩展情况。 | Count |
| UPDATE Distribution | UPDATE 语句执行在节点或时间上的分布,显示写入工作负载扩展情况。 | Count |
| INSERT Distribution | INSERT 语句执行在节点或时间上的分布。 | Count |
| DELETE Distribution | DELETE 语句执行在节点或时间上的分布。 | Count |
| SQL Statements | 监控周期内执行的 SQL 语句总数。 | Count |
| Read Requests | 实例每秒处理的读取(SELECT)请求总数。 | Count/second |
| INSERT Request Response Time | INSERT 语句执行的平均响应时间(毫秒)。 | Milliseconds |
| UPDATE Request Response Time | UPDATE 语句执行的平均响应时间(毫秒)。 | Milliseconds |
| DELETE Request Response Time | DELETE 语句执行的平均响应时间(毫秒)。 | Milliseconds |
| Read Request Response Time | SELECT 语句执行的平均响应时间(毫秒)。 | Milliseconds |
资源
指标名称 | 描述 | 单位 |
| Used Dynamic Memory | 当前为查询执行和其他运行时操作分配的动态内存量。 | MB |
| Dynamic Memory Usage | 当前活跃操作消耗的动态内存池百分比。 | Percentage |
| Used Memory | GaussDB V5 数据库进程当前消耗的总进程内存。 | MB |
| Thread Pool Usage | 当前活跃工作线程占线程池容量的百分比。 | Percentage |
Xlog
指标名称 | 描述 | 单位 |
| Data Volume to Be Flushed to Disks | 内存中尚未被检查点进程写入磁盘的脏数据量。 | MB |
| Physical Reads per Second | 数据库引擎每秒执行的物理磁盘读取操作次数。 | Count/second |
| Physical Writes per Second | 数据库引擎每秒执行的物理磁盘写入操作次数。 | Count/second |
| Xlogs | 实例上当前存在的 xlog 文件总数。 | Count |
| Xlog Size | 实例上 xlog 文件消耗的总磁盘空间。 | MB |
| CN Temporary Directory Size | 协调节点临时目录中临时文件消耗的磁盘空间。 | MB |
状态
指标名称 | 描述 | 单位 |
| DN Status | GaussDB V5 集群中数据节点实例的健康和运行状态。 | Status |
| Replication Slot Directory Size | 主节点上所有复制槽目录消耗的总磁盘空间。 | MB |
| Heap and Index Tuple Inconsistencies | 堆表元组与其对应索引条目之间检测到的不一致数量,表明存在数据完整性问题。 | Count |
阈值配置
您可以为所有 GaussDB openGauss 指标配置阈值和告警,以主动检测性能下降或连接问题。
- 前往管理 > 配置文件 > 阈值与可用性。
- 为 GaussDB openGauss 创建或编辑阈值配置文件。
- 将配置文件分配给相应的监视器以触发告警。
IT 自动化
使用 Site24x7 的 IT 自动化解决 GaussDB openGauss 性能的常见问题:
- 前往管理 > IT 自动化模板,然后单击添加自动化模板。
- 通过选择自动化类型(例如,服务器重启、清除队列)创建自动化规则。
- 将创建的规则映射到 GaussDB openGauss,以便在告警期间自动执行。
配置规则
使用配置规则简化 GaussDB openGauss 实例的批量配置。当发现新监视器时,自动分配阈值配置文件、通知配置文件、标签和监视器组。
