前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Prometheus+Grafana监控JVM

使用Prometheus+Grafana监控JVM

作者头像
py3study
发布2020-03-19 18:46:51
4.4K0
发布2020-03-19 18:46:51
举报
文章被收录于专栏:python3

一、概述

JMX Exporter

https://github.com/prometheus/jmx_exporter

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

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

代码语言:javascript
复制
java XXX -javaagent:/root/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=3010:/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

代码语言:javascript
复制
mkdir /data/prometheus/jmx_exporter
cd /data/prometheus/jmx_exporter
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
vim simple-config.yml

内容如下:

代码语言:javascript
复制
---
lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
rules:
 - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
   name: os_$1
   type: GAUGE
   attrNameSnakeCase: true

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

代码语言:javascript
复制
java -jar /data/rms/RMS.jar

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

代码语言:javascript
复制
java -javaagent:/data/prometheus/jmx_exporter/jmx_prometheus_javaagent-0.12.0.jar=3010:/data/prometheus/jmx_exporter/simple-config.yml -jar /data/rms/RMS.jar

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

prometheus.yml

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

代码语言:javascript
复制
vim /data/prometheus/prometheus.yml

最后一行增加

代码语言:javascript
复制
  - job_name: 'java'
    scrape_interval: 30s
    static_configs:
    - targets: ['localhost:3010']

重启prometheus

代码语言:javascript
复制
/etc/init.d/prometheus-server restart

三、Grafana配置

导入Dashboard

模板链接为:

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

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

1.png
1.png

登录Grafana,点击import

1.png
1.png

上传json

1.png
1.png

数据源选择 Prometheus

1.png
1.png

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

1.png
1.png

本文参考链接:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
    • JMX Exporter
      • 下载
      • 二、JMX Exporter配置
        • simple-config.yml
          • prometheus.yml
          • 三、Grafana配置
            • 导入Dashboard
            相关产品与服务
            Grafana 服务
            Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档