CN103067230A - 一种通过植入监控代码实现对http服务监控的方法 - Google Patents

一种通过植入监控代码实现对http服务监控的方法 Download PDF

Info

Publication number
CN103067230A
CN103067230A CN2013100240138A CN201310024013A CN103067230A CN 103067230 A CN103067230 A CN 103067230A CN 2013100240138 A CN2013100240138 A CN 2013100240138A CN 201310024013 A CN201310024013 A CN 201310024013A CN 103067230 A CN103067230 A CN 103067230A
Authority
CN
China
Prior art keywords
monitoring
http service
http
monitored
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013100240138A
Other languages
English (en)
Inventor
潘文杰
王科技
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGSU TIANZHI HULIAN TECHNOLOGY Co Ltd
Original Assignee
JIANGSU TIANZHI HULIAN TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JIANGSU TIANZHI HULIAN TECHNOLOGY Co Ltd filed Critical JIANGSU TIANZHI HULIAN TECHNOLOGY Co Ltd
Priority to CN2013100240138A priority Critical patent/CN103067230A/zh
Publication of CN103067230A publication Critical patent/CN103067230A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种通过植入监控代码实现对http服务的监控方法,属于计算机网络技术领域。该方法的监控端通过以下步骤实现对被监控端http服务的监控:向被监控端预定地址植入动态页面,动态页面用以发出需监控http服务的对应请求以及根据http服务响应的生成访问结果值;定时启动访问预定地址的动态页面;接收被访问动态页面发出需监控http服务的对应请求后根据返回值生成的相应访问结果值;当访问结果值异常且次数超过容错次数阈值时,发出处理指令,否则返回第二步。这样,即使监控端处于无人值守状态,也能适时发现被监控端出现的异常,并采取相应措施,使被监控端恢复正常,保证服务质量,大大减少维管的人员投入,缩短被监控端的恢复时间。

Description

一种通过植入监控代码实现对http服务监控的方法
技术领域
本发明涉及一种监控方法,尤其是一种通过植入监控代码实现对http服务的监控方法,属于计算机网络技术领域。
背景技术
随着软件技术的迅速发展,更多样化、复杂化的软件投入使用。基于J2EE的企业级应用面向广泛的使用人群,有着更多的未知性和不可预见性。因此,对J2EE服务的监控也有着更高的要求。
目前,软件监控实现方法较多,但针对性不强且使用复杂。Nagios是目前较成熟的监控框架,拥有基本的硬件监控、服务监控功能及通知功能,但其只能运行在Linux/Unix平台上,不仅无法对软件异常做出重启动作,而且扩展性不高,存在人员参与成本较高等缺点。
检索发现,申请号为200910085734.3的中国专利公开了记录软件使用信息的系统和方法。该系统包括监控模块、描述模块和记录模块;所述监控模块,监控目标软件与操作系统之间交互的所述目标软件的使用信息;所述描述模块,根据所述监控模块监控到的使用信息生成相应的描述信息;所述记录模块在自动创建的文档中记录所述描述模块生成的描述信息。该专利侧重监控软件的操作使用,无法实现对HTTP服务运行情况进行自动监控以及发现异常告警等处理。
发明内容
本发明的目的在于:针对上述现有技术存在的缺点,提出一种可以在http服务出现异常时自动进行相应处理(发出告警以及自动重启)使之得以及其恢复正常的通过植入监控代码实现对http服务的监控方法,从而大大短恢复时间,保证服务质量。
为了达到以上目的,本发明通过植入监控代码实现对http服务的监控方法包括启动后面向客户提供各种类型http服务的被监控端以及与被监控端通讯联系的监控端,所述监控端通过以下基本步骤实现对被监控端http服务的监控:
第一步、向被监控端预定地址植入动态页面,所述动态页面用以发出需监控http服务的对应请求以及根据所述http服务响应的生成访问结果值;
第二步、定时启动访问预定地址的动态页面;
第三步、接收被访问动态页面发出需监控http服务的对应请求后根据返回值生成的相应访问结果值;
第四步、当访问结果值异常且次数超过容错次数阈值时,发出处理指令,否则返回第二步。
上述处理指令包括向预定邮箱发送告警邮件和/或向预定号码发送告警短信,以及重启被监控端的http服务。
本发明的监控端和被监控端可以处于同一服务器,也可以分别处于网络连接的监控服务器和被监控服务器(展现服务器)。
采用本发明后,即使监控端处于无人值守状态,也能适时发现被监控端出现的异常,并通过自动重启被监控端,或通知维管人员及时维护,使被监控端恢复正常,保证服务质量,大大减少维管的人员投入,缩短被监控端的恢复时间。
附图说明
图1为本发明一个实施例的监控端和被监控端连接关系示意图。
图2为图1实施例中监控端的构成示意图。
图3为图1实施例的监控路线示意图。
图4为图1实施例的监控流程示意图。
具体实施方式
 
