手把手教你使用 Prometheus 监控 JVM
概述
当你的 Java 业务容器化上 K8S 后,如果对其进行监控呢?Prometheus 社区开发了 JMX Exporter 来导出 JVM 的监控指标,以便使用 Prometheus 来采集监控数据。本文将介绍如何利用 Prometheus 与 JMX Exporter 来监控你 Java 应用的 JVM。
什么是 JMX Exporter ?
JMX Exporter 利用 Java 的 JMX 机制来读取 JVM 运行时的一些监控数据,然后将其转换为 Prometheus 所认知的 metrics 格式,以便让 Prometheus 对其进行监控采集。
那么,JMX 又是什么呢?它的全称是:Java Management Extensions
。 顾名思义,是管理 Java 的一种扩展框架,JMX Exporter 正是基于此框架来读取 JVM 的运行时状态的。
如何使用 JMX Exporter 暴露 JVM 监控指标 ?
下面介绍如何通过 JMX Exporter 来暴露 Java 应用的 JVM 监控指标。
JMX Exporter 的两种用法
JMX-Exporter 提供了两种用法:
- 启动独立进程。JVM 启动时指定参数,暴露 JMX 的 RMI 接口,JMX-Exporter 调用 RMI 获取 JVM 运行时状态数据,转换为 Prometheus metrics 格式,并暴露端口让 Prometheus 采集。
- JVM 进程内启动(in-process)。JVM 启动时指定参数,通过 javaagent 的形式
我觉得这个ok: https://blog.51cto.com/u_15127573/3274227 free 不需要会员
彭世瑜: 我用domain-admin监控证书 https://pengshiyu.blog.csdn.net/article/details/127167853
Passerby_Wang: 写得也太详细了吧,学到了好多 也欢迎博主来我这里指点一二呀
weixin_44173649: 学习到了,我看了好未来那边和腾讯的还是有点差别,好未来是直接把kube scheduler修改为yarn resourcemanager管控,减少了yarn nm pod连上yarn rm的过程,但感觉腾讯的这种方法消耗更小并且后续也容易扩展
weixin_45499537: 真正的实操可以分享一下吗