一、概述

JMX Exporter

https://github.com/prometheus/jmx_exporter

它是Prometheus官方组件,作为一个JAVA Agent来提供本地JVM的metrics,并通过http暴露出来。这也是官方推荐的一种方式,可以获取进程的信息,比如CPU和内存使用情况。

Jmx_exporter是以代理的形式收集目标应用的jmx指标,这样做的好处在于无需对目标应用做任何的改动。
运行JMX exporter的方式:

  1. java XXX -javaagent:/root/jmx_exporter/jmx_prometheus_javaagent-0.12..jar=:/root/jmx_exporter/config.yaml -jar XXX.jar

下载

目前最新版是0.12.0,下载链接为:

https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar

二、JMX Exporter配置

simple-config.yml

我的prometheus安装路径为:/data/prometheus

新建配置文件simple-config.yml

  1. mkdir /data/prometheus/jmx_exporter
  2. cd /data/prometheus/jmx_exporter
  3. wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
  4. vim simple-config.yml

内容如下:

  1. ---
  2. lowercaseOutputLabelNames: true
  3. lowercaseOutputName: true
  4. whitelistObjectNames: ["java.lang:type=OperatingSystem"]
  5. rules:
  6. - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
  7. name: os_$
  8. type: GAUGE
  9. attrNameSnakeCase: true

比如我有一个rms的java应用,启动方式为:

  1. java -jar /data/rms/RMS.jar

使用JMX Exporter插件收集数据,需要改成这样:

  1. java -javaagent:/data/prometheus/jmx_exporter/jmx_prometheus_javaagent-0.12..jar=:/data/prometheus/jmx_exporter/simple-config.yml -jar /data/rms/RMS.jar

注意:3010是代理端口,可以随意指定。

prometheus.yml

修改配置文件,增加一个job_name

  1. vim /data/prometheus/prometheus.yml

最后一行增加

  1. - job_name: 'java'
  2. scrape_interval: 30s
  3. static_configs:
  4. - targets: ['localhost:3010']

重启prometheus

  1. /etc/init.d/prometheus-server restart

三、Grafana配置

导入Dashboard

模板链接为:

https://grafana.com/grafana/dashboards/8563/revisions

点击下面的Download,进行下载。

登录Grafana,点击import

上传json

数据源选择 Prometheus

最后打开刚刚导入的Dashboard,如下图

本文参考链接:

https://chanjarster.github.io/post/prom-grafana-jvm/

使用Prometheus+Grafana监控JVM的更多相关文章

  1. cAdvisor+Prometheus+Grafana监控docker

    cAdvisor+Prometheus+Grafana监控docker 一.cAdvisor(需要监控的主机都要安装) 官方地址:https://github.com/google/cadvisor ...

  2. [转帖]Prometheus+Grafana监控Kubernetes

    原博客的位置: https://blog.csdn.net/shenhonglei1234/article/details/80503353 感谢原作者 这里记录一下自己试验过程中遇到的问题: . 自 ...

  3. prometheus+grafana监控redis

    prometheus+grafana监控redis redis安装配置 https://www.cnblogs.com/autohome7390/p/6433956.html redis_export ...

  4. prometheus+grafana监控mysql

    prometheus+grafana监控mysql 1.安装配置MySQL官方的 Yum Repository(有mysql只需设置监控账号即可) [root@localhost ~]# wget - ...

  5. [转帖]安装prometheus+grafana监控mysql redis kubernetes等

    安装prometheus+grafana监控mysql redis kubernetes等 https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行 ...

  6. 【Springboot】用Prometheus+Grafana监控Springboot应用

    1 简介 项目越做越发觉得,任何一个系统上线,运维监控都太重要了.关于Springboot微服务的监控,之前写过[Springboot]用Springboot Admin监控你的微服务应用,这个方案可 ...

  7. Prometheus + Grafana 监控系统搭

    本文主要介绍基于Prometheus + Grafana 监控Linux服务器. 一.Prometheus 概述(略) 与其他监控系统对比 1 Prometheus vs. Zabbix Zabbix ...

  8. 部署Prometheus+Grafana监控

    Prometheus 1.不是很友好,各种配置都手写 2.对docker和k8s监控有成熟解决方案 Prometheus(普罗米修斯) 是一个最初在SoudCloud上构建的监控系统,开源项目,拥有非 ...

  9. Prometheus+Grafana监控SpringBoot

    Prometheus+Grafana监控SpringBoot 一.Prometheus监控SpringBoot 1.1 pom.xml添加依赖 1.2 修改application.yml配置文件 1. ...

随机推荐

  1. php CI如何实现全站静态生成html,动态创建目录

    php CI如何实现全站静态生成html,动态创建目录CodeIgniter框架生成HTML的方法 public function out_html($code) { $data['articles' ...

  2. React Router 4.0 体验

    React Router 4.0 (以下简称 RR4) 已经正式发布,它遵循React的设计理念,即万物皆组件.所以 RR4 只是一堆 提供了导航功能的组件(还有若干对象和方法),具有声明式(声明式编 ...

  3. HeadFirst设计模式---观察者

    表达公式 注册者 + 订阅者 = 观察者模式 设计气象站 气象站接口 /** ** 布告板 ** @author lollipop ** @since 2019/11/24 **/ public in ...

  4. visudo: /etc/sudoers is busy, try again later

    启动visudo时,报错"visudo: /etc/sudoers is busy, try again later" 解决思路:杀掉visudo进程 ps -ef|grep vi ...

  5. Ubuntu下搭建Kubernetes集群(4)--部署K8S Dashboard

    K8S Dashboard是官方的一个基于WEB的用户界面,专门用来管理K8S集群,并可展示集群的状态.K8S集群安装好后默认没有包含Dashboard,我们需要额外创建它. 首先我们执行命令: wg ...

  6. <console>:14: error: not found: value spark import spark.implicits.

    启动 ./spark-shell 出现问题 启动 hadoop, 并创建,解决 hadoop fs -mkdir /directory 解决了

  7. 第一章 了解Web及网络基础

    第一章 了解Web及网络基础 Web建立基础.HTTP如何诞生发展 1.使用HTTP协议访问Web 在浏览器地址栏中输入URL之后过程: 1)DNS 解析:浏览器查询 DNS,获取域名对应的 IP 地 ...

  8. Media Formatters(媒体格式化器)

    6.1.1 Internet的媒体类型 媒体类型,也叫做MIME类型,标识了数据的格式.在HTTP中,媒体类型描述了消息体的格式.一个媒体类型由两个字符串组成:类型和子类型.例如: text/html ...

  9. 【转】Java 内部类总结

    Java内部类 一. 含义 在Java编程语言里,程序是由类(class)构建而成的.在一个类的内部也可以声明类,我们把这样的类叫做内部类. 二. 作用 实现了更好的封装,我们知道,普通类(非内部类) ...

  10. MySQL实战45讲学习笔记:第二十九讲

    一.引子 我在第25和27篇文章中,和你介绍了主备切换流程.通过这些内容的讲解,你应该已经很清楚了:在一主一备的双 M 架构里,主备切换只需要把客户端流量切到备库:而在一主多从架构里,主备切换除了要把 ...