本实施例通过植入监控代码实现对http服务的监控方法中,启动后面向客户机提供各种类型http服务的被监控端处于展现服务器,监控端处于监控服务器,其相互之间通过网络通道连接。
监控服务器中含有下表所示文件构成的任务调度模块(包括任务模块和数据采集模块)、用以调用配置信息的配置模块、用以形成日志文件的日志模块、用以与被监控端通讯的协议交互模块,以及用以进行相应处理的告警模块和重启模块(参见图2)。
Figure 2013100240138100002DEST_PATH_IMAGE002
监控端通过以下步骤实现对被监控端http服务的监控(参见图3、图4):
第一步、向被监控端预定地址植入以下mondb.jsp程序脚本形成的动态页面,该动态页面用以发出需监控数据库连接http服务的对应请求以及根据该http服务响应的生成访问结果值;
mondb.jsp
<%page contentType="text/html;charset=UTF-8"  %>
<%page import="java.sql.Connection"%>
<%page import="java.sql.PreparedStatement"%>
<%page import="java.sql.ResultSet"%>
<%page import="javax.sql.DataSource"%>
<%page import="java.sql.SQLException"%>
<%
      Connection conn = null;
      PreparedStatement pstmt = null;
      String sql = " select 1 from dual ";
      ResultSet rs = null;
      String result = "0";
      try {
        DataSource ds = DBUtil.getDataSource(); 
        conn = ds.getConnection();
         pstmt = conn.prepareStatement(sql);
        rs = pstmt.executeQuery();
        if(rs.next()){
           result = "1";
        }
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        try {
           if(rs != null)
           {
              rs.close();
           }
        } catch (SQLException e) {
           e.printStackTrace();
        }
        try {
           if(pstmt != null)
           {
              pstmt.close();
           }
        } catch (SQLException e) {
           e.printStackTrace();
        }
        try {
           if(conn != null)
           {
              conn.close();
           }
        } catch (SQLException e) {
           e.printStackTrace();
        }
      }
out.clear();
out.print(result);
%>。
第二步、任务调度模块通过配置模块调用以下monitorconfig.xml程序脚本的需监控服务相关配置信息——其中包括预定地址、容错次数阈值、处理规则等,按预定时间启动通过协议交互模块访问预定地址的动态页面;
monitorconfig.xml
<config>
   <app>
      <!-- 标示 -->
      <id>001</id>
      <!-- 应用名称 -->
      <appname>test1</appname>
      <!-- 应用地址 -->
      <appurl>http://localhost:9090/mondb.jsp</appurl>
      <!--连接超时秒数 ,默认30秒-->
      <timeout>30</timeout>
      <!--是否自动重启 -->
      <restart>false</restart>
      <!--被监控服务端口 -->
      <port>80</port>
        <!--被监控服务的实际启动命令-->
       <reservcompath>
<![CDATA[ C:\\tomcat-7.0.14\\bin\\startup.bat ]]>
</reservcompath>
      <!--等待重启秒数,默认300秒 -->
      <reStartWaitTime>300</reStartWaitTime>
      <freq>1</freq>
   </app>
