[发明专利]对JVM线程进行在线监控的方法和装置有效
申请号: | 201410758372.0 | 申请日: | 2014-12-10 |
公开(公告)号: | CN104503891B | 公开(公告)日: | 2018-10-02 |
发明(设计)人: | 李清森 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/32 |
代理公司: | 北京邦信阳专利商标代理有限公司 11012 | 代理人: | 金玺 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | jvm 线程 进行 在线 监控 方法 装置 | ||
本发明公开了一种对JVM线程进行在线监控的方法和装置。所述方法包括:JVM服务器收集日志,并向日志收集服务器发送日志,所述日志中包含JVM线程的信息;监控/分析服务器从日志收集服务器获取日志;所述监控/分析服务器基于获取到的日志,判断所述日志中JVM线程的信息中的可量化数据是否超出预定阈值;当所述可量化数据超出预定阈值时,所述监控/分析服务器将超出预定阈值的可量化数据添加到告警队列,并产生告警信息;所述监控/分析服务器向Web展示服务器发送告警信息所对应的JVM线程的信息。通过本发明,避免了人工对数量庞大的JVM线程的排查,提高了排查效率和精度。
技术领域
本发明涉及计算机技术领域,尤其涉及一种对JVM线程进行在线监控的方法和装置。
背景技术
电子商务相比于传统购物方式,具有诸多特点,例如(1)交易不受时间和地域的限制;(2)拥有更广阔的市场;(3)由于减少了商品流通的中间环节,大大降低了交易成本。随着计算机技术和网络技术的发展,电子商务已经进入了可持续发展的稳定期。
Java语言以其特有的优势在电子商务中起着重要的作用。JVM(Java VirtualMachine)是Java平台的一部分,能够运行用Java语言编写的软件程序。Java程序采用多线程来处理大量的并发请求。在多线程情况下,尤其是在多核或多CPU的系统中,Java程序的复杂程度远高于单线程串行执行的程序。
多线程执行的程序存在如下问题:容易出现死锁或堵塞问题,导致程序执行效率变低乃至不可使用。例如,当需要访问同一数据库时,由于网路问题,导致某些线程对数据库的占用时间过长,其它线程不得不等待更长的时间才能对数据库进行访问。当发现等待时间较长时,现有技术的解决方式是人工对JVM线程逐个进行排查,查找导致出现问题的JVM线程。
很显然,上述人工排查方式存在诸多缺点,例如(1)效率低下;(2)排查出的结果不精确;(3)会给交易双方带来损失。
发明内容
有鉴于此,本发明提供了一种对JVM线程进行在线监控的方法和装置,以解决上述问题。
一种对JVM线程进行在线监控的方法,所述方法包括:
JVM服务器收集日志,并向日志收集服务器发送日志,所述日志中包含JVM线程的信息;
监控/分析服务器从日志收集服务器获取日志;
所述监控/分析服务器基于获取到的日志,判断所述日志中JVM线程的信息中的可量化数据是否超出预定阈值;
当所述可量化数据超出预定阈值时,所述监控/分析服务器将超出预定阈值的可量化数据添加到告警队列,并产生告警信息;
所述监控/分析服务器向Web展示服务器发送告警信息所对应的JVM线程的信息。
优选地,JVM服务器收集日志包括:
所述JVM服务器获取一个JVM进程的信息;
所述JVM服务器获取该JVM进程下JVM线程的信息;
所述JVM服务器获取该JVM进程下所有JVM线程的堆栈信息;
所述JVM服务器将该JVM进程的信息、JVM线程的信息和所述堆栈信息记入文本文件,作为日志。
可选地,所述监控/分析服务器在执行判断步骤之前,所述方法还包括:
所述监控/分析服务器通过solr工具对所述日志进行索引,并将索引后的日志存入HDFS分布式文件系统。
可选地,所述监控/分析服务器在执行判断步骤之前,所述方法还包括:
所述监控/分析服务器在未进行索引情况下将日志中可量化的数据写入数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410758372.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:终端异常的处理方法、处理装置和终端
- 下一篇:一种定时看门装置及系统