GBase 8a 数据库集群,从V95开始,可以通过SQL查询系统元数据表来获得集群各个服务的状态,每个节点的内存,磁盘使用情况等。
目录导航
元数据表
都在information_schema库下。
其中状态类:0=不可用(不包含此服务),1=正常,2=异常;
数据类,0=不可用(不包含此服务,或者服务进程异常,需要根据状态类区分),其它是实际占用的值(单位G,有2位小数)。
当gcluster和gnode在相同主机的目录下时,其磁盘使用量是相同的。
cluster_monit_info 集群所有节点
| 字段名称 | 字段类型 | 说明 | 
| HOST | varchar(256) | 服务器IP | 
| GCWARE_STATE | varchar(24) | GCWARE服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GCWARE服务 | 
| GCLUSTER_STATE | varchar(24) | GCLUSTER服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GCLUSTER服务 | 
| GNODE_STATE | varchar(24) | GNODE服务状态,1:OPEN, 2:CLOSE, 0:本节点不含GNODE服务 | 
| SYNCSERVER_STATE | varchar(24) | SYNCSERVER服务状态,1:OPEN, 2:CLOSE, 0:本节点不含SYNCSERVER服务 | 
| COORSERVER_DATA_STATUS | varchar(24) | coordinator节点的DataState状态,1:正常,2:异常, 0:本节点不是coordinator节点 | 
| DATASERVER_DATA_STATUS | varchar(24) | node节点的DataState状态,1:正常,2:异常, 0:本节点不是node节点 | 
| GCLUSTER_VMSIZE | varchar(24) | gclusterd进程使用的虚拟内存大小(GB), 0:本节点不含gclusterd进程 | 
| GCLUSTER_VMRSS | varchar(24) | gclusterd进程使用的物理内存大小(GB), 0:本节点不含gclusterd进程 | 
| GCLUSTER_DISK_AVAIL_PERCENT | varchar(24) | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的可用空间百分比, 0:本节点不含gclusterd进程 | 
| GCLUSTER_DISK_AVAIL_SIZE | varchar(24) | $GCLUSTER_HOME/userdata/gcluster目录对应挂载磁盘的可用剩余空间(GB), 0:本节点不含gclusterd进程 | 
| GNODE_VMSIZE | varchar(24) | gbased进程使用的虚拟内存大小(GB), 0:本节点不含gbased进程 | 
| GNODE_VMRSS | varchar(24) | gnode进程使用的物理内存大小(GB), 0:本节点不含gbased进程 | 
| GNODE_DISK_AVAIL_PERCENT | varchar(24) | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用空间百分比, 0:本节点不含gbased进程 | 
| GNODE_DISK_AVAIL_SIZE | varchar(24) | $GBASE_HOME/userdata/gbase目录对应挂载磁盘的可用剩余空间(GB), 0:本节点不含gbased进程 | 
| CLUSTER_STATUS | varchar(24) | 集群状态,1:ACTIVE | 
| CLUSTER_MODE | varchar(24) | 集群模式,1:NORMAL,2:READONLY, 3:RECOVERY | 
monit_info 当前节点
| 字段名称 | 字段类型 | 说明 | 
| VMSIZE | varchar(24) | gclusterd或gbased进程使用的虚拟内存大小(GB) | 
| VMRSS | varchar(24) | Gclusterd或gbased进程使用的物理内存大小(GB) | 
| DISK_AVAIL_SIZE | varchar(24) | $GCLUSTER_HOME/userdata/gcluster或$GBASE_HOME/userdata/gbase目录对应挂载磁盘的剩余空间(GB) | 
| DISK_AVAIL_PERCENT | varchar(24) | $GCLUSTER_HOME/userdata/gcluster或$GBASE_HOME/userdata/gbase目录对应挂载磁盘的使用百分比 | 
注意事项
由于该调用将访问gcware层,强行获得当前节点状态,所以会重新检查所有节点。在gcware刷新期间,不对外提供新的服务,新的请求将阻塞,直到gcware刷新完毕。
如果集群所有节点都正常,影响不大。但当部分节点繁忙,比如CPU,网络卡顿时,会导致节点返回时间边长,当主机OFFLINE,比如断电等,会需要等待timeout。
如果调用非常频繁,会影响现有业务执行,如果有节点离线,影响会放大。
建议频率最高每隔15分钟检查一次即可。
查询样例
[gbase@gbase_rh7_001 ~]$ gcadmin
CLUSTER STATE:         ACTIVE
VIRTUAL CLUSTER MODE:  NORMAL
================================================================
|            GBASE COORDINATOR CLUSTER INFORMATION             |
================================================================
|   NodeName   |   IpAddress   | gcware | gcluster | DataState |
----------------------------------------------------------------
| coordinator1 | gbase_rh7_001 |  OPEN  |   OPEN   |     0     |
----------------------------------------------------------------
=========================================================================================================
|                                    GBASE DATA CLUSTER INFORMATION                                     |
=========================================================================================================
| NodeName |                IpAddress                 | DistributionId | gnode | syncserver | DataState |
---------------------------------------------------------------------------------------------------------
|  node1   |              gbase_rh7_001               |       2        | OPEN  |    OPEN    |     0     |
---------------------------------------------------------------------------------------------------------
gbase> select * from cluster_monit_info\G
*************************** 1. row ***************************
                       HOST: gbase_rh7_001
               GCWARE_STATE: 1
             GCLUSTER_STATE: 1
                GNODE_STATE: 1
           SYNCSERVER_STATE: 1
     COORSERVER_DATA_STATUS: 1
     DATASERVER_DATA_STATUS: 1
            GCLUSTER_VMSIZE: 1.69
             GCLUSTER_VMRSS: 0.06
   GCLUSTER_DISK_AVAIL_SIZE: 22.35
GCLUSTER_DISK_AVAIL_PERCENT: 80.00
               GNODE_VMSIZE: 1.90
                GNODE_VMRSS: 0.06
      GNODE_DISK_AVAIL_SIZE: 22.35
   GNODE_DISK_AVAIL_PERCENT: 80.00
             CLUSTER_STATUS: 1
               CLUSTER_MODE: 1
1 row in set (Elapsed: 00:00:00.83)
gbase> select * from monit_info\G
*************************** 1. row ***************************
            VMSIZE: 1.71
             VMRSS: 0.07
   DISK_AVAIL_SIZE: 22.35
DISK_AVAIL_PERCENT: 80.00
1 row in set (Elapsed: 00:00:00.00)