本发明涉及信息技术技术领域,尤其涉及一种数据库平台自动化巡检方法及系统。
背景技术:
随着信息系统的数据库平台越来越多,对数据库平台的巡检工作也越来越重要。传统的手工数据库巡检方式,需要经过专业的数据库状态命令输出采集数据,人工对这些采集数据进行状态检查和分析、报告结果汇总等多个环节的处理。
数据库巡检整个操作过程较长反馈较久,同时采集的结果和数据分析可能不标准。其中数据采集及分析,需要非常专业的数据库技术人员定期对所有数据库平台进行手工采集及分析数据,对于巡检后发现的问题,也需要有专业的、有经验的数据库技术人员进行数据库调整,普通的技术人员无法进行有效的调整。
对于数据库较多的机房,数据库巡检工作存在巡检效率较低、时效性差、无法及时发现数据库存在的问题等缺点,无法满足数据库平台的巡检需求。
技术实现要素:
鉴于上述的分析,本发明旨在提供一种数据库平台自动化巡检方法及系统,用以解决现有人工数据库平台巡检工作效率较低,实时性较差的问题。
本发明的目的主要是通过以下技术方案实现的:
一种数据库平台自动化巡检方法,步骤如下:
在人机交互界面操作按钮被触发时,发送巡检命令语句到数据库平台;
所述数据库平台接收并执行所述巡检命令语句,得到命令结果集文件;
巡检服务器接收并处理所述命令结果集文件,生成巡检报告,并将所述巡检报告反馈至所述人机交互界面进行显示;
其中,所述巡检命令语句为一系列结构化的服务器操作命令和数据库操作命令的批处理集合。
本发明有益效果如下:本实施例提供的数据库平台自动化巡检方法,根据巡检状态要素得到巡检命令语句,利用巡检命令语句实现数据库平台的自动化巡检,有效减轻了相关技术人员的工作量,能够满足客户的巡检需求;同时,生成的巡检报告能够直观反映自动化巡检结果,便于后期技术人员,巡检结果一目了然。
在上述方案的基础上,本发明还做了如下改进:
进一步,还包括,按照设定时长定时自动触发人机交互界面操作按钮,发送巡检命令语句到数据库平台。
采用上述进一步方案的有益效果是:满足客户定期巡检的需求。
进一步,所述数据库平台接收并执行所述巡检命令语句,得到命令结果集文件,进一步包括:
所述数据库平台接收所述巡检命令语句,判断所述巡检命令语句类型,
当所述巡检命令语句为服务器类命令语句时,所述数据库平台中的每台服务器接收所述巡检命令语句,执行对应的巡检项操作命令,并反馈服务器命令结果集文件;
当所述巡检命令语句为数据库类命令语句时,在所述数据库平台中的每个数据库节点上执行对应的巡检项操作指令,并反馈数据库命令结果集文件。
采用上述进一步方案的有益效果是:通过对巡检命令语句进行分类,便于根据不同类别的语句执行不同的操作,有效减少代码量,并便于后期相关命令语句的扩充。
进一步,所述服务器类命令语句进一步包括:硬件状态命令语句、计算节点状态命令语句、存储节点状态命令语句、os状态命令语句;其中,
所述硬件状态命令语句包括以下巡检项:检查服务器是否加电、网络链路是否正常、存储设备是否正常读写;
所述计算节点状态命令语句包括以下巡检项:计算节点加载是否正常;
所述存储节点状态命令语句包括以下巡检项:存储节点加载是否正常;
所述os状态命令语句包括以下巡检项:sysctl参数。
进一步,所述数据库类命令语句进一步包括:rac集群命令语句、数据库状态命令语句;其中,
所述rac集群命令语句包括以下巡检项:rac集群的版本、运行状态、报错日志、磁盘使用率、ocr与voting状态;
所述数据库状态命令语句包括以下巡检项:检查数据库的信息、版本、权限、内存参数、数据文件使用率、各种文件大小、数据库实例运行时长。
采用上述进一步方案的有益效果是:根据不同的命令语句,采用结构化设计,相应设置了巡检项,便于得到数据库平台全面、清晰的自动巡检结果,也便于根据巡检项所属类别,扩充命令语句中包含的巡检项,有效减少代码量。
进一步,巡检服务器接收并处理所述命令结果集文件,生成数据库平台健康度评分,并给出相应调整建议。
进一步,所述健康度评分分为高级健康度、中级健康度、低级健康度;
所述低级健康度对应的评分依据为:服务器、网络链路、存储设备、计算节点、存储节点、rac集群、ocr与voting状态、数据库实例其中一项或几项为不可用状态;
所述低级健康度对应调整建议为:建议立即查明原因,解决问题;问题解决后,需重新在用户界面发起巡检命令;
所述中级健康度对应的评分依据为:sysctl参数超出标准值±50%;内存参数超出标准值±50%;磁盘使用率>80%、表空间使用率>80%、数据文件使用率>80%;rac集群有报错日志;实例运行时长>180天;其中一项或几项满足对应条件;
所述中级健康度对应的调整建议为:建议立即参考数据库平台使用情况,调整参数或空间,重启实例;
所述高级健康度对应的评分依据为:sysctl参数、内存参数,巡检结果在标准值±50%范围内;磁盘使用率>80%、表空间使用率>80%、数据文件使用率>80%;实例运行时长<180天;所有项满足对应条件;
所述高级健康度对应的调整建议为:建议持续关注该检查项,视情况调整。
采用上述进一步方案的有益效果是:通过对数据库平台健康度评分,并给出相应调整建议,无需专业dba调整经验,即可根据分析结果,获取有价值的数据库平台调整建议,使数据库平台平稳高效运行。
进一步,巡检服务器接收并处理所述命令结果集文件,生成巡检报告,包括:
所述巡检服务器根据所述结果集文件中各巡检项的巡检结果、数据库平台健康度评分及相应调整建议,生成巡检报告。
进一步,所述数据库平台在接收所述巡检命令语句前,验证用户在数据库平台的操作权限。
在本发明的另一实施例中,提供了一种数据库平台自动化巡检系统,包括人机交互界面、数据库平台、巡检服务器;其中,
所述人机交互界面,用于在被手动或自动触发时,发送巡检命令语句至所述数据库平台,还用于接收巡检服务器反馈的巡检报告并显示;
所述数据库平台,用于接收并执行所述人机交互界面发送的巡检命令语句,得到命令结果集文件;
所述巡检服务器,用于接收并处理所述命令结果集文件,生成巡检报告,并将所述巡检报告反馈至所述人机交互界面;
其中,所述巡检命令语句为一系列结构化的服务器操作命令和数据库操作命令的批处理集合。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书、权利要求书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中的一种数据库平台自动化巡检方法流程图;
图2为本发明实施例中的另一种数据库平台自动化巡检方法流程图;
图3为本发明实施例中的一种数据库平台自动化巡检系统示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种数据库平台自动化巡检方法,流程图如图1所示,步骤如下:
步骤s1:在人机交互界面操作按钮被触发时,发送巡检命令语句到数据库平台;
步骤s2:所述数据库平台接收并执行所述巡检命令语句,得到命令结果集文件;
步骤s3:巡检服务器接收并处理所述命令结果集文件,生成巡检报告,并将所述巡检报告反馈至所述人机交互界面进行显示;
其中,所述巡检命令语句为一系列结构化的服务器操作命令和数据库操作命令的批处理集合。
与现有技术相比,本实施例提供的数据库平台自动化巡检方法,根据巡检状态要素得到巡检命令语句,利用巡检命令语句实现数据库平台的自动化巡检,有效减轻了相关技术人员的工作量,能够满足客户的巡检需求;同时,生成的巡检报告能够直观反映自动化巡检结果,便于后期技术人员,巡检结果一目了然。
优选地,还包括,按照设定时长定时自动触发人机交互界面操作按钮,发送巡检命令语句到数据库平台。满足客户定期巡检的需求。
优选地,所述数据库平台接收并执行所述巡检命令语句,得到命令结果集文件,进一步包括:
所述数据库平台接收所述巡检命令语句,判断所述巡检命令语句类型,
当所述巡检命令语句为服务器类命令语句时,所述数据库平台中的每台服务器接收所述巡检命令语句,执行对应的巡检项操作命令,并反馈服务器命令结果集文件;
当所述巡检命令语句为数据库类命令语句时,在所述数据库平台中的每个数据库节点上执行对应的巡检项操作指令,并反馈数据库命令结果集文件。
通过对巡检命令语句进行分类,便于根据不同类别的语句执行不同的操作,有效减少代码量,并便于后期相关命令语句的扩充。
优选地,所述服务器类命令语句进一步包括:硬件状态命令语句、计算节点状态命令语句、存储节点状态命令语句、os状态命令语句;其中,
所述硬件状态命令语句包括以下巡检项:检查服务器是否加电、网络链路是否正常、存储设备是否正常读写;
所述计算节点状态命令语句包括以下巡检项:计算节点加载是否正常;
所述存储节点状态命令语句包括以下巡检项:存储节点加载是否正常;
所述os状态命令语句包括以下巡检项:sysctl参数。
优选地所述数据库类命令语句进一步包括:rac集群命令语句、数据库状态命令语句;其中,
所述rac集群命令语句包括以下巡检项:rac集群的版本、运行状态、报错日志、磁盘使用率、ocr与voting状态;
所述数据库状态命令语句包括以下巡检项:检查数据库的信息、版本、权限、内存参数、数据文件使用率、各种文件大小、数据库实例运行时长。
根据不同的命令语句,采用结构化设计,相应设置了巡检项,便于得到数据库平台全面、清晰的自动巡检结果,也便于根据巡检项所属类别,扩充命令语句中包含的巡检项,有效减少代码量。
举例说明巡检项的具体巡检过程:
当巡检项为“表空间使用率”时,具体执行以下操作:巡检整个表空间总大小及已经使用的表空间大小,然后得到表空间使用率。
当巡检项为“存储设备是否正常读写”时,具体执行以下操作:巡检服务器raid卡的级别、服务器上磁盘的总大小、存储目录路径、磁盘状态、缓存策略等信息,并根据磁盘状态确认该存储节点设备是否正常可读写。
本发明中的巡检命令结构和巡检命令结果集文件结构可按照以下方式设置:
巡检命令结构:输出巡检命令1的巡检内容文字、巡检命令1的语句;输出巡检命令2的巡检内容文字、巡检命令2的语句……以此类推。
巡检命令结果集文件结构:巡检命令1的巡检内容文字、巡检命令1的巡检结果;巡检命令2的巡检内容文字、巡检命令2的巡检结果……以此类推。
优选地,巡检服务器接收并处理所述命令结果集文件,生成数据库平台健康度评分,并给出相应调整建议。
其中,所述健康度评分分为高级健康度、中级健康度、低级健康度;
所述低级健康度对应的评分依据为:服务器、网络链路、存储设备、计算节点、存储节点、rac集群、ocr与voting状态、数据库实例其中一项或几项为不可用状态;
所述低级健康度对应调整建议为:建议立即查明原因,解决问题;问题解决后,需重新在用户界面发起巡检命令;
所述中级健康度对应的评分依据为:sysctl参数超出标准值±50%;内存参数超出标准值±50%;磁盘使用率>80%、表空间使用率>80%、数据文件使用率>80%;rac集群有报错日志;实例运行时长>180天;其中一项或几项满足对应条件;
所述中级健康度对应的调整建议为:建议立即参考数据库平台使用情况,调整参数或空间,重启实例;
所述高级健康度对应的评分依据为:sysctl参数、内存参数,巡检结果在标准值±50%范围内;磁盘使用率>80%、表空间使用率>80%、数据文件使用率>80%;实例运行时长<180天;所有项满足对应条件;
所述高级健康度对应的调整建议为:建议持续关注该检查项,视情况调整。
通过对数据库平台健康度评分,并给出相应调整建议,无需专业dba调整经验,即可根据分析结果,获取有价值的数据库平台调整建议,使数据库平台平稳高效运行。
优选地,巡检服务器接收并处理所述命令结果集文件,生成巡检报告,包括:
所述巡检服务器根据所述结果集文件中各巡检项的巡检结果、数据库平台健康度评分及相应调整建议,生成巡检报告。
巡检报告的标准格式可以是word文档或pdf文档,报告内容可以包括:巡检结果概览、巡检总结及建议、巡检系统版本、硬件状态检查、计算节点状态检查、存储节点状态检查、os状态检查、rac集群检查、数据库状态检查等。可以根据实际需要对巡检报告进行相应调整。
报告中每项检查的内容如下:
检查项标题(固定格式,同目录内容)
检查项的说明(固定格式,说明本项检查的用途,结果)
检查命令(固定格式)
检查结果(从巡检命令结果集文件中获取对应结果,分析后显示结果,如果无异常,则显示【正常】;如果有异常,则显示详细巡检结果。)
报告生成过程如下:
按固定的目录格式及顺序,及每项检查的内容,生成word巡检报告,可以通过用户界面下载word巡检报告。
优选地,所述数据库平台在接收所述巡检命令语句前,验证用户在数据库平台的操作权限。
在得到命令结果集文件(即巡检结果)的基础上,还可以对其进行图形化展示,便于更加直观地理解巡检结果,具体的图形化展示可按照以下要求得到:
运行状态类结果:列出所有数据库平台的服务器(计算节点、存储节点、网络链路)、数据库节点,其运行状态以图形active(绿色)、failed(红色)显示。
空间使用率类结果:低于80%的,以绿色显示。高于80%的以红色显示。
有标准值参考的结果:与标准值相等的,黑色显示。与标准值不同的,以红色显示。
日志类结果:有报错日志的,以红色显示。
此时的数据库平台自动化巡检方法如图2所示。
在本发明的另一实施例中,公开了一种数据库平台自动化巡检系统,如图3所示,包括人机交互界面、数据库平台、巡检服务器;其中,
所述人机交互界面,用于在被手动或自动触发时,发送巡检命令语句至所述数据库平台,还用于接收巡检服务器反馈的巡检报告并显示;
所述数据库平台,用于接收并执行所述人机交互界面发送的巡检命令语句,得到命令结果集文件;
所述巡检服务器,用于接收并处理所述命令结果集文件,生成巡检报告,并将所述巡检报告反馈至所述人机交互界面;
其中,所述巡检命令语句为一系列结构化的服务器操作命令和数据库操作命令的批处理集合。
上述方法实施例和系统实施例,基于相同的原理,其相关之处可相互借鉴,且能达到相同的技术效果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。