openGauss检查工具的应用
一、gs_check
1.检查指定项(以CheckCPU为例) 在执行gs_check -i CheckCPU时如果出现如下报错是因为没有为集群配置过免密,即使当前环境为单机也要求要配置ssh互信,有两种解决办法:  办法一:配置ssh互信,第一步执行ssh-keygen生成密钥(默认加密算法为rsa,如果不更换算法可以不指定),第二步执行ssh-copy-id 报错的host,将密钥发送到对应的主机。  办法二:使用gs_sshexkey工具配置互信,使用一个文件记录需要配置互信主机的ip,一个ip占一行。   还有一种办法:在命令的最后添加-L指定为本地执行(但是只能获取当前节点的性能)。  如果出现如下图报错是因为当前系统没有sar命令,手动安装就可以解决这个问题,并不是所有检查项都需要sar,比如图中gs_check -i CheckClusterState检查集群状态时是可以正常执行的。  使用yum安装缺少的sar,如果出现如下图所示异常,或是异常信息与下图相似都是ImportError .... not found,特别是在安装openGauss前yum可用,但是安装openGauss后出现异常,出现故障的原因可能是因为安装openGauss时自动配置的环境变量将lib路径指定到了openGauss的lib,与yum实际所需的版本不符(与linux自带lib冲突)。  解决办法是找到环境变量文件(/etc/profile),将LD_LIBRARY_PATH变量注释,source环境变量(source /etc/profile)后会依旧无法使用,这个更改需要重启操作系统,然后yum就可以用了。  重新安装sysstat(sar):  重新执行gs_check -i CheckCPU:  在不指定-L的情况下默认获取整个集群的所有节点的性能,所以得到的查询结果可能存在多个,所以检查结果会打包成压缩包。
2.检查指定场景(以例行巡检为例) 默认情况下,例行巡检会检查所有默认配置的选项,其中会包含有root权限才可以查询的检查项,所以在执行gs_check -i 后需要输入root用户密码,以授权检查对应检查项。  可以通过设置一个参数跳过所有root权限的检查项不检查:--skip-root-items,可以从下图中看到执行命令后不需要输入root用户名及密码,并且总检查项从57减少到了42项。 
3.自定义检查场景 在openGauss中支持用户自定义检查项与检查场景,自定义检查场景配置在xml文件中(文件名必须是scene_XXX.xml): ①将场景要检查的检查项编写到xml文件中(此案例文件名为scene_checkTest.xml),格式如下: <?xml version="1.0" encoding="utf-8" ?>
其中scene配置的是场景信息,name为场景名称,即检查时gs_check -e 后面指定的场景名称,desc为当前场景的描述信息; item配置实际要做的检查项。 ②配置好xml文件后,将文件复制到openGauss数据库工具目录中的script/gspylib/inspection/config/路径下,数据库工具目录在安装时的clusterconfig.xml文件中配置过(一般是/opt/install/om),当前案例完成目录是/opt/install/om/script/gspylib/inspection/config/ ③检查场景对应的xml文件都要求具有可执行权限,但是自定义的xml文件默认是不具有可执行权限的,使用chmod为xml文件添加执行权限。 以上操作全部执行完后就可以执行gs_check -e 场景名称,结果如下所示:  4.自定义检查项 通过Python编写如果获取自定义的检查的值及如何检查的过程,生成一个Python文件,默认存在的CheckCPU的Python文件内容如下:  此文件也需要具有可执行权限,将上一步编写的Python文件存放到/opt/install/om/script/gspylib/inspection/items目录下,在items目录下根据检查项类型进行了目录划分,比如CPU属于系统性能,对应的Python文件存放于items/os目录下。  在config目录中有一个items.xml文件,里面记录的就是各种检查项,如果要自定义检查项,根据格式将检查项信息添加到xml文件中。  一个checkitem就是一个检查项的配置信息,注意checkitem标签中的name属性要与Python文件名称相同。  二、gs_checkperf gs_checkperf使用-i指定检查项,有两种可选项PMK、SSD,默认是PMK,检查项包括如下内容: 
直接执行gs_checkperf(-i PMK可以省略不写)结果如下:  在检查PMK对应的检查项时指定--detail可以查看详细信息: 
当想要检查SSD性能时必须指定-i SSD,并且因为SSD只有root用户才可以查看,还需要通过-U指定数据库用户,检查SSD权限不允许指定--detail参数,具体如下图所示: 
登录到root用户,执行gs_checkperf -U omm -i SSD命令,出现如图所示的报错是因为当前环境并未安装使用SSD,所以无法查询。
END
更多精彩内容 尽在泰克教育
|