外观
GaussDB 集群指标
集群状态指标
节点状态指标
节点状态:集群中各个节点的运行状态
- 监控方法:使用gs_om工具或查询pg_stat_replication视图
- 状态值:正常、异常、未知
- 正常状态:所有节点均为正常状态
节点数量:集群中的节点总数
- 监控方法:使用gs_om工具或查询系统视图
- 指标:主节点数、备节点数、级联备节点数
- 正常范围:符合集群设计的节点数量
节点角色:集群中各个节点的角色
- 监控方法:查询pg_stat_replication视图或gs_om工具
- 角色:主节点、同步备节点、异步备节点、级联备节点
- 正常状态:角色分配符合集群设计
集群健康指标
集群可用性:集群的整体可用状态
- 监控方法:使用gs_check工具或监控系统
- 计算方法:可用时间 / 总时间 * 100%
- 正常范围:应达到99.9%以上
故障转移次数:集群发生故障转移的次数
- 监控方法:查看数据库日志或集群事件日志
- 关键字:"failover", "switchover"
- 正常范围:应尽量少,理想情况为0
集群版本一致性:集群中所有节点的版本是否一致
- 监控方法:使用gs_om工具
- 命令:
gs_om -t status --detail - 正常状态:所有节点版本一致
性能指标
集群吞吐量指标
集群TPS:集群每秒处理的事务数
- 监控方法:查询所有节点的pg_stat_database视图,求和计算
- 计算公式:Σ(tup_returned + tup_fetched + tup_inserted + tup_updated + tup_deleted) / 时间间隔
- 正常范围:根据业务负载而定
集群QPS:集群每秒处理的查询数
- 监控方法:查询所有节点的pg_stat_database视图,求和计算
- 计算公式:Σ(xact_commit + xact_rollback) / 时间间隔
- 正常范围:根据业务负载而定
节点负载均衡:各个节点的负载分布情况
- 监控方法:比较各个节点的TPS、QPS和资源使用率
- 指标:负载差异率 = (最大负载 - 最小负载) / 平均负载
- 正常范围:负载差异率应小于20%
资源使用指标
集群CPU使用率:集群整体的CPU使用率
- 监控方法:汇总各个节点的CPU使用率
- 正常范围:通常应小于70%
集群内存使用率:集群整体的内存使用率
- 监控方法:汇总各个节点的内存使用率
- 正常范围:根据集群配置而定
集群磁盘使用率:集群整体的磁盘使用率
- 监控方法:汇总各个节点的磁盘使用率
- 正常范围:通常应小于80%
复制指标
同步状态指标
复制延迟:备节点与主节点的同步延迟
- 监控方法:查询pg_stat_replication视图
- 指标:replay_lsn与主节点current_lsn的差异
- 正常范围:通常应小于1MB
同步备节点数量:当前同步状态的备节点数量
- 监控方法:查询pg_stat_replication视图
- 过滤条件:sync_state = 'sync'
- 正常范围:根据集群设计而定
复制中断次数:复制连接中断的次数
- 监控方法:查看数据库日志
- 关键字:"replication connection lost"
- 正常范围:应尽量少
复制性能指标
WAL发送速率:主节点发送WAL日志的速率
- 监控方法:查询pg_stat_replication视图
- 计算公式:(sent_lsn - previous_sent_lsn) / 时间间隔
- 正常范围:根据业务负载而定
WAL接收速率:备节点接收WAL日志的速率
- 监控方法:查询pg_stat_replication视图
- 计算公式:(write_lsn - previous_write_lsn) / 时间间隔
- 正常范围:应与WAL发送速率匹配
WAL回放速率:备节点回放WAL日志的速率
- 监控方法:查询pg_stat_replication视图
- 计算公式:(replay_lsn - previous_replay_lsn) / 时间间隔
- 正常范围:应与WAL发送速率匹配
存储指标
集群存储使用指标
集群总存储使用量:集群所有节点的存储使用总量
- 监控方法:汇总各个节点的存储使用量
- 正常范围:根据集群存储配置而定
节点存储使用分布:各个节点的存储使用情况
- 监控方法:比较各个节点的存储使用率
- 指标:存储差异率 = (最大存储使用率 - 最小存储使用率) / 平均存储使用率
- 正常范围:存储差异率应小于20%
存储增长速率:集群存储使用的增长速率
- 监控方法:定期收集存储使用数据,计算增长率
- 计算公式:(当前存储使用量 - 历史存储使用量) / 时间间隔
- 正常范围:根据业务增长情况而定
表空间使用指标
表空间使用分布:各个表空间的使用情况
- 监控方法:查询所有节点的pg_tablespace视图
- 指标:表空间大小、使用率
- 正常范围:根据表空间配置而定
表空间增长速率:各个表空间的增长速率
- 监控方法:定期收集表空间使用数据,计算增长率
- 计算公式:(当前表空间大小 - 历史表空间大小) / 时间间隔
- 正常范围:根据业务增长情况而定
连接指标
集群连接指标
集群总连接数:集群当前的总连接数
- 监控方法:汇总各个节点的pg_stat_database视图中的numbackends字段
- 正常范围:应小于所有节点max_connections之和的80%
节点连接分布:各个节点的连接分布情况
- 监控方法:比较各个节点的连接数
- 指标:连接差异率 = (最大连接数 - 最小连接数) / 平均连接数
- 正常范围:连接差异率应小于20%
连接使用率:集群连接的使用率
- 监控方法:(当前总连接数 / 总最大连接数) * 100%
- 正常范围:通常应小于80%
连接状态指标
活跃连接数:集群当前的活跃连接数
- 监控方法:汇总各个节点的pg_stat_activity视图中的活跃连接数
- 正常范围:根据业务负载而定
空闲连接数:集群当前的空闲连接数
- 监控方法:汇总各个节点的pg_stat_activity视图中的空闲连接数
- 正常范围:应尽量少,可通过设置idle_in_transaction_session_timeout优化
网络指标
节点间网络指标
节点间网络延迟:各个节点之间的网络延迟
- 监控方法:使用ping命令或网络监控工具
- 正常范围:通常应小于1ms
节点间网络带宽:各个节点之间的网络带宽使用率
- 监控方法:使用iostat、sar等工具
- 正常范围:通常应小于70%
节点间网络丢包率:各个节点之间的网络丢包率
- 监控方法:使用ping命令或网络监控工具
- 正常范围:通常应小于0.1%
集群网络流量指标
集群网络总流量:集群整体的网络流量
- 监控方法:汇总各个节点的网络流量
- 正常范围:根据集群网络配置而定
节点网络流量分布:各个节点的网络流量分布情况
- 监控方法:比较各个节点的网络流量
- 指标:流量差异率 = (最大流量 - 最小流量) / 平均流量
- 正常范围:流量差异率应小于20%
监控工具和方法
内置监控工具
gs_om:集群管理工具,用于查看集群状态
- 命令:
gs_om -t status - 功能:查看节点状态、版本信息、集群状态
- 命令:
gs_check:集群检查工具,用于检查集群健康状态
- 命令:
gs_check -i cluster - 功能:检查节点状态、复制状态、版本一致性
- 命令:
*pg_stat_视图:PostgreSQL内置的统计视图
- 视图:pg_stat_database, pg_stat_replication, pg_stat_bgwriter
- 功能:提供数据库、复制、后台写入等统计信息
第三方监控工具
Prometheus + Grafana:开源监控和可视化工具
- 功能:收集集群指标,创建可视化仪表盘
- 优点:灵活、可扩展、支持告警
Zabbix:开源监控工具
- 功能:监控集群状态、资源使用、性能指标
- 优点:成熟、稳定、支持多种告警方式
华为云监控:Cloud Eye
- 功能:监控华为云GaussDB集群
- 优点:与华为云深度集成,支持自动发现
常见问题(FAQ)
Q1: 如何监控集群的整体状态?
A1: 监控集群整体状态的方法:
- 使用gs_om工具查看节点状态
- 监控集群的TPS、QPS和资源使用率
- 监控复制状态和延迟
- 监控网络状态和节点间通信
- 配置集群级别的告警规则
Q2: 如何判断集群是否负载均衡?
A2: 判断集群负载均衡的方法:
- 比较各个节点的TPS、QPS
- 比较各个节点的CPU、内存使用率
- 比较各个节点的连接数
- 计算负载差异率,通常应小于20%
- 查看是否有节点负载明显高于其他节点
Q3: 如何监控集群的复制状态?
A3: 监控集群复制状态的方法:
- 查询pg_stat_replication视图
- 监控复制延迟
- 监控WAL发送、接收和回放速率
- 监控复制连接状态
- 配置复制相关的告警规则
Q4: 如何优化集群性能?
A4: 优化集群性能的方法:
- 确保集群负载均衡
- 优化数据库参数配置
- 优化SQL查询和索引
- 确保存储和网络性能
- 考虑使用读写分离和分片
Q5: 集群监控的最佳实践是什么?
A5: 集群监控的最佳实践:
- 监控关键指标,包括状态、性能、资源使用、复制等
- 设置合理的告警阈值
- 使用可视化工具展示监控数据
- 定期分析监控数据,找出性能瓶颈
- 持续优化监控配置和告警规则
