监控脚本的运行方法及装置的制造方法_3

文档序号:8487712阅读:来源:国知局
得更加简单,高效。
[0072]本实施例通过将复杂的脚本代码编入库脚本中,在更新时,将库脚本复制到所有服务器即可,操作过程简单。有效避免在现有的这种监控脚本的编写方式下,需要熟悉脚本语言才能完成监控脚本的编写,且每次对监控脚本增加功能都需要更新所有脚本。导致监控脚本的编写过程复杂、难度高,使得监控脚本的编写效率差的问题。降低了监控脚本的编写过程的复杂度、难度,提高了监控监本的编写效率。
[0073]进一步地,基于上述监控脚本的运行方法的第一实施例,提出本发明的第二实施例。如图5所示,所述步骤S30之后,还可以包括:
[0074]步骤S40,在监测到所述待监测应用程序的运行状态为异常时,通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,以通过所述启动全局变量重新启动所述待监测应用程序。
[0075]在功能检查接口发现应用程序运行异常时,会先kill (杀死)应用程序的程序名,再通过调用库脚本功能检查接口读取与所述待检测应用程序对应的启动全局变量,即通过使用${程序启动命令}重启运行异常的应用程序。
[0076]本实施例,通过将复杂的脚本代码编写在库脚本中,通过简单的监控监本调用库脚本中的全局变量,来完成监控脚本的运行,即完成应用程序的监控和重启操作,使得监控脚本的编写更加简单,提高了监控脚本的编写效率。
[0077]上述第一至第二实施例的监控监本的运行方法的执行主体均可以为终端。更进一步地,该监控监本的运行方法可以由安装在终端上的客户端基于监控监本的运行程序(例如,监控监本的运行监测软件或监控脚本等)实现,其中,该终端包括但不限于手机、pad、掌上电脑、笔记本等。
[0078]对应地,基于上述监控脚本的运行方法的实施例,提出本发明监控脚本的运行装置的较佳实施例。参考图5,所述监控脚本的运行装置包括加载模块10、处理模块20、参数传入模块30、读取模块40、监测模块50、接发模块60、设置模块70、存储模块80、更新模块90及编写模块100。
[0079]所述加载模块10,用于在启动应用程序监测功能后,加载库脚本;
[0080]所述处理模块20,用于确定所述待监测应用程序;
[0081]参考图3,库脚本包括至少一个全局变量,一个传参数接口,至少一个功能检查接
□O
[0082]全局变量包括:$ {程序名}、$ {程序监听端口 }、$ {程序启动命令}等,初始值设置为空;
[0083]传参数接口函数:用于更新全局变量;
[0084]功能检查接口分为多个(以下涉及一些基本Linux命令):
[0085]功能检查接口 I (程序是否运行):ps_ef I grep$ {程序名} |wc_| ;
[0086]功能检查接口 2 (程序监听端口 ):nc$ {本机IP$ |程序监听端口 | ;
[0087]功能检查接口 3(程序日志状态):stat-c日志文件。在本发明其他实施例中功能检查接口不仅上述3个,可以根据系统中实际情况不断添加,例如可以增加http服务检查接口,接口实现方法可以用cur I工具探测80端口是否正常,当然也还可以增加其他功能检查接口。
[0088]启动应用程序检测功能的启动触发可以包括:在接收到启动应用程序检测功能指令时所述启动触发;预设一时间间隔(例如,I分钟、2分钟等),在预设时间间隔到达时所述启动触发;在应用程序启动时所述启动触发等触发方式,可以是上述列举的方式的结合,例如,在应用程序启动时所述启动触发,在应用程序运行过程中通过预设时间间隔来触发。
[0089]监控脚本的编写通常只有3-6行代码:
[0090]加载库脚本,I行代码,内容固定;
[0091]调用传参数接口(把程序的特征传入库脚本,I行代码,内容需根据程序情况自定义);
[0092]调用功能检查接口(可多个,一般为1-4行,内容固定可选)。监控脚本是极其简单,但需要根据程序实际情况自定义内容的。
[0093]在启动应用程序检测功能后,加载模块10加载库脚本并通过处理模块20确定所述待检测应用程序。所述待检测应用程序可以为I个或多个,根据实际情况所需来完成某个或某些应用程序的监测。
[0094]所述参数传入模块30,用于在库脚本加载成功后,通过调用库脚本的传参数接口将待监测应用程序的参数传入库脚本;
[0095]在库脚本加载成功后,通过调用库脚本的传参数接口将待检测应用程序的参数传入库脚本。所述应用程序的参数包括但不限于应用程序的程序名、程序运行代码等。通过把程序的特征传入库脚本,内容根据程序情况自定义,完成对应用程序的监测。
[0096]所述读取模块40,用于通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量;
[0097]所述监测模块50,用于监测所述待监测应用程序的运行状态,以完成监控脚本的运行。
[0098]所述接发模块60,用于接收全局变量设置指令;
[0099]所述设置模块70,用于设置于所述全局变量设置指令对应的全局变量;
[0100]所述存储模块80,用于将所设置的全局变量保存在所述库脚本中。所述全局变量为通用的、常用的变量。
[0101]通过调用库脚本的功能检查接口读取与所述待监测应用程序对应的监测全局变量,监测所述待监测应用程序的运行状态,即监测待监测应用程序是否运行正常,以完成监控脚本的运行。监控脚本:检查应用程序是否正常运行的脚本。
[0102]在本发明其他实施例中还可以通过调用功能检查接口 2(程序监听端口):nc${本机ip$I程序监听端口 I对所述待监测应用程序进行监听,即监听所述待监测应用程序是否运行正常。在侦听所述待监测应用程序是否正常运行的过程之前,还可以是:通过功能检查接口 1(程序是否运行):ps-ef|gr印${程序名} Iwc-1来监测应用程序是否运行。也还可以是通过功能检查接口 3(程序日志状态):stat-c日志文件监测应用程序运行过程中的情况,对程序运行的过程进行监测。
[0103]所述更新模块90,用于在更新功能检查接口逻辑时,启动功能检查接口逻辑的更新操作,批量复制库脚本至所有应用服务器上,即将常用的全局变量封装在库脚本中,通过简单的复制操作发布到全网。
[0104]所述接发模块60,还用于接收脚本代码设置指令;所述处理模块20,还用于确定所述脚本代码设置指令对应的脚本代码;
[0105]所述编写模块100,用于将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;还用于将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。
[0106]接发模块60接收脚本代码设置指令,处理模块20确定所述脚本代码设置指令对应的脚本代码,所述脚本代码包括但不限于对应用程序监测的简单的脚本代码和复杂的脚本代码。提前预设复杂度阈值,所述复杂度阈值可以是2或3等,也还可是二级或三级等,在设置脚本代码时,编写模块80判断需要设置的脚本代码的复杂度是否大于预设复杂度阈值,编写模块80在需设置的脚本代码的复杂度大于预设复杂度阈值时,将复杂度大于预设复杂度阈值的脚本代码封装在库脚本中;编写模块80将复杂度小于或等于预设复杂度阈值的脚本封装在监控脚本中。例如,脚本代
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1