【gs_hastatuscheck】集群故障诊断&&集群故障时间线梳理工具介绍

【应用场景】

集群出现故障使用该工具诊断出集群故障点并给出集群修复方案,梳理指定时间点集群故障时间线。

【参数说明】

python gs_hastatuscheck.py [-s 6001] [-f 2021-12-12] [-t 2021-12-21] [–local]

-s 指定需要诊断的主实例号,可同时指定多对实例(比如 -s “6001|6003″),若不指定则诊断集群所有实例

-f 梳理集群故障点开始时间,指定格式为:年-月-日(2021-12-12),若不指定默认从现有最早日志开始梳理

-t 梳理集群故障点结束时间,指定格式为:年-月-日(2021-12-12),若 不指定默认梳理至最新日志

–local 在本地日志梳理集群故障时间线,若不指定则默认在主备从集群环境运行。该模式下有以下约束:

1、需要将日志收集到本地并按照以下方式进行命名(以6001为例):

dn_6001

6001实例日志

cma_6001

dn_6002

6002实例日志

cma_6002

dn_3002

3002实例日志

cma_3002

2、在当前路径生成stat_file,文件内容为需要梳理实例的拓扑,以6001为例:

1  h61        6001 /srv/BigData/mppdb/data1/master1     P Primary Normal | 2  h63        6002 /srv/BigData/mppdb/data1/slave1      S Down    Manually stopped | 3  linux18065 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

注:以上参数均可缺省,全部参数缺省情况下代表在集群模式下诊断所有实例日志,在实例所有日志范围内进行诊断并输出实例故障时间线。

【结果说明】

输出结果有两部分:

1、若指定实例有dn实例非normal状态,输出检测到故障日志与建议修复方案,若实例均normal则不会有该部分信息输出,以6001为例比如:

————————————–6001 error message start————————————————-

invalid argument xxx

————————————–6001 error message end————————————————

————————————-6001 fix message start —————————————————

check 6001 postgresql.conf

————————————–6001 fix message end————————————————–

2、在本地输出指定实例指定时间段故障信息,每个实例会产生一个日志结果文件以主实例编号-备实例编号.log命名,比如6001_6002.log,文件内容格式如下:

时间 模块 日志信息

2021-12-12 12:12:12.1234  dn_6001  xxxx   switchover

2021-12-12 12:12:12.1234  cma_6001  xxxx   switchover

2021-12-12 12:12:12.1234  dn_6002  xxxx   switchover

注:模块命名规则如下:dn_实例编号、cma_实例编号代表对应实例日志以及对应实例的cma日志

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/316746.html

(0)
上一篇 2025年10月29日 23:51
下一篇 2025年10月29日 23:52

相关推荐

发表回复

登录后才能评论