掌桥专利:专业的专利平台
掌桥专利
首页

一种weblogic实例的监控方法及装置

文献发布时间:2024-04-18 20:00:25


一种weblogic实例的监控方法及装置

技术领域

本申请涉及数据处理技术领域,尤其涉及一种weblogic实例的监控方法及装置。

背景技术

WebLogic实例是指在WebLogic Server中运行的一个Java虚拟机进程,用于处理客户端请求、执行业务逻辑、管理系统资源等,需要保障WebLogic实例本身的健康状态随时可用,当WebLogic实例处于异常状态时,需要及时地进行预警。

在现有的技术中,通过ORACLE公司提供的Oracle Application Manager(OAM)管理工具,首先OAM通过restful风格来访问WebLogic实例,接着获取WebLogic实例的数据进行集中监控,以实现异常状态的预警。

但是,由于OAM成本高,部署复杂,并且还不能满足企业自身日益提高的发展需求,因此需要亟需低成本的管理工具来对WebLogic实例进行监控。

发明内容

基于上述现有技术的不足,本申请提供了一种weblogic实例的监控方法及装置,以解决现有技术带来的成本较高的问题。

为了实现上述目的,本申请提供了以下技术方案:

本申请第一方面提供了一种weblogic实例的监控方法,包括:

确定扫描对象;

当所述扫描对象为日志文件时,执行第一缓存流程;

当所述扫描对象为运行指标时,执行第二缓存流程;

输出缓存内容,并将所述缓存内容传递至监控平台,由所述监控平台按照预设的配置规则,对缓存内容中的数据进行监控;

所述第一缓存流程包括:

获取目标关键字组以及运行环境变量;

基于所述运行环境变量,对主机中的日志文件进行定位,得到当前扫描文件;

根据所述当前扫描文件,确定扫描的起止行数;

从所述当前扫描文件中获取,在预设扫描时间内产生的更新字段作为临时文件,并基于所述起止行数,将所述当前扫描文件重定向至临时文件中;

将所述临时文件与所述目标关键字组进行匹配,得到各个匹配关键字;

根据预设的配置规则,将各个所述匹配关键字格式化为指标矩阵,并进行缓存;

所述第二缓存流程包括:

获取运行环境变量;

根据所述运行环境变量,从主机中获取Weblogic软件的当前软件版本;

根据所述当前软件版本,确定临时脚本;

执行所述临时脚本,以进行缓存操作。

可选地,在上述的weblogic实例的监控方法中,所述根据所述当前扫描文件,确定扫描的起止行数,包括:

判断所述当前扫描文件是否记录上次已完成扫描的行数;

若所述当前扫描文件未记录上次已完成扫描的行数,则重新开始扫描所述当前扫描文件;

若所述当前扫描文件记录上次已完成扫描的行数,则检测上次已完成扫描的行数是否大于所述当前扫描文件的行数;

若上次已完成扫描的行数大于所述当前扫描文件的行数,则获取所述当前扫描文件的上一个扫描文件进行扫描;

当所述上一个扫描文件扫描完成时,确定扫描的起止行数为所述上一个扫描文件扫描的起止行数;

若上次已完成扫描的行数不大于所述当前扫描文件的行数,则按照上次已完成扫描的行数,继续扫描所述当前扫描文件;

当所述当前扫描文件扫描完成时,确定扫描的起止行数为所述当前扫描文件的起止行数。

可选地,在上述的weblogic实例的监控方法中,所述将所述临时文件与所述目标关键字组进行匹配,得到各个匹配关键字,包括:

将所述临时文件分别与所述目标关键字组中的各个关键字进行匹配;

检测所述目标关键字组中,是否存在与所述临时文件成功匹配的各个目标关键字;

若所述目标关键字组中,存在与所述临时文件成功匹配的各个目标关键字,则将各个所述目标关键字确定为各个匹配关键字。

可选地,在上述的weblogic实例的监控方法中,所述根据所述当前软件版本,确定临时脚本,包括:

判断所述当前软件版本是否为目标软件版本;

