[发明专利]一种堆栈分析以及邮件实时报警的实现方法在审
申请号: | 201711014787.7 | 申请日: | 2017-10-25 |
公开(公告)号: | CN107797901A | 公开(公告)日: | 2018-03-13 |
发明(设计)人: | 李波;岳永胜;孙小波 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/32;G06F11/20;G06F11/07 |
代理公司: | 四川省成都市天策商标专利事务所51213 | 代理人: | 秦华云,李洁 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 堆栈 分析 以及 邮件 实时 报警 实现 方法 | ||
技术领域
本发明涉及系统运维技术领域,特别涉及一种堆栈分析以及邮件实时报警的实现方法。
背景技术
软件系统已经运用到社会生产的各行各业,软件项目也越来越复杂。日常生活中,当软件系统出现问题时最简单的处理方法便是重启软件,或者重启计算机。这种处理方法虽然简单,但是实际上隐藏的问题依然没有得到很好的解决。尤其在金融、在线商城等交易系统方面,这样的错误往往是致命的。
现有技术中,虽然已经有各种工具均提供查看系统运行参数,比如实时查看运行堆内存大小、GC运行情况、CPU运行情况等。然而面对如此多的参数,只有分析人员能力极高时才能准确定位到问题所在,一般的人是无法定位问题的,无法确认导致系统慢的问题在哪里,其带来的工作效率的降低,对于企业来说又无疑是在增加运营成本。
发明内容
本发明的目的是克服上述背景技术中不足,提供一种堆栈分析以及邮件实时报警的实现方法,通过该方法能实时获取系统运行参数,并在系统出现异常时能自动触发备用方案,降低系统异常对企业运营的影响。
为了达到上述的技术效果,本发明采取以下技术方案:
一种堆栈分析以及邮件实时报警的实现方法,包含以下流程:
A.使用jps命令实时获取java虚拟机的进程号及堆栈信息;
B.将获取到的信息数据替换到预设的shell命令脚本中特定位置,并分析获取到的信息数据,判定是否进入预警状态;
C.进入预警状态时向预设的预警邮件的收件人发送预警邮件,获取并分析java虚拟机运行参数,并切换至备用服务器。
进一步地,所述步骤A具体为:
A1.使用java自带的jdk命令行工具:jps获取java虚拟机中的java应用进程号;
A2.在cron中添加定时任务,定时获取java虚拟机的堆栈信息。
进一步地,所述定时任务执行的命令为:jstat-gcutil[java进程号]。
进一步地,所述步骤B具体为:
B1.将定时任务获取的数据追加到shell命令脚本的文本文件中;
B2.根据所述文本文件中保存的数据信息分析java虚拟机中各区的内存分布值;
B3.将获取到的内存分布值与预设安全阈值比较,当所述内存分布值超过所述安全阈值时,判定所述java虚拟机中发生内存泄露,并进入预警状态。
进一步地,所述步骤C具体为:
C1.进入预警状态时,首先通过jstat获取java虚拟机运行参数,并将获取的运行参数发送至分析程序,分析程序使用awk对收到的运行参数进行编写分析;
C2.将当前堆栈信息dump到文件中,并切换到备用服务器;
C3.将dump出的文件发送到预设的预警邮件的收件人的邮箱中。
进一步地,所述步骤C1中,具体为使用Linux管道的方式将获取的运行参数发送至分析程序。
进一步地,所述java虚拟机中至少包含eden区和survivor区。
本发明与现有技术相比,具有以下的有益效果:
本发明的一种堆栈分析以及邮件实时报警的实现方法,通过java提供的命令行工具实时获取java虚拟机运行的参数,对堆栈中的各种参数指标进行分析,从而预测系统是否有可能会出现异常,并在有可能出现异常的情况下将获取到的实时数据发送给系统运维人员,同时,在系统出现异常的情况下自动执行重启系统的shell命令,通过该方法能实时获取系统运行参数,并在系统出现异常时能自动触发备用方案,降低系统异常对企业运营的影响。
附图说明
图1是本发明的一种堆栈分析以及邮件实时报警的实现方法流程示意图。
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
如图1所示,一种堆栈分析以及邮件实时报警的实现方法,其原理为通过shell定时任务实时获取java虚拟机的运行参数,通过分析运行参数对java虚拟机的工作状态进行分析,其主要的分析思路是对特定参数指标进行判断,当参数运行超过正常值时即分析出可能会出现异常,并进一步判断是否触发自动发送邮件,及切换到备用服务器等一系列操作。
其具体包含以下步骤:
第一步、使用java自带的jdk命令行工具:jps获取java虚拟机中的java应用进程号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711014787.7/2.html,转载请声明来源钻瓜专利网。