[发明专利]云系统JAVA容器JVM内存溢出的监控方法及系统有效
申请号: | 202010610318.7 | 申请日: | 2020-06-30 |
公开(公告)号: | CN111782471B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 任政;武文轩;齐颀;白佳乐 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/32 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 赵平;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 java 容器 jvm 内存 溢出 监控 方法 | ||
本发明提供了一种云系统JAVA容器JVM内存溢出的监控方法及系统,所述方法包括:通过监控容器获取JAVA应用容器的JVM日志信息,其中,所述监控容器和所述JAVA应用容器设置在云系统的一个POD中;确定所述JVM日志信息中是否存在表示内存溢出的内存溢出信息;若是,根据所述内存溢出信息形成报警报文以反馈给运维人员,本发明可实现云系统上JAVA应用容器内存溢出的快速、准确的监控。
技术领域
本发明涉及云平台监控报警技术领域,尤其涉及一种云系统JAVA容器JVM内存溢出的监控方法及系统。
背景技术
JAVA应用依赖于JVM虚拟机实现内存的动态分配和回收,当累积申请内存超出最大内存限制且无法回收释放时,应用程序将因JVM内存溢出而中断整体服务。如不及时定位JVM内存溢出原因并修复,服务将在重启一段时间后继续中断,极大影响运维人员体验。
针对传统非上云的JAVA应用,即并非设置在云系统上的JAVA应用,业界一般采用两种方法监控JVM内存溢出:1)监控JAVA应用程序的内存使用情况,当持续高于设定阈值时给出报警,但内存使用高不代表发生了溢出,因而存在一定的误报概率;2)监控应用进程是否存在,如不存在,报警通知运维人员分析JVM运行日志,如日志中出现java.lang.OutOfMemoryError关键字,则发生了JVM内存溢出。以上两种监控方法均涉及监控工具的部署,但上云的JAVA应用容器因安全和隔离性需要,单容器一般只允许运行一个进程。同时,方法1)存在无法准确感知JVM内存溢出的缺陷,方法2)依赖于人为分析机制,但云上容器随着进程退出而快速销毁,无法为运维人员提供充足的分析时间。
由此,如何提供一种云上容器JVM内存溢出的监控方案,既满足单容器运行单进程无侵入性地需要,又能准确检测报警JVM内存溢出事件,成为了亟待解决的问题。
发明内容
本发明的一个目的在于提供一种云系统JAVA容器JVM内存溢出的监控方法,实现云系统上JAVA应用容器内存溢出的快速、准确的监控。本发明的另一个目的在于提供一种云系统JAVA容器JVM内存溢出的监控系统。本发明的再一个目的在于提供一种计算机设备。本发明的还一个目的在于提供一种可读介质。
为了达到以上目的,本发明一方面公开了一种云系统JAVA容器JVM内存溢出的监控方法,包括:
通过监控容器获取JAVA应用容器的JVM日志信息,其中,所述监控容器和所述JAVA应用容器设置在云系统的一个POD中;
确定所述JVM日志信息中是否存在表示内存溢出的内存溢出信息;
若是,根据所述内存溢出信息形成报警报文以反馈给运维人员。
优选的,通过监控容器获取JAVA应用容器的JVM日志信息具体包括:
根据监控容器的环境配置文件确定JAVA应用容器的JVM日志存储信息;
通过监控容器根据JVM日志存储信息从JAVA应用容器和监控容器的共享存储位置获取JVM日志文件的镜像文件;
从所述镜像文件中读取JVM日志信息。
优选的,进一步包括预先将所述监控容器和所述JAVA应用容器设置在一个POD中的步骤。
优选的,所述预先将所述监控容器和所述JAVA应用容器设置在一个POD中具体包括:
将监控容器和JAVA应用容器设置在云系统上,并将监控容器和JAVA应用容器设置在一个POD中;
将JVM日志存储信息、JAVA应用信息和内存溢出信息发送信息设置在环境配置文件中。
优选的,所述确定所述JVM日志信息中是否存在表示内存溢出的内存溢出信息具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010610318.7/2.html,转载请声明来源钻瓜专利网。