若所述当前软件版本为所述目标软件版本,则将所述运行环境变量写入第一脚本中,得到第一目标脚本,并将所述第一目标脚本作为临时脚本;

若所述当前软件版本为非目标软件版本,则将所述运行环境变量写入第二脚本中,得到第二目标脚本,并将所述第二目标脚本作为临时脚本。

可选地,在上述的weblogic实例的监控方法中,若所述临时脚本为所述第一目标脚本,所述执行所述临时脚本,以进行缓存操作,包括:

创建目标对象;

配置所述目标对象,并初始化rest请求;

基于配置后的目标对象,对主机执行各个预设的检查步骤;

向所述主机发送初始化后的rest请求,由所述主机根据所述初始化后的rest请求,生成第一响应结果;其中,所述第一响应结果至少包括各个预设的检查步骤对应的检查指标;

接收所述主机发送的各个所述检查指标,并将各个所述检查指标进行缓存。

可选地,在上述的weblogic实例的监控方法中,若所述临时脚本为所述第二目标脚本,所述执行所述临时脚本,以进行缓存操作,包括:

初始化环境参数,并根据所述环境参数与主机建立连接;

根据各个预设的检查步骤,对所述主机进行检查,并向所述主机发送目标命令,由所述主机根据所述目标命令,生成第二响应结果;其中,所述第二响应结果至少包括各个预设的检查步骤对应的目标检查指标;

接收所述主机发送的各个所述目标检查指标,并将各个所述目标检查指标进行缓存。

本申请第二方面提供了一种weblogic实例的监控装置,包括:

对象确定单元,用于确定扫描对象;

第一执行单元,用于当所述扫描对象为日志文件时,执行第一缓存流程;

第二执行单元,用于当所述扫描对象为运行指标时,执行第二缓存流程;

输出单元,用于输出缓存内容,并将所述缓存内容传递至监控平台,由所述监控平台按照预设的配置规则,对缓存内容中的数据进行监控;

第一执行单元,具体用于:

第一获取单元,用于获取目标关键字组以及运行环境变量;

定位单元,用于基于所述运行环境变量,对主机中的日志文件进行定位,得到当前扫描文件;

行数确定单元,用于根据所述当前扫描文件,确定扫描的起止行数;

重定向单元,用于从所述当前扫描文件中获取,在预设扫描时间内产生的更新字段作为临时文件,并基于所述起止行数,将所述当前扫描文件重定向至临时文件中;

第一匹配单元,用于将所述临时文件与所述目标关键字组进行匹配,得到各个匹配关键字;

第一缓存单元,用于根据预设的配置规则,将各个所述匹配关键字格式化为指标矩阵,并进行缓存;

第二执行单元,具体用于:

第二获取单元,用于获取运行环境变量;

版本获取单元,用于根据所述运行环境变量,从主机中获取Weblogic软件的当前软件版本;

脚本确定单元,用于根据所述当前软件版本,确定临时脚本;

脚本执行单元,用于执行所述临时脚本,以进行缓存操作。

可选地,在上述的weblogic实例的监控装置中,所述行数确定单元,包括:

行数判断单元,用于判断所述当前扫描文件是否记录上次已完成扫描的行数;

第一扫描单元,用于若所述当前扫描文件未记录上次已完成扫描的行数,则重新开始扫描所述当前扫描文件;

第一检测单元,用于若所述当前扫描文件记录上次已完成扫描的行数,则检测上次已完成扫描的行数是否大于所述当前扫描文件的行数;

文件获取单元,用于若上次已完成扫描的行数大于所述当前扫描文件的行数,则获取所述当前扫描文件的上一个扫描文件进行扫描;

第一确定单元,用于当所述上一个扫描文件扫描完成时,确定扫描的起止行数为所述上一个扫描文件扫描的起止行数;

第二扫描单元,用于若上次已完成扫描的行数不大于所述当前扫描文件的行数,则按照上次已完成扫描的行数,继续扫描所述当前扫描文件;

