查看巡检
背景信息
GaussDB(DWS)支持在变更操作前(扩/缩容、经典规格变更、升级)进行集群巡检,即在对应变更页面单击“立即巡检”按钮后会巡检当前集群的健康状态和集群指标是否满足变更要求,检查通过后可开始变更。如果巡检不通过,可打开巡检详情,查看不通过的巡检项,根据详情说明处理不通过的巡检项。巡检项检查标准详情请参见表1。
- 该特性仅8.1.1及以上集群版本支持。
- 如果用户无法处理不通过的巡检项,请联系技术支持人员。
注意事项
- 集群已安装巡检插件并且插件版本为8.3.1.100及以上。
- 当前巡检结果24小时内有效,在有效期可执行变更操作,超过后需要重新进行巡检。
- 变更前集群24小时内没有巡检成功过,在变更操作(扩/缩容、经典规格变更、升级)开始前需要先完成一次巡检,并保证巡检检查通过。
查看巡检详情
- 登录GaussDB(DWS) 管理控制台。
- 在集群列表中单击指定集群名称。
- 进入“集群详情”页面,切换至“巡检管理”页签。
- 单击指定任务名称旁边的下拉按钮,查看巡检结果(巡检状态、执行进度、巡检结果、通过率等),并单击所在行“查看详情”按钮查看具体巡检项详情。
图1 查看巡检详情
在变更界面创建巡检任务后也可在当前页面查看巡检进度,巡检详情以及终止巡检。
终止巡检任务
- 登录GaussDB(DWS) 管理控制台。
- 在集群列表中单击指定集群名称。
- 进入“集群详情”页面,切换至“巡检管理”页签。
- 单击巡检中任务所在行操作列的“终止任务”按钮终止该巡检任务。
巡检项检查标准说明
变更操作 |
巡检项名称 |
检查标准 |
---|---|---|
扩/缩容、经典变更前巡检 |
CheckTimeZone |
检查集群内各节点时区,如果时区一致则检查通过,否则检查项不通过。 |
CheckSpaceUsage |
如果使用率超过warning阈值(默认为70%)报warning,超过NG阈值(默认为90%)则检查项不通过 。集群路径下检查“GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data”路径的剩余空间,不满足阈值则检查项不通过。 |
|
CheckClusterState |
CM进程不存在,检查不通过;检查fenced UDF状态,如果为down则报warning;检查集群状态为Normal,则检查项通过,否则检查项不通过。 |
|
CheckEnvProfile |
检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),如果环境变量存在并配置正确则检查项通过,否则检查项不通过。 |
|
CheckReadonlyMode |
检查集群中所有含CN节点上default_transaction_read_only值,如果为off则检查通过,否则不通过。 |
|
CheckCatchup |
检查gaussdb进程堆栈是否能搜索到CatchupMain函数,如果搜索不到则检查项通过,否则检查项不通过。 |
|
CheckCollector |
查看信息收集是否成功,如果收集成功则检查项通过,否则检查项不通过。 |
|
CheckTrust |
检查各个节点的是否互信,如果有节点未互信则检查不通过,否则检查通过。 |
|
CheckBalanceState |
如果集群Balanced属性为Yes,则检查项通过,否则Warning,如果查询失败则检查项不通过。 |
|
CheckCnNumberSame |
如果“/opt/dws/xml/cluster.xml和cm_ctl query -Cv”查询出来的CN数量不一致,检查通过,否则检查不通过。 |
|
CheckCMParam |
如果enable_transaction_read_only为on、coordinator_heartbeat_timeout各节点一致,检查通过。 |
|
CheckUtilslib |
如果$GAUSSHOME/utilslib目录存在,则检查不通过,否则检查通过。 |
|
CheckPgxcgroup |
检查pgxc_group表中in_redistribution为Y的个数,如果数量为0则检查项通过,否则检查项不通过。 |
|
CheckLockState |
检查集群是否被锁,如果集群未锁则检查通过,否则检查项不通过。 |
|
CheckDBConnection |
检查能否连接数据库,如果连接成功则检查项通过,否则检查项不通过。 |
|
CheckGUCConsistent |
检查各CN/DN实例的guc参数是否一致,如果全部一致则检查通过,否则检查不通过。 |
|
CheckTDDate |
若存在TD模式数据库下的orc表,且包含date类型的列则检查不通过。 |
|
CheckPgxcRedistb |
检查数据库中是否存在重分布残留的临时表,如果不存在则检查通过,否则检查不通过。 |
|
CheckMetaData |
检查系统表元数据是否一致,如果一致,则检查通过,否则检查不通过。 |
|
CheckGUCSetting |
postgresql.conf中GUC参数和pg_settings中参数是否一致,一致则检查通过,否则不通过。 |
|
CheckProacl |
检查pg_proc系统表中proacl中是否存在纯数字用户名,如果存在,检查不通过,否则检查通过。 |
|
CheckMetaDataConsistency |
检查系统表在CN和DN之间数据是否一致,一致则检查通过,否则检查不通过。 |
|
CheckReturnType |
用户自定义函数包含非法返回类型,检查不通过,否则检查通过。 |
|
CheckUltraWideTable |
如果存在超过996列的表,检查不通过,否则检查通过。 |
|
CheckDataRedisSchema |
如果数据库中存在data_redis schema且属主用户名不是redisuser,则检查不通过,否则检查通过。 |
|
CheckDiskSpaceLimited |
用户的磁盘空间是否受限,如果受限,检查不通过,否则检查通过。 |
|
CheckTableCollate |
如果数据库中存在PCK表或者列存分区表使用collate字段,检查不通过,否则检查通过。 |
|
CheckDefaultOrientation |
检测GUC参数,数据库设置和用户设置default_orientation均为行存则通过,否则检查不通过。 |
|
CheckReplicationUuid |
不存在使用default uuid的复制表则通过,否则检查不通过。 |
|
CheckUserStatementTimeout |
检测用户级的statement_timeout设置,未设置或设置为0则通过,否则检查不通过。 |
|
CheckJsonb |
执行SQL语句“select attrelid::regclass from pg_attribute a join pg_type t on a.atttypid = t.oid and t.typname = 'jsonb' group by 1”,如果使用jsonb类型检查不通过,否则检查通过。 |
|
CheckLengthOfIndex |
执行SQL语句SELECT“ length(pg_get_indexdef(indexrelid)) FROM pg_index order by 1 desc limit 1”,如果结果大于192*1024检查不通过,否则检查通过。 |
|
CheckLengthOfTable |
执行SQL语句“select c.oid from pg_class c,pg_namespace n where c.relnamespace=n.oid and relkind='r' and n.nspname not in ('cstore') and length(n.nspname||'.'||c.relname)>=64;”,如果结果不为空检查不通过,否则检查通过。 |
|
CheckUseWorkloadManager |
执行sql语句“show use_workload_manager”,如果结果为on,检查通过,否则检查不通过。8.1.3.320及以后的版本不再校验此项参数,即此后的版本检查通过。 |
|
CheckNecessarySchema |
检查必要“schema(public)”是否都存在,如果缺失则检查不通过,否则检查通过。 |
|
CheckCMParamConsistency |
获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。 |
|
CheckSQLCompatibility |
mysql兼容性模式下,重分步临时表带索引会导致重分布慢。在对应的业务库中“SHOW sql_compatibility;”,如果值是mysql,且behavior_compat_options没有设置枚举值disable_including_all_mysql则检查不通过,否则检查通过。 |
|
CheckBinaryUpgrade |
检查“/DWS/manager/upgrade_backup/”下是否有对应的备份文件,如果存在备份的文件,则检查不通过,否则检查通过。 |
|
CheckColdTableSpace |
在所有库中检查是否存在冷热表,如果存在则检查不通过,否则检查通过。 |
|
CheckXFS |
查看“/etc/os-release”文件获取版本信息,如果是EulerOS且版本在4.19.87及以下则涉及XFS bug,检查不通过,否则检查通过。 |
|
CheckGTMConfigConsistency |
获取主备GTM配置文件参数,如果参数设置一致则检查通过,否则检查不通过。 |
|
CheckColversion |
检查如果存在没有标记为1.0列存表,且当前默认列存为2.0,则检查不通过,否则检查通过。 |
|
CheckTopSqlSize |
检查topsql表大小, 如果超过50G,则检查不通过,否则检查通过。 |
|
CheckDeltaTable |
检查是否存在delta表,如果存在delta表则该项检查不通过,否则检查通过。 |
|
CheckMaxDatanode |
检查comm_max_datanode的值,如果不等于实际主datanode个数,检查不通过,否则检查通过。 |
|
CheckSSHIP |
获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。 |
|
CheckTimeZoneLink |
在沙箱内执行“ll /etc/localtime”,如果链接指向的文件路径包含“/var/chroot”则检查不通过,否则检查通过。 |
|
CheckSpecialFile |
检查程序目录“(GAUSSHOME)”下文件是否存在特殊字符以及非Ruby用户的文件,如果不存在则检查通过,否则检查不通过。 |
|
CheckSysSchemaTable |
如果系统schema下有用户自建的表检查不通过,否则检查通过。 |
|
升级前巡检 |
CheckClusterParams |
集群配置类参数(ip类、 Port类、路径类参数)在postgresql.conf或者pgxc_node的配置,必须和静态配置文件一致。不一致则检查不通过。 |
CheckCNNum |
检查集群CN实例个数,如果CN个数大于2,小于10则检查项通过,否则检查项不通过。 |
|
CheckDDL |
启动事务创建/删除schema和表,如果事务能够提交,检查通过,否则检查不通过。 |
|
CheckTimeZone |
检查集群内各节点时区,如果时区一致则检查通过,否则检查项不通过。 |
|
CheckXidEpoch |
检查xid消耗量,如果大于等于2的32次方,检查不通过。 |
|
CheckCnNumberSame |
如果“/opt/dws/xml/cluster.xml和cm_ctl query -Cv”查询出来的cn数量不一致,检查通过,否则检查不通过。 |
|
CheckGaussVer |
检查各节点$GAUSSHOME/bin目录下二进制文件版本是否一致。如果不一致,检查不通过。 |
|
CheckPsort |
如果有psort索引,检查不通过。 |
|
CheckCatchup |
检查gaussdb进程堆栈是否能搜索到CatchupMain函数,若搜索不到则检查项通过,否则检查项不通过。 |
|
CheckClusterState |
CM进程不存在,检查不通过;检查fenced UDF状态,如果为down则报warning;检查集群状态为Normal,则检查项通过,否则检查项不通过。 |
|
CheckMetaDataConsistency |
检查系统表在CN和DN之间数据是否一致,一致则检查通过,否则检查不通过。 |
|
CheckDependSystemObj |
如果用户自建的对象依赖系统对象,检查不通过,否则检查通过。 |
|
CheckPgKeyWords |
如果表、列、函数、数据类型名为新增的保留关键字,检查不通过,否则检查通过。 |
|
CheckReadonlyMode |
检查集群中所有含CN节点上default_transaction_read_only值,若为off则检查通过,否则不通过。 |
|
CheckMetaData |
检查系统表元数据是否一致,如果一致,则检查通过,否则检查不通过。 |
|
CheckGUCSetting |
postgresql.conf中GUC参数和pg_settings中参数是否一致,一致则检查通过,否则不通过。 |
|
CheckPgxcgroup |
检查pgxc_group表中in_redistribution为Y的个数,如果数量为0则检查项通过,否则检查项不通过。 |
|
CheckCmserverStandby |
如果集群cm_server属性为standby。则检查项通过,否则Warning。 |
|
CheckSpaceUsage |
如果使用率超过warning阈值(默认为70%)报warning,超过NG阈值(默认为90%)则检查项不通过 。集群路径下检查“GAUSSHOME/PGHOST/GPHOME/GAUSSLOG/tmp/data”路径的剩余空间,不满足阈值则检查项不通过。 |
|
CheckEnvProfile |
检查节点环境变量($GAUSSHOME、$LD_LIBRARY_PATH、$PATH),如果环境变量存在并配置正确则检查项通过,否则检查项不通过。 |
|
CheckBalanceState |
如果集群Balanced属性为Yes,则检查项通过,否则Warning,如果查询失败则检查项不通过。 |
|
CheckTDDate |
若存在TD模式数据库下的orc表,且包含date类型的列则检查不通过。 |
|
CheckCatalog |
检查pg_catalog中是否有用户自定义的数据库对象,如果有检查不通过,否则检查通过。 |
|
CheckPgauthid |
检查pg_authid中,oid的最高位如果等于1,检查不通过,否则检查通过。 |
|
CheckSysdate |
检查表、视图、存储过程中是否使用sysdate视图,如果有使用,检查不通过,否则检查通过。 |
|
CheckFilesNumber |
当GAUSSHOME/PGHOST/GPHOME/tmp文件数量大于10000时,检查不通过,否则检查通过。 |
|
CheckKeyFilesExist |
检查upgrade_version文件、conf文件、control文件,data下关键目录是否存在,若有文件存在,检查通过,否则检查不通过。 |
|
CheckReturnType |
用户自定义函数包含非法返回类型,检查不通过,否则检查通过。 |
|
CheckTrust |
检查各个节点的是否互信,若有节点未互信则检查不通过,否则检查通过。 |
|
CheckEnumGUCValue |
检查pg_postgres.conf部分参数是否有引号,如果缺失单引号,则检查不通过,否则检查通过。 |
|
CheckSpecialFile |
检查程序目录“(GAUSSHOME)”下文件是否存在特殊字符以及非Ruby用户的文件,如果不存在则检查通过,否则检查不通过。 |
|
CheckNecessarySchema |
检查必要“schema(public)”是否都存在。 |
|
CheckUserDefinedDataType |
连接所有数据库,执行SQL语句“select count(*) from pg_type t,pg_namespace n,PG_ATTRIBUTE a where t.typnamespace=n.oid and t.oid=a.atttypid and t.typname ='time_stamp' and n.nspname='information_schema' and a.atttypid> 16384;”,结果为空则检查通过,否则检查不通过。 |
|
CheckCMParamConsistency |
获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。 |
|
CheckLightProxy |
检查参数enable_light_proxy,如果为off,且behavior_compat_options不包含枚举值enable_force_add_batch则检查不通过,否则检查通过。 |
|
CheckSSHIP |
获取主备CM节点上的cm.conf文件,对比参数设置,如果参数配置一致则检查通过,否则检查不通过。 |
|
CheckSysSchemaTable |
如果系统schema下有用户自建的表则检查不通过,否则检查通过。 |
|
CheckTimeZoneLink |
在沙箱内执行“ll /etc/localtime”,如果链接指向的文件路径包含“/var/chroot”则检查不通过,否则检查通过。 |