</config>。
第三步、数据采集模块接收被访问动态页面发出需监控http服务的对应请求后根据返回值生成的相应访问结果值;本实施例的动态页面实际发出了数据库连接http服务的对应请求,并将该请求的返回值以成功为“1”、失败为“0”作为访问结果值。
第四步、任务模块根据通过配置模块调用的配置信息,判断访问结果值是否正常,如正常则返回第二步;如异常则通过日志模块调用日志文件后,进一步判断异常次数是否超过容错次数阈值,如没有超过,则通过日志模块记录日志,返回第二步,如超过则进行下一步。
第五步、任务模块根据通过配置模块调用的配置信息,决定通过告警模块发向预定邮箱发送告警邮件和/或向预定号码发送告警短信,以及是否重启被监控端的http服务;之后通过日志模块记录日志,返回第二步进行下一轮的监控。
本实施例中的任务模块还定期调用包括访问时间、访问内容、访问结果在内的监控日志,以图表形式展示,从而直观了解被监控端一定期间内的运行情况。
实践证明,与现有技术相比,由于监控端可以在被监控端的http服务出现异常时,自动发出告警以及酌情自动重启,使之恢复正常,因此显著减少了维护工作量,避免了人为因素导致的恢复不及时等问题,提高被监控端的服务质量,同时具有如下显著优点:
1)由于为实现较好的跨平台性,采用JAVA作为实现语言,系统本身为一个HTTP服务,使用tomcat(开放源代码的网络服务器)作为服务容器,并集成所用的JDK(JAVA开发工具包),因此兼容windows,linux等操作系统,不需要额外安装任何程序和组件也不需要更改和添加任何操作系统的配置,完全独立运行。
2)由于偏重监控HTTP服务,因此在配置上针对HTTP服务,更加灵活和强大,可以监控HTTP服务的具体功能及HTTP服务的数据库访问等各种情况。
本发明不限于上述实施例,植入的页面中根据具体的业务可以写入任何需要监控的http服务代码,除测试数据库连接外,还可以是其它重要功能的访问等。在监控端编写任务时,可酌情设置任务的相关属性,包括重启参数、告警参数等,之后由统一的任务调度程序实现对任务的统一管理。
此外,植入的页面可以由任何动态语言编写,如asp,php,jsp。所有的监控判断由动态页面完成,统一返回值用以监控端的判断。监控端定时可以使用quartz作为定时管理器。
凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

Claims (7)

1.一种通过植入监控代码实现对http服务监控的方法,包括启动后面向客户提供各种类型http服务的被监控端以及与被监控端通讯联系的监控端,其特征在于:所述监控端通过以下步骤实现对被监控端http服务的监控:
第一步、向被监控端预定地址植入动态页面,所述动态页面用以发出需监控http服务的对应请求以及根据所述http服务响应的生成访问结果值;
第二步、定时启动访问预定地址的动态页面;
第三步、接收被访问动态页面发出需监控http服务的对应请求后根据返回值生成的相应访问结果值;
第四步、当访问结果值异常且次数超过容错次数阈值时,发出处理指令,否则返回第二步。
2.根据权利要求1所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述处理指令为向预定邮箱发送告警邮件和/或向预定号码发送告警短信。
3.根据权利要求1所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述处理指令为及重启被监控端的http服务。
4.根据权利要求2或3所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述监控端和被监控端处于同一服务器或分别处于网络连接的监控服务器和被监控服务器。
5.根据权利要求4所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述监控服务器中含有任务模块和数据采集模块构成的任务调度模块、用以调用配置信息的配置模块、用以形成日志文件的日志模块、用以与被监控端通讯的协议交互模块,以及用以进行相应处理的告警模块和重启模块。
6.根据权利要求5所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述第二步中,任务调度模块通过配置模块调用包括预定地址、容错次数阈值、处理规则在内的需监控服务相关配置信息,按预定时间启动通过协议交互模块访问预定地址的动态页面。
7.根据权利要求6所述通过植入监控代码实现对http服务的监控方法,其特征在于:所述第四步中,任务模块根据通过配置模块调用的配置信息,判断访问结果值是否正常,如正常则返回第二步;如异常则通过日志模块调用日志文件后,进一步判断异常次数是否超过容错次数阈值,如没有超过,则通过日志模块记录日志,返回第二步,如超过则根据通过配置模块调用的配置信息,决定通过告警模块发向预定邮箱发送告警邮件和/或向预定号码发送告警短信,以及是否重启被监控端的http服务;之后通过日志模块记录日志,返回第二步进行下一轮的监控。
CN2013100240138A 2013-01-23 2013-01-23 一种通过植入监控代码实现对http服务监控的方法 Pending CN103067230A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100240138A CN103067230A (zh) 2013-01-23 2013-01-23 一种通过植入监控代码实现对http服务监控的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100240138A CN103067230A (zh) 2013-01-23 2013-01-23 一种通过植入监控代码实现对http服务监控的方法

Publications (1)

Publication Number Publication Date
CN103067230A true CN103067230A (zh) 2013-04-24

Family

ID=48109699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100240138A Pending CN103067230A (zh) 2013-01-23 2013-01-23 一种通过植入监控代码实现对http服务监控的方法

Country Status (1)

