首页 > 编程语言 >JVM系列---【使用jmx_agent监控java程序】

JVM系列---【使用jmx_agent监控java程序】

时间:2023-05-07 13:46:05浏览次数:50  
标签:jmx java name pattern agent --- GAUGE type

使用jmx_agent监控java程序

1.下载jmx_prometheus_javaagent.jar

https://github.com/prometheus/jmx_exporter/releases下载最新版本的jmx_prometheus_javaagent.jar

2.创建一个名为jmx_exporter_config.yml的文件

用于配置jmx_prometheus_javaagent.jar的监控参数。该文件应该包含要暴露的MBean的名称,以及它们要被暴露的端口号。

---
lowercaseOutputName: true
rules:
- pattern: 'java.lang<type=MemoryPool,name=([^,]+)><>(Usage|PeakUsage)\.(used|committed|max)'
  name: jvm_memory_pool_$1_$2_$3_bytes
  type: GAUGE
- pattern: 'java.lang<type=MemoryPool,name=([^,]+)><>CollectionUsage\.(used|committed)'
  name: jvm_memory_pool_$1_collection_usage_$2_bytes
  type: GAUGE
- pattern: 'java.lang<type=GarbageCollector,name=([^,]+)><>CollectionTime'
  name: jvm_gc_collection_seconds_total
  help: Time spent in a given JVM garbage collector in seconds.
  labels:
    collector: '$1'
  type: COUNTER
- pattern: 'java.lang<type=GarbageCollector,name=([^,]+)><>CollectionCount'
  name: jvm_gc_collection_count_total
  help: Number of collections that have occurred for a given JVM garbage collector.
  labels:
    collector: '$1'
  type: COUNTER
- pattern: 'java.lang<type=Memory><>HeapMemoryUsage\.(used|committed|max)'
  name: jvm_memory_heap_$1_bytes
  type: GAUGE
- pattern: 'java.lang<type=Memory><>NonHeapMemoryUsage\.(used|committed|max)'
  name: jvm_memory_non_heap_$1_bytes
  type: GAUGE
- pattern: 'java.lang<type=Threading><>ThreadCount'
  name: jvm_threads_live
  type: GAUGE
- pattern: 'java.lang<type=Threading><>DaemonThreadCount'
  name: jvm_threads_daemon
  type: GAUGE
- pattern: 'java.lang<type=OperatingSystem><>(\w+)'
  name: jvm_$1
  type: GAUGE
- pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>(\w+)'
  name: cassandra_$1_$2_$3
  type: GAUGE
- pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>(Count|MeanRate|OneMinuteRate|FiveMinuteRate|FifteenMinuteRate)'
  name: cassandra_$1_$2_$3
  type: COUNTER
  unit: events/second
- pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>(Min|Max|Mean|95thPercentile)'
  name: cassandra_$1_$2_$3
  type: GAUGE
  unit: milliseconds
- pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>.*'
  name: cassandra_$1_$2
  type: GAUGE
- pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'
  name: os_$1_bytes
  type: GAUGE
  attrNameSnakeCase: true
- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'
  name: os_$1
  type: GAUGE
  attrNameSnakeCase: true

3.使用agent方式启动java应用程序的同时启动jmx

java -javaagent:/path/to/jmx_prometheus_javaagent.jar=8080:/path/to/jmx_exporter_config.yml -jar myapp.jar

4.配置Prometheus.yml,并重启prometheus

scrape_configs:
  - job_name: 'myapp'
    static_configs:
      - targets: ['localhost:8080']

5.访问prometheus查看是否添加成功

标签:jmx,java,name,pattern,agent,---,GAUGE,type
From: https://www.cnblogs.com/hujunwei/p/17379203.html

相关文章

  • 微信公众号对接ChatGPT-实现基于自己知识库的机器人功能-并且可以人工接入进行回复的
    现在很多教程有介绍如何把chatGPT对接到自己的公众号上,利用公众号的自动回复接口功能,实现用户在公众号与chatGPT进行交互。而我实现的功能比上面的要高级很多 首先,用户在公众号端发送咨询消息,可以得到自动回复,并且这个回复是基于我自己的知识库回答的  然后,客服在后台可......
  • 【WPF】-MVVM-封装窗口管理器解耦在ViewModel中弹出窗口
    一.在ViewModel层直接调用View弹出窗体如下图所示,这样做就发生了在ViewModel层直接使用了View,两者产生了耦合,ViewModel里是不应该包含View的,这不是我们期望的。 二.封装窗口管理器解耦在ViewModel中调用View2.1.封装窗口管理器延迟了对象的创建,先把类型(对象的模板)注册进来,......
  • spring-boot-2.0.3应用篇 - shiro集成
    spring-boot-2.0.3应用篇-shiro集成  前言      上一篇:spring-boot-2.0.3源码篇-国际化,讲了如何实现国际化,实际上我工作用的模版引擎是freemaker,而不是thymeleaf,不过原理都是相通的。      接着上一篇,这一篇我来讲讲spring-boot如何整合工作中用到的......
  • vue2使用图片懒加载之vue-lazyload
    1.为什么要进行图片懒加载呢?使用图片懒加载的主要原因是为了优化网站或应用程序的性能和用户体验。当页面中存在大量图片时,如果一次性全部加载会影响页面的加载速度,用户可能需要等待很长时间才能看到完整的页面内容,这会影响用户的体验和满意度。2.如何实现图片懒加载使用http......
  • JFrog Artifactory 系列2 --- Https
    一、概念1.承上启下JFrogArtifactory系列1---安装与配置2.配置方式如果希望通过Https访问JFrogArtifactory,有三种配置方式:(1) 代理HTTPS方式:在代理软件(负载均衡软件)处配置TLS,代理软件与JFrogArtifactory的通信采用Http方式;(2) 全HTTPS方式:在代理软件(负载均衡软......
  • 论文解读(ID-MixGCL)《ID-MixGCL: Identity Mixup for Graph Contrastive Learning》
    论文信息论文标题:ID-MixGCL:IdentityMixupforGraphContrastiveLearning论文作者:GehangZhang.....论文来源:2023aRxiv论文地址:download 论文代码:download视屏讲解:click介绍    ......
  • pip3 & python3 -m pip All In One
    pip3&python3-mpipAllInOne$sudopip3installpackage_name#等价于$sudopython3-mpipinstallpackage_name#-mmodule-name$sudopipinstallmath-package-xgqfrms$sudopip3installmath-package-xgqfrms#等价于$sudopython3-mpipinsta......
  • Book-Linux 系统编程-41章 共享库基础
    Book-Linux系统编程-41章共享库基础共享库是一种将库函数打包成一个单元使之能够在运行时被多个进程共享的技术。这种技术能够节省磁盘空间和RAM。41.1目标库构建程序的一种方式是简单地将每一个源文件编译成目标文件,然后将这些目标文件链接在一起组成一个可执行程序,如下所......
  • MyBatis-02CRUD操作及配置解析01
    上集回顾:第一个程序namespace将上面案例中的UserMapper接口改名为UserDao;将UserMapper.xml中的namespace改为为UserDao的路径.再次测试结论:配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!1CRUD操作及配置解析1.1selectselect标......
  • Shapes布局-文字环绕动画
    @目录说明实现以及语法动画渐变裁切图形变换的动画效果说明Shapes也有形状、图形的意思,我们可以在页面中创建图形,并让内容环绕在定义的图形边上。Shapes的官方文档:https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Shapes/From_box_values我们经常在一些宣传手册上看到......