第二确定单元,用于当所述当前扫描文件扫描完成时,确定扫描的起止行数为所述当前扫描文件的起止行数。

可选地,在上述的weblogic实例的监控装置中,所述第一匹配单元,包括:

第二匹配单元,用于将所述临时文件分别与所述目标关键字组中的各个关键字进行匹配;

第二检测单元,用于检测所述目标关键字组中,是否存在与所述临时文件成功匹配的各个目标关键字;

第三确定单元,用于若所述目标关键字组中,存在与所述临时文件成功匹配的各个目标关键字,则将各个所述目标关键字确定为各个匹配关键字。

可选地,在上述的weblogic实例的监控装置中,所述脚本确定单元,包括:

版本判断单元,用于判断所述当前软件版本是否为目标软件版本;

第一写入单元,用于若所述当前软件版本为所述目标软件版本,则将所述运行环境变量写入第一脚本中,得到第一目标脚本,并将所述第一目标脚本作为临时脚本;

第一写入单元,用于若所述当前软件版本为非目标软件版本,则将所述运行环境变量写入第二脚本中,得到第二目标脚本,并将所述第二目标脚本作为临时脚本。

可选地,在上述的weblogic实例的监控装置中,若所述临时脚本为所述第一目标脚本,所述脚本执行单元,包括:

创建单元,用于创建目标对象;

配置单元,用于配置所述目标对象,并初始化rest请求;

执行单元,用于基于配置后的目标对象,对主机执行各个预设的检查步骤;

生成单元,用于向所述主机发送初始化后的rest请求,由所述主机根据所述初始化后的rest请求,生成第一响应结果;其中,所述第一响应结果至少包括各个预设的检查步骤对应的检查指标;

第二缓存单元,用于接收所述主机发送的各个所述检查指标,并将各个所述检查指标进行缓存。

可选地,在上述的weblogic实例的监控装置中,若所述临时脚本为所述第二目标脚本,所述脚本执行单元,包括:

连接单元,用于初始化环境参数,并根据所述环境参数与主机建立连接;

检查单元,用于根据各个预设的检查步骤,对所述主机进行检查,并向所述主机发送目标命令,由所述主机根据所述目标命令,生成第二响应结果;其中,所述第二响应结果至少包括各个预设的检查步骤对应的目标检查指标;

第三缓存单元,用于接收所述主机发送的各个所述目标检查指标,并将各个所述目标检查指标进行缓存。

本申请提供的一种weblogic实例的监控方法,通过确定扫描对象,当扫描对象为日志文件时,执行第一缓存流程,当扫描对象为运行指标时,执行第二缓存流程,然后输出缓存内容,并将缓存内容传递至监控平台,最后在监控平台上,按照预设的配置规则,对缓存内容中的数据进行监控。从而通过脚本对接数据的方式,来形成监控操作,不再依赖于其他的监控工具,进而有效地节约了监控工具的成本问题,同时还能通过脚本的方式来满足企业自身日益提高的发展需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种weblogic实例的监控方法的流程示意图;

图2为本申请实施例提供的一种日志文件的缓存方法的流程示意图;

图3为本申请实施例提供的一种起止行数的确定方法的流程示意图;

图4为本申请实施例提供的一种关键字的匹配方法的流程示意图;

图5为本申请实施例提供的一种运行指标的缓存方法的流程示意图;

图6为本申请实施例提供的一种临时脚本的脚本方法的流程示意图;

图7为本申请实施例提供的一种检查指标的缓存方法的流程示意图;

图8为本申请实施例提供的一种目标检查指标的缓存方法的流程示意图;

图9为本申请实施例提供的一种配置规则的结构示意图;

图10为本申请另一实施例提供的一种weblogic实例的监控装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种weblogic实例的监控方法,如图1所示,具体包括以下步骤:

S101、确定扫描对象。