Country Link
CN (1) CN103067230A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259684A (zh) * 2013-05-23 2013-08-21 世纪龙信息网络有限责任公司 互联网业务监控方法和系统
CN104065725A (zh) * 2014-06-25 2014-09-24 北京思特奇信息技术股份有限公司 基于http超文本传送协议的系统实时监控方法及系统
CN104200157A (zh) * 2014-09-02 2014-12-10 广州金山网络科技有限公司 一种网页异常处理方法和设备
CN104683179A (zh) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 一种对对象的执行性能进行监控的方法、装置及系统
CN104683180A (zh) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 一种性能监控方法、系统及应用服务器
CN105204983A (zh) * 2014-06-16 2015-12-30 北京基调网络系统有限公司 Java Web应用性能诊断方法及装置
CN105306288A (zh) * 2014-06-27 2016-02-03 中兴通讯股份有限公司 WebSocket服务器监控方法及装置
CN105740121A (zh) * 2016-01-26 2016-07-06 中国银行股份有限公司 一种日志文本监控与预警方法、装置
CN106059794A (zh) * 2016-05-13 2016-10-26 努比亚技术有限公司 一种监控方法和监控装置
CN106953740A (zh) * 2017-01-24 2017-07-14 阿里巴巴集团控股有限公司 应用中页面访问数据的处理方法、客户端、服务器及系统
CN107257384A (zh) * 2017-07-24 2017-10-17 北京小米移动软件有限公司 服务状态监控方法及装置
CN107436777A (zh) * 2016-05-27 2017-12-05 北京京东尚科信息技术有限公司 移动终端、应用程序崩溃处理方法及装置
CN108243238A (zh) * 2016-12-27 2018-07-03 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108632106A (zh) * 2017-03-22 2018-10-09 广达电脑股份有限公司 监控服务设备的系统
CN109828545A (zh) * 2019-02-28 2019-05-31 武汉三工智能装备制造有限公司 Ai智能过程异常识别闭环控制方法、主机及装备系统
CN112564980A (zh) * 2020-12-17 2021-03-26 航天精一(广东)信息科技有限公司 一种基于微服务架构的服务监控方法及系统
CN113971508A (zh) * 2021-09-30 2022-01-25 北京蓝海医信科技有限公司 基于信息集成平台针对接口调用异常的处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561774A (zh) * 2009-03-31 2009-10-21 深圳创维数字技术股份有限公司 一种自定义协议服务程序的监测方法及监测系统
CN101599038A (zh) * 2009-05-27 2009-12-09 腾讯科技(北京)有限公司 一种记录软件使用信息的系统和方法
CN101997925A (zh) * 2010-11-22 2011-03-30 北京亮点时间科技有限公司 具有预警功能的服务器监控方法及其系统
CN102420851A (zh) * 2011-11-10 2012-04-18 百度在线网络技术(北京)有限公司 Http服务监控方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561774A (zh) * 2009-03-31 2009-10-21 深圳创维数字技术股份有限公司 一种自定义协议服务程序的监测方法及监测系统
CN101599038A (zh) * 2009-05-27 2009-12-09 腾讯科技(北京)有限公司 一种记录软件使用信息的系统和方法
CN101997925A (zh) * 2010-11-22 2011-03-30 北京亮点时间科技有限公司 具有预警功能的服务器监控方法及其系统
CN102420851A (zh) * 2011-11-10 2012-04-18 百度在线网络技术(北京)有限公司 Http服务监控方法及系统

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259684A (zh) * 2013-05-23 2013-08-21 世纪龙信息网络有限责任公司 互联网业务监控方法和系统
CN105204983A (zh) * 2014-06-16 2015-12-30 北京基调网络系统有限公司 Java Web应用性能诊断方法及装置
CN105204983B (zh) * 2014-06-16 2018-07-06 北京基调网络系统有限公司 Java Web应用性能诊断方法及装置
CN104065725A (zh) * 2014-06-25 2014-09-24 北京思特奇信息技术股份有限公司 基于http超文本传送协议的系统实时监控方法及系统
CN105306288A (zh) * 2014-06-27 2016-02-03 中兴通讯股份有限公司 WebSocket服务器监控方法及装置
CN104200157B (zh) * 2014-09-02 2018-01-23 广州金山网络科技有限公司 一种网页异常处理方法和设备
CN104200157A (zh) * 2014-09-02 2014-12-10 广州金山网络科技有限公司 一种网页异常处理方法和设备
CN104683180A (zh) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 一种性能监控方法、系统及应用服务器
CN104683180B (zh) * 2015-02-12 2019-05-03 北京蓝海讯通科技有限公司 一种性能监控方法、系统及应用服务器
CN104683179A (zh) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 一种对对象的执行性能进行监控的方法、装置及系统
CN105740121A (zh) * 2016-01-26 2016-07-06 中国银行股份有限公司 一种日志文本监控与预警方法、装置
CN105740121B (zh) * 2016-01-26 2018-08-28 中国银行股份有限公司 一种日志文本监控与预警方法、装置
CN106059794A (zh) * 2016-05-13 2016-10-26 努比亚技术有限公司 一种监控方法和监控装置
CN107436777A (zh) * 2016-05-27 2017-12-05 北京京东尚科信息技术有限公司 移动终端、应用程序崩溃处理方法及装置
CN108243238B (zh) * 2016-12-27 2020-10-09 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN108243238A (zh) * 2016-12-27 2018-07-03 中国移动通信集团浙江有限公司 一种性能数据的采集方法及装置
CN106953740B (zh) * 2017-01-24 2020-07-03 阿里巴巴集团控股有限公司 应用中页面访问数据的处理方法、客户端、服务器及系统
CN106953740A (zh) * 2017-01-24 2017-07-14 阿里巴巴集团控股有限公司 应用中页面访问数据的处理方法、客户端、服务器及系统
CN108632106A (zh) * 2017-03-22 2018-10-09 广达电脑股份有限公司 监控服务设备的系统
CN108632106B (zh) * 2017-03-22 2020-11-24 广达电脑股份有限公司 监控服务设备的系统
CN107257384A (zh) * 2017-07-24 2017-10-17 北京小米移动软件有限公司 服务状态监控方法及装置
CN109828545A (zh) * 2019-02-28 2019-05-31 武汉三工智能装备制造有限公司 Ai智能过程异常识别闭环控制方法、主机及装备系统
CN109828545B (zh) * 2019-02-28 2020-09-11 武汉三工智能装备制造有限公司 Ai智能过程异常识别闭环控制方法、主机及装备系统
CN112564980A (zh) * 2020-12-17 2021-03-26 航天精一(广东)信息科技有限公司 一种基于微服务架构的服务监控方法及系统
CN112564980B (zh) * 2020-12-17 2023-10-03 广东精一信息技术有限公司 一种基于微服务架构的服务监控方法及系统
CN113971508A (zh) * 2021-09-30 2022-01-25 北京蓝海医信科技有限公司 基于信息集成平台针对接口调用异常的处理方法及装置

