通过sql语句检索系统视图,获取集群状态信息、内存信息和磁盘信息的功能。
采用了install plugin机制,在集群中增加cluster_monit_info和monit_info两个插件,插件可使用select * from gbase.plugin查看,分别存放在$GCLUSTER_HOME/server/lib/gbase/plugin与$GBASE_HOME/server/lib/gbase/plugin下,集群安装时默认安装。
其中libmonit_info.so插件读取gclusterd和gbased进程使用的虚拟内存大小和物理内存大小,获取$GCLUSTER_HOME/userdata/gcluster目录与$GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用百分比与剩余空间,这些信息会汇总到information_schema.monit_info中;libcluster_monit_info.so插件从gcware中获取集群状态、模式、各组件状态、集群数据信息等,也会通过libmonit_info.so中的方法获取磁盘与内存信息,汇总到cluster_monit_info中,所以使用时只需要查看information_schema.cluster_monit_info即可。
- 集群状态信息
系统表字段名称 | 字段说明 |
CLUSTER_STATUS | 1:ACTIVE 2:LOCK |
语法:select gcluster_status from information_schema.cluster_monit_info;
可使用gcadmin查看验证该语句执行结果是否正确。
当集群超过一半coor节点gcware服务异常时,V862版本集群返回结果为2,V95版本执行该命令会卡住。
- 集群模式信息
系统表字段名称 | 字段说明 |
CLUSTER_MODE | 1:NORMAL 2:READONLY 3:RECOVERY |
语法:select gcluster_mode from information_schema.cluster_monit_info;
可使用gcadmin查看验证该语句执行结果是否正确,V953版本无法使用gcadmin命令查看。
- 集群组件状态信息
系统表字段名称 | 字段说明 |
HOST | 服务器IP |
GCWARE_STATE | GCWARE服务状态 0:本节点没有gcware服务 1:OPEN,服务正常 2:CLOSE,服务异常 |
GCLUSTER_STATE | GCLUSTER服务状态 0:本节点没有gclusterd服务 1:OPEN,服务正常 2:CLOSE,服务异常 |
GNODE_STATE | GNODE服务状态 0:本节点没有gbased服务 1:OPEN,服务正常 2:CLOSE,服务异常 |
SYNCSERVER_STATE | SYNCSERVER服务状态 0:本节点没有syncserver服务 1:OPEN,服务正常 2:CLOSE,服务异常 |
- 集群数据状态信息
系统表字段名称 | 字段说明 |
HOST | 服务器IP |
COORSERVER_DATA_STATUS | coordinator节点服务状态 0:本节点不是coordinator节点 1:正常 2:异常 |
DATASERVER_DATA_STATUS | node服务状态 0:本节点不是node节点 1:正常 2:异常 |
- 集群服务器内存和磁盘信息
系统表字段名称 | 字段说明 |
HOST | 服务器IP |
GCLUSTER_VMSIZE | gclusterd进程使用的虚拟内存大小 0:本节点不包含gclusterd进程 |
GCLUSTER_VMRSS | gclusterd进程使用的物理内存大小 0:本节点不是gclusterd进程 |
GCLUSTER_DISK_AVAIL_SIZE | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的可用半分比 0:本节点不包含gclusterd进程 |
GNODE_DISK_AVAIL_PERCENT | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的剩余可用空间 0:本节点不包含gclusterd进程 |
GNODE_VMSIZE | gnode进程使用的虚拟内存大小 0:本节点不包含gnode进程 |
GNODE_VMRSS | gnode进程使用的物理内存大小 0:本节点不是gnode进程 |
GNODE_DISK_AVAIL_SIZE | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用半分比 0:本节点不包含gbased进程 |
GNODE_DISK_AVAIL_PERCENT | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的剩余可用空间 0:本节点不包含gbased进程 |