需要说明的是,现有的业务交易大量依托于weblogic部署,当weblogic部署中的weblogic实例出现异常时,业务交易将会停滞,因此需要对weblogic实例进行监控。还需要说明的是,在weblogic实例中主要对日志文件以及运行指标进行扫描监控,方可确定weblogic实例的状态是否处于异常状态,而在本申请实施例中,对于日志文件以及运行指标的扫描监控方式均不同,因此需要预先确定扫描对象,所以当确定出扫描对象为日志文件时,执行步骤S102,当确定出扫描对象为运行指标时,执行步骤S103。

具体的,针对需要在运维过程中关注weblogic实例的weblogic指标,先整理监控的指标信息,再根据监控信息,编写采集指标脚本,其中脚本主要分为两个,一个专用于日志监控,另一个则用于除日志外指标监控。

S102、当扫描对象为日志文件时,执行第一缓存流程。

具体的,当确定出扫描对象为日志文件时,利用日志监控的脚本执行第一缓存流程。

可选地,在本申请另一实施例中,步骤S102的另一种具体实施方式,如图2所示,包括以下步骤:

S201、获取目标关键字组以及运行环境变量。

具体的,预先通过将基础软件默认的标准错误关键字以及通过人工设定的自定义关键字组合进行拼接,便可以得到目标关键字组,和通过进程获取Weblogic软件的安装信息,配置信息等运行环境变量。

S202、基于运行环境变量,对主机中的日志文件进行定位,得到当前扫描文件。

具体的,根据运行环境变量,对主机上已配置的域进行定位,即对主机中的日志文件进行定位,以便得到已更新的日志文件进行后续的扫描监控。

S203、根据当前扫描文件,确定扫描的起止行数。

具体的,由于当前扫描文件是接着原文件进行更新得到,因此为了避免对已扫描过的文件进行重复扫描,需要确定出当前扫描文件的起止行数。

可选地,在本申请另一实施例中,步骤S203的另一种具体实施方式,如图3所示,包括以下步骤:

S301、判断当前扫描文件是否记录上次已完成扫描的行数。

需要说明的是,为了避免减少对当前扫描文件的读写操作,因此在本申请实施例中,当扫描完一个文件时,会在下一扫描文件中记录上次扫描结束的行数,因此需要先判断当前扫描文件是否记录上次已完成扫描的行数,若当前扫描文件未记录上次已完成扫描的行数,说明当前扫描文件可能是头文件,或者是人工忘记记录上次已完成扫描的行数,因此此时需要执行步骤S302。若当前扫描文件记录上次已完成扫描的行数,则执行步骤S303。

S302、重新开始扫描当前扫描文件。

具体的,当当前扫描文件未记录上次已完成扫描的行数时,需要从当前扫描文件的第一行开始扫描,从而确保扫描文件的真实性以及准确性,当该当前扫描文件扫描到最后一行时,需要记录其扫描的起止行数,即执行步骤S307,以便后续灵活处理下一个扫描文件。

S303、检测上次已完成扫描的行数是否大于当前扫描文件的行数。

具体的,当当前扫描文件记录上次已完成扫描的行数时,需要进一步获知该当前扫描文件是否已被扫描过,因此需要进一步检测上次已完成扫描的行数是否大于当前扫描文件的行数,若上次已完成扫描的行数大于当前扫描文件的行数,说明该当前扫描文件已经扫描过,由于本申请实施例是反向扫描方式,因此此时需要获取当前扫描文件的上一个扫描文件进行扫描,即执行步骤S304。若上次已完成扫描的行数不大于当前扫描文件的行数,说明该当前扫描文件未扫描过,因此执行步骤S306。

S304、获取当前扫描文件的上一个扫描文件进行扫描。

具体的,当上次已完成扫描的行数大于当前扫描文件的行数时,获取当前扫描文件的上一个扫描文件,然后从第一行开始扫描上一个扫描文件。

S305、当上一个扫描文件扫描完成时,确定扫描的起止行数为上一个扫描文件扫描的起止行数。

具体的,由于后续会根据起止行数,将当前扫描文件重定向至临时文件中,因此当上一个扫描文件扫描完成时,需要记录上一个扫描文件扫描的起止行数。

