prometheus监控java_prometheus入手jvm监控

本文介绍了在Java应用中使用Prometheus进行JVM监控的需求和常见方案,如jconsole、APM工具以及Prometheus结合jmx_exporter的实践。Prometheus作为轻量级监控存储解决方案,易于搭建且能与K8s集成。通过配置jmx_exporter,可以将JVM的JMX数据转换为Prometheus可读取的指标,便于利用Grafana进行可视化分析和问题排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jvm监控的必要性

如果遇到jvm问题,我们一般考虑查看jstat,jconsole查看基本信息,例如jvm各个空间的使用比率,还要gc次数,gc时间等等。在排除错误的时候,我们也发现jstat开启的时候,一般会后面加个定时打印的时间,先观察一段时间。不同时间的数据需要做对比。不对比的话,根本不知道整个jvm运行的情况,例如gc次数是什么频率的增长,gc的时间是什么情况。所以我们需要一个方案把数据可视化。这样才能很好的分析问题。

常见方案

jconsole

如果特别短期的话,我们就使用jconsole。里面有一段时间的展示结果,但是数据不会保存很久。适合问题特别明显的时候。

apm

apm监控更为专业,不单单是jvm的,会有物理机的信息,调用栈,以及异常等等。相对数据很全面,商业的有oneapm,听云等等。开源的有pinpoint,skywalking等。由于是完整的一套监控方案,所以一般都比较重,依赖的存储往往是hbase,es等。其实主要是一个长期的分析。

prometheus

prometheus本身其实是监控存储的一套方案,大家可以把数据存储到prometheus,而且他无缝衔接k8s。由于他是时序数据库,所以存储的数据是有限的,只有metric的数据,并没有方法去存储堆栈等等。也因此,他的搭建其实最方便,一般用用存个几天的数据做做监控,他是特别快速的方案。

jmx exporter

现在已经有开源的方案采集jmx的指标到prometheus。

这个方案是一个javaagent的实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值