grafana+promethus+jmx_export监控jvm

本文介绍如何使用grafana、prometheus及jmx_exporter监控JVM应用程序。通过设置JVM暴露指标端口,并利用jmx_exporter收集指标,再由prometheus抓取数据,最后在grafana上展示监控面板。

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

grafana+promethus+jmx_export监控jvm

使用一个小demo模拟jvm进程,并开启jmx端口8077

public class Hello{
/**
 -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.129.112 -Dcom.sun.management.jmxremote.port=8077 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
 */
    public static void main(String[] args)
        throws InterruptedException
    {
        Thread.sleep(3 * 3600 * 1000);
    }    
}
  1. 下载并启动jmx_export组件

    下载https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.3.1/jmx_prometheus_javaagent-0.3.1.jar

    本文使用0.3.1版本,因为grafana里现成的面板模板很多都是基于老版本的,新版本修改了标签名称会无法在grafana里显示出来。

    两种启动方式,两种jar

    官网有使用说明https://github.com/prometheus/jmx_exporter

    一、和程序一起启动(官网推荐)

    在程序启动命令中增加-javaagent参数指定jar、端口为12345和config.yaml

    -javaagent:/root/jmx_prometheus_javaagent-0.3.1.jar=12345:/root/config.yaml
    

    最小config.yaml如下

    rules:
    - pattern: ".*"
    

    完整命令如下:

    java -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=192.168.129.112 -Dcom.sun.management.jmxremote.port=8078 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticatealse -javaagent:/root/jmx_prometheus_javaagent-0.3.1.jar=12345:/root/config.yaml Hello 
    

    二、程序外部单独httpserver方式启动

    单独启动jmx_export为http然后将jvm程序的jmx端口配置在config.yaml中

    java -jar jmx_prometheus_httpserver-0.3.1.jar 12345 config.yaml
    

    最小config.yaml

    localhost:8077
    rules:
    - pattern: ".*"
    

    验证jmx_export是否成功配置

    访问http://192.168.129.112:12345 ,查看是否有metrics数据

  2. 配置promethus

    vi prometheus.yml增加job配置

   - job_name: 'jmxtest'
     scrape_interval: 5s
     static_configs:
     - targets: ['192.168.129.112:12345']

重启promethus后,测试是否能查询到jmx数据
在这里插入图片描述
3. # 在grafana导入监控面板
在这里插入图片描述
在这里插入图片描述
job要填写promethus里配置的job_name
最终效果在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值