S306、按照上次已完成扫描的行数,继续扫描当前扫描文件。

需要说明的是,当上次已完成扫描的行数不大于当前扫描文件的行数时,按照当前扫描文件中记录的开始行数,接着继续扫描当前扫描文件。

S307、当当前扫描文件扫描完成时,确定扫描的起止行数为当前扫描文件的起止行数。

需要说明的是,步骤S307的具体实施方式可相应地参考步骤S305,只是将上一个扫描文件变化为当前扫描文件,因此此处不再赘述。

S204、从当前扫描文件中获取,在预设扫描时间内产生的更新字段作为临时文件,并基于起止行数,将当前扫描文件重定向至临时文件中。

可选地,预设扫描时间可以为5分钟,当然也可以其他阈值时间,具体的可以根据需求进行设定。

具体的,为了减少对原文件读写影响,因此会将当前扫描文件放置在一个临时文件中进行后续的处理。需要说明的是,在生成当前扫描文件之前,原文件会在预设扫描时间中产生一些新字段,并将这些产生的新字段放置在当前扫描文件中,因此在本申请实施例中,会将这些产生的新字段作为临时文件,并根据当前扫描文件的起止行数,将当前扫描文件重定向至临时文件中,从而就可以避免重复地读写当前扫描文件。其中重定向是一种将命令的输入或输出从标准位置(例如终端)转移到其他位置(文件或其他命令)的方法。

S205、将临时文件与目标关键字组进行匹配,得到各个匹配关键字。

具体的,目标关键字组中记录了日志文件处于异常状态下的关键字,因此为了获知临时文件是否处于异常状态,需要对扫描临时文件进行逐个关键字的匹配,若是匹配成功,需要获取匹配成功的各个关键字,以便后续监控平台获知主机哪里出现异常状态。

可选地,在本申请另一实施例中,步骤S205的另一种具体实施方式,如图4所示,包括以下步骤:

S401、将临时文件分别与目标关键字组中的各个关键字进行匹配。

具体的,将临时文件中的各个字段分别与目标关键字组中的各个关键字进行匹配。

S402、检测目标关键字组中,是否存在与临时文件成功匹配的各个目标关键字。

具体的,若目标关键字组中,存在与临时文件成功匹配的各个目标关键字,说明临时文件中存在异常字段,间接表明weblogic实例可能处于异常状态,因此执行步骤S403。若目标关键字组中,不存在与临时文件成功匹配的各个目标关键字,说明临时文件中不存在异常字段,间接表明weblogic实例未处于异常状态,则接着继续监控。

S403、将各个目标关键字确定为各个匹配关键字。

具体的,当目标关键字组中,存在与临时文件成功匹配的各个目标关键字时,需要先从目标关键字组中提取出与临时文件成功匹配的各个关键字,然后再将与临时文件成功匹配的各个关键字作为各个匹配关键字。

S206、根据预设的配置规则,将各个匹配关键字格式化为指标矩阵,并进行缓存。

具体的,预设的配置规则为主次告警配置规则,将各个匹配关键字格式化为指标矩阵的具体形式为:(“关键字名称”|“关键字匹配次数”|“扫描对象标记”),“关键字详细信息”。因为数组具有快速随机访问、高效的插入和删除(已知索引的情况下)、节省内存空间等优点,因此在本申请实施例中,在格式化成功后,会创建一个数组缓冲区,将格式化后的各个匹配关键字存储至数组缓冲区中。

S103、当扫描对象为运行指标时,执行第二缓存流程。

具体的,当确定出扫描对象为运行指标时,利用运行指标的脚本执行第二缓存流程。

可选地,在本申请另一实施例中,步骤S103的另一种具体实施方式,如图5所示,包括以下步骤:

S501、获取运行环境变量。

具体的,通过进程获取Weblogic软件的版本信息、安装信息、配置信息等运行环境变量,以便后续灵活有效地确认出Weblogic软件的当前版本。

S502、根据运行环境变量,从主机中获取Weblogic软件的当前软件版本。