Similar Documents

Publication Publication Date Title
CN103067230A (zh) 一种通过植入监控代码实现对http服务监控的方法
CN109495308B (zh) 一种基于管理信息系统的自动化运维系统
CN107451268B (zh) 一种面向实时数据库的断网续传的方法
CN104731580B (zh) 基于Karaf与ActiveMQ的自动化运维系统及其实现方法
CN113254466B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN104834582B (zh) 一种监控事件展示方法
CN110445856B (zh) 一种支持多协议接入的物联网通讯组件管控系统及方法
CN106161644B (zh) 数据处理的分布式系统及其数据处理方法
CN104539053A (zh) 基于爬虫技术的电力调度自动化巡检机器人及巡检方法
CN108737549A (zh) 一种大数据量的日志分析方法及装置
CN103870977A (zh) 移动广告平台数据同步方法及其系统
CN111338893A (zh) 进程日志处理方法、装置、计算机设备以及存储介质
US8326913B2 (en) Method and system for service contract discovery
CN105787300B (zh) 一种控制软件使用的方法及系统
CN114385956A (zh) 一种在浏览器多个页签间通讯并更新状态的方法
CN111913933A (zh) 基于统一支撑平台的电网历史数据管理方法及系统
CN114090529A (zh) 一种日志管理方法、装置、系统和存储介质
CN108833451B (zh) 基于国产安全管控平台的多级管控系统及管控方法
CN103944779B (zh) 一种wap业务性能监测方法及系统
CN117729239A (zh) 一种用于物联网中台的设备自动注册和数据通讯协议
CN110019536B (zh) 一种基于医疗区块链技术的数据库系统
CN111241101A (zh) 一种分布式水利rtu数据采集系统及方法
CN113965447B (zh) 一种在线云诊断方法、装置、系统、设备及存储介质
CN115220992A (zh) 接口变更监控方法、装置、计算机设备和存储介质
CN111786875A (zh) 基于分布式架构的数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130424