具体的,由于Weblogic软件的软件版本对应不同的缓存操作,因此需要根据运行环境变量,预先从主机中获取Weblogic软件的当前软件版本。

S503、根据当前软件版本,确定临时脚本。

具体的,在本申请实施例中,当对运行指标进行监控时,一个软件版本对应一个临时脚本,因为临时脚本是针对于内部应用特点和特性进行开发,能更贴合企业内应用运维实践,使得可以更灵敏的发现问题,因此需要当前软件版本,确定出对应的临时脚本。

可选地,在本申请另一实施例中,步骤S503的另一种具体实施方式,如图6所示,包括以下步骤:

S601、判断当前软件版本是否为目标软件版本。

需要说明的是,主机中Weblogic软件有10.3版本以及12.2版本,这两个版本对应两个临时脚本,因此需要先确定出Weblogic软件的当前软件版本为哪个版本,即判断当前软件版本是否为目标软件版本,其中,目标版本为12.2版本,若当前软件版本为目标软件版本,说明当前软件版本为12.2版本,则执行步骤S602。若当前软件版本为非目标软件版本,说明当前软件版本为10.3版本,则执行步骤S603。

S602、将运行环境变量写入第一脚本中,得到第一目标脚本,并将第一目标脚本作为临时脚本。

具体的,当当前软件版本为目标软件版本(12.2版本)时,则将运行环境变量写入12.2版本对应的脚本模板中,便可以得到12.2版本对应的临时脚本。

S603、将运行环境变量写入第二脚本中,得到第二目标脚本,并将第二目标脚本作为临时脚本。

具体的,当当前软件版本为非目标软件版本(10.3版本)时,则将运行环境变量写入10.3版本对应的脚本模板中,便可以得到10.3版本对应的临时脚本。

S504、执行临时脚本,以进行缓存操作。

可选地,在本申请另一实施例中,若临时脚本为第一目标脚本,步骤S504的另一种具体实施方式,如图7所示,包括以下步骤:

S701、创建目标对象。

其中,利用第一目标脚本执行步骤S701至步骤S705。

需要说明的是,在WebLogic Server中,Monitor对象是用于监视和管理应用程序和服务器组件的JMX(Java Management Extensions)可管理对象。Monitor对象允许系统收集和检索关于WebLogic Server运行状态和性能指标的信息,因此为了可以收集和检索WebLogic Server的运行状态和性能指标,需要先创建weblogic monitor对象。

S702、配置目标对象,并初始化rest请求。

具体的,当创建完WebLogic Monitor对象之后,还需要配置WebLogic Monitor对象,才能收集WebLogic实例的监控信息。同时还需要初始化REST请求,REST请求包括了请求头以及请求体,其中,REST(Representational State Transfer)请求是一种用于访问和操作Web资源的标准化方式,它是一种基于客户端-服务器架构的通信协议,常用于Web应用程序之间的数据交互,使得后续才能接收到客户端反馈访问结果。

S703、基于配置后的目标对象,对主机执行各个预设的检查步骤。

需要说明的是,预先通过人工来设置主机需要检查的各个步骤,从而获知主机中WebLogic Server实例的运行指标是否异常,然后通过调用配置好的weblogic monitor对象,来收集主机执行各个预设的检查步骤的结果。

S704、向主机发送初始化后的rest请求,由主机根据初始化后的rest请求,生成第一响应结果。

具体的,当主机执行各个预设的检查步骤之后,还需要获取主机执行各个预设的检查步骤对应的检查指标,从而根据各个检查指标来获悉主机的运行状态,因此需要向主机发送初始化后的rest请求,当主机执行完各个预设的检查步骤后,会根据rest请求生成第一响应结果,其中,第一响应结果可以包括各个预设的检查步骤对应的检查指标,从而监控平台后续可以根据检查指标进行监控及告警。

S705、接收主机发送的各个检查指标,并将各个检查指标进行缓存。

具体的,当接收到主机发送的各个检查指标时,可以创建一个数组缓存区,将各个检查指标存储到该数组缓存区中。

可选地,在本申请另一实施例中,若临时脚本为第二目标脚本,步骤S504的另一种具体实施方式,如图8所示,包括以下步骤:

S801、初始化环境参数,并根据环境参数与主机建立连接。

需要说明的是,当Weblogic软件的软件版本为10.3版本时,需要采用WLST环境来对主机的运行指标进行监控,其中WLST环境是一种命令行脚本界面,系统可以用它来监视和管理WebLogic Server实例以及域,因此要想调用WLST环境,还需要预先初始化wlst环境参数,然后再将初始化后的wlst环境参数与主机建立连接之后,才能监控主机中的WebLogic Server实例。

S802、根据各个预设的检查步骤,对主机进行检查,并向主机发送目标命令,由主机根据目标命令,生成第二响应结果。

其中,第二响应结果可以包括各个预设的检查步骤对应的目标检查指标。

具体的,当初始化后的wlst环境参数与主机建立连接之后,需要根据人工设定的各个检查步骤,对主机进行检查,而且要想获知检查数据,还得向主机发送jythen命令,即目标命令,从而主机再根据jythen命令生成自身的第二响应结果,其中,第二响应结果可以包括各个预设的检查步骤对应的目标检查指标,进而系统才能获悉主机中WebLogicServer实例的运行指标是否处于异常状态。

S803、接收主机发送的各个目标检查指标,并将各个目标检查指标进行缓存。

具体的,当接收到主机发送的各个目标检查指标时,可以创建一个数组缓存区,将各个目标检查指标存储至该数组缓存区中,以便后续监控平台从数组缓冲区中获取数据进行处理。

S104、输出缓存内容,并将缓存内容传递至监控平台,由监控平台按照预设的配置规则,对缓存内容中的数据进行监控。

具体的,由于本申请实施例中需要将信息对接到监控平台上,然后才能形成weblogic实例的监控告警功能,因此当扫描日志文件或运行指标扫描完成后,需要将监控的数据传递至监控平台上,来完成监控展示及告警功能。

需要说明的是,当监控平台接收到缓存内容后,需要对缓存内容中每个扫描周期的数据进行规则处理,来完成监控展示及告警其中,预设的配置规则可以参见如图9所示的内容,其中图9中J至R列均为配置规则。例如,图9中的第一行的监控数据,基于监控平台的配置规则对该监控数据采用次要告警以及阈值模式,主要是在全天的时间中向前端发送2到3次的告警信息,以引起相关人员的重视。

本申请提供的一种weblogic实例的监控方法,通过确定扫描对象,当扫描对象为日志文件时,执行第一缓存流程,当扫描对象为运行指标时,执行第二缓存流程,然后输出缓存内容,并将缓存内容传递至监控平台,最后在监控平台上,按照预设的配置规则,对缓存内容中的数据进行监控。从而通过脚本对接数据的方式,来形成监控操作,不再依赖于其他的监控工具,进而有效地节约了监控工具的成本问题,同时还能通过脚本的方式来满足企业自身日益提高的发展需求。

本申请另一实施例提供了一种weblogic实例的监控装置,如图10所示,包括以下单元:

对象确定单元1001,用于确定扫描对象。

第一执行单元1002,用于当扫描对象为日志文件时,执行第一缓存流程。

第二执行单元1003,用于当扫描对象为运行指标时,执行第二缓存流程。

输出单元1004,用于输出缓存内容,并将缓存内容传递至监控平台,由监控平台按照预设的配置规则,对缓存内容中的数据进行监控。

第一执行单元1002,具体用于:

第一获取单元,用于获取目标关键字组以及运行环境变量。

定位单元,用于基于运行环境变量,对主机中的日志文件进行定位,得到当前扫描文件。

行数确定单元,用于根据当前扫描文件,确定扫描的起止行数。

重定向单元,用于从当前扫描文件中获取,在预设扫描时间内产生的更新字段作为临时文件,并基于起止行数,将当前扫描文件重定向至临时文件中。

第一匹配单元,用于将临时文件与目标关键字组进行匹配,得到各个匹配关键字。

第一缓存单元,用于根据预设的配置规则,将各个匹配关键字格式化为指标矩阵,并进行缓存。

第二执行单元1003,具体用于:

第二获取单元,用于获取运行环境变量。

版本获取单元,用于根据运行环境变量,从主机中获取Weblogic软件的当前软件版本。

脚本确定单元,用于根据当前软件版本,确定临时脚本。

脚本执行单元,用于执行临时脚本,以进行缓存操作。

需要说明的是,本申请实施例中的上述单元的具体工作过程可相应地参考上述方法实施例中的步骤S101~步骤S104,此处不再赘述。

可选地,本申请另一实施例提供的一种weblogic实例的监控装置中,行数确定单元,包括:

行数判断单元,用于判断当前扫描文件是否记录上次已完成扫描的行数。

第一扫描单元,用于若当前扫描文件未记录上次已完成扫描的行数,则重新开始扫描当前扫描文件。

第一检测单元,用于若当前扫描文件记录上次已完成扫描的行数,则检测上次已完成扫描的行数是否大于当前扫描文件的行数。

文件获取单元,用于若上次已完成扫描的行数大于当前扫描文件的行数,则获取当前扫描文件的上一个扫描文件进行扫描。

第一确定单元,用于当上一个扫描文件扫描完成时,确定扫描的起止行数为上一个扫描文件扫描的起止行数。

第二扫描单元,用于若上次已完成扫描的行数不大于当前扫描文件的行数,则按照上次已完成扫描的行数,继续扫描当前扫描文件。

第二确定单元,用于当当前扫描文件扫描完成时,确定扫描的起止行数为当前扫描文件的起止行数。

可选地,本申请另一实施例提供的一种weblogic实例的监控装置中,第一匹配单元,包括:

第二匹配单元,用于将临时文件分别与目标关键字组中的各个关键字进行匹配。

第二检测单元,用于检测目标关键字组中,是否存在与临时文件成功匹配的各个目标关键字。

第三确定单元,用于若目标关键字组中,存在与临时文件成功匹配的各个目标关键字,则将各个目标关键字确定为各个匹配关键字。

可选地,本申请另一实施例提供的一种weblogic实例的监控装置中,脚本确定单元,包括:

版本判断单元,用于判断当前软件版本是否为目标软件版本。

第一写入单元,用于若当前软件版本为目标软件版本,则将运行环境变量写入第一脚本中,得到第一目标脚本,并将第一目标脚本作为临时脚本。

第一写入单元,用于若当前软件版本为非目标软件版本,则将运行环境变量写入第二脚本中,得到第二目标脚本,并将第二目标脚本作为临时脚本。

可选地,本申请另一实施例提供的一种weblogic实例的监控装置中,若临时脚本为第一目标脚本,脚本执行单元,包括:

创建单元,用于创建目标对象。

配置单元,用于配置目标对象,并初始化rest请求。

执行单元,用于基于配置后的目标对象,对主机执行各个预设的检查步骤。

生成单元,用于向主机发送初始化后的rest请求,由主机根据初始化后的rest请求,生成第一响应结果。其中,第一响应结果至少包括各个预设的检查步骤对应的检查指标。

第二缓存单元,用于接收主机发送的各个检查指标,并将各个检查指标进行缓存。

可选地,本申请另一实施例提供的一种weblogic实例的监控装置中,若临时脚本为第二目标脚本,脚本执行单元,包括:

连接单元,用于初始化环境参数,并根据环境参数与主机建立连接。

检查单元,用于根据各个预设的检查步骤,对主机进行检查,并向主机发送目标命令,由主机根据目标命令,生成第二响应结果。其中,第二响应结果至少包括各个预设的检查步骤对应的目标检查指标。

第三缓存单元,用于接收主机发送的各个目标检查指标,并将各个目标检查指标进行缓存。

需要说明的是,本申请上述实施例提供的各个单元的具体工作过程可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116526665