RocketMQ如何添加JVM监控

这里是小奏,觉得文章不错可以关注公众号小奏技术

JVM监控选型

本次JVM监控我们采用prometheus官方提供的jmx_exporter来实现

RocketMQJVM开发

整体目录

1. 新增agent目录

我们在distribution目录新增一个agent模块,然后添加两个文件

  1. jmx_prometheus_javaagent-1.0.1.jar
  2. 新增config.yaml文件

config.yaml文件内容如下:

lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:- pattern: 'java.lang<type=OperatingSystem><>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'name: os_$1_bytestype: GAUGEattrNameSnakeCase: true- pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'name: os_$1type: GAUGEattrNameSnakeCase: true

2. 修改release.xml打包脚本

release.xml中新增agent模块的打包配置

            <includes><include>conf/**</include><include>benchmark/*</include><include>agent/*</include></includes>

3. 修改启动脚本mqbroker

export ROCKETMQ_HOME下面新增如下代码

JMX_PROMETHEUS_AGENT="-javaagent:$ROCKETMQ_HOME/agent/jmx_prometheus_javaagent-1.0.1.jar=9100:$ROCKETMQ_HOME/agent/config.yaml"

sh ${ROCKETMQ_HOME}/bin/runbroker.sh后面新增如下代码

${JMX_PROMETHEUS_AGENT}

自此我们的JVM监控agent就开发完成了。

4.部署

  1. 重新编译RocketMQ源码
mvn -Prelease-all -DskipTests -Dspotbugs.skip=true clean install
  1. 执行启动脚本
  2. 通过ps -ef|grep java查看agent是否在启动脚本中
  3. 访问http://localhost:9100/metrics 查看监控数据。服务器记得开通9100端口

5. 效果

效果和之前说的类似

总结

总的来说java应用都支持使用prometheus官方提供的jmx_exporter这个agent来实现JVM的监控。我们只需要修改一下脚本把agent挂载上去即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NtripShare2024年第二季度主要技术进展

NtripShare Cloud GNSS解算云平台方面 1、解算引擎增加根据卫星多路径效应自动剔除卫星的算法。 2、解算引擎增加解算时间段限制&#xff08;发现贵州某地在晚12点周期性效果变差&#xff09;。 3、增加2000坐标至地方坐标系转换的支持(七参数、四参数、TGO高程拟合&#x…

高性能STL库 EASTL 、高性能JSON库

GitHub - electronicarts/EASTL: EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance. 兄弟们&#xff0c;对STL要求性能高的可以试试这个EASTL库&#xff01;&#xff01…

原神数据库实训存储过程

原神数据库存储过程 user表存储过程 drop procedure if exists insert_user; DELIMITER $$ CREATE PROCEDURE insert_user(in userName VARCHAR(255), IN weapon_type INT,IN dendro VARCHAR(255), in rarity int,in user_level int ) BEGIN if user_level>90 OR user_lev…

[数据集][目标检测]棉花检测数据集VOC+YOLO格式389张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;389 标注数量(xml文件个数)&#xff1a;389 标注数量(txt文件个数)&#xff1a;389 标注类别…

Python Selenium 定位有空格的元素

参考&#xff1a; seleniumpython 自动化——class定位&#xff1a;class属性有空格 https://blog.csdn.net/yxxxiao/article/details/96282145seleniumpython 定位带空格的class属性 https://blog.csdn.net/sinat_34209942/article/details/81127486css定位 1.css来定位class属…

办理北京公司注册地址异常变更要求和流程

在北京注册公司时选择注册地址是非常重要的一环&#xff0c;注册地址不仅体现在营业执照上&#xff0c;在网上也有公示信息&#xff0c;一般选用的是商用地址和商住两用地址&#xff0c;在公司经营过程中&#xff0c;因为经营需要变更注册地址&#xff0c;也要依法变更&#xf…

差分GPS原理

双差RTK&#xff08;Real-Time Kinematic&#xff09;算法是基于差分全球卫星导航系统&#xff08;GNSS&#xff09;技术的一种高精度定位方法。它利用至少两个接收机&#xff08;一个为基站&#xff0c;其他为移动站&#xff09;接收自同一组卫星的信号来实现精确测量。双差处…

低价可转债崩盘,发生了什么?

下跌不在于“出库”&#xff0c;甚至不在于“风险”。问题更多在于交易层面&#xff0c;何时能积聚更多的左侧资金并成功过渡至右侧。 低价券怎么了&#xff1f; 如果说6月初主要是小微盘品种的退市风险&#xff0c;后来是一些评级下调的品种&#xff0c;到本周&#xff0c;已…

ONLYOFFICE 桌面编辑器 8.1重磅来袭:全新功能提升您的办公效率

文章目录 前言ONLYOFFICE 桌面编辑器8.1一、PDF编辑&#xff1a;告别“头痛”时刻二、幻灯片版式&#xff1a;秒变“设计大师”三、无缝切换&#xff1a;办公界的“快速通道”四、语言支持&#xff1a;全球通吃的“翻译官”五、 隐藏“连接到云”板块&#xff1a;摆脱“云”的束…

26届软件工程生大二末的学期总结

一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 要不断的、反复的&#xff0c;爱上这个普通的自己。 本文简介&#xff1a;本人是大二软件工程专业&#xff0c;大二即将结束步入大三&#xff0c;这篇文章作为我的个人小笔记&#xff0c;只想在这里记录当下的心情与学习…

养老金干货大集锦

城乡居民养老保险待遇的领取条件是什么&#xff1f; 参加城乡居民养老保险的人员&#xff0c;同时满足三个条件可以按月领取城乡居民养老保险待遇&#xff1a; 一是年满60周岁&#xff1b; 二是未领取其他基本养老保险待遇&#xff1b; 三是缴费满15年&#xff0c;但在本市…

MySQL之可扩展性(一)

可扩展性 概述 有些应用仅仅适用于一台或少数几台服务器&#xff0c;那么哪些可扩展性建议是和这些应用相关的呢&#xff1f;大多数人从不会维护超大规模的系统&#xff0c;并且通常也无法效仿在主流大公司所使用的策略。选择一个合适的策略能够大大地节约时间和金钱。 MySQL…

图片转pdf,图片转pdf在线转换,在线图片转pdf

图片转PDF&#xff0c;听起来似乎是一个简单的操作&#xff0c;但实际上&#xff0c;它涉及到许多细节和技巧。有时候我们需要将图片转换为PDF格式&#xff0c;以便于分享、打印或保存。那么&#xff0c;如何将图片转换成PDF呢&#xff1f;接下来&#xff0c;我将为您详细介绍几…

【产品经理】订单处理9-台账库存管理

在订单处理过程中&#xff0c;台账库存的具体设计怎么做&#xff1f; 在订单处理过程中&#xff0c;分配仓库成功后要扣除仓库库存并计算商品缺货情况&#xff0c;仓库库存就是台账库存。 1&#xff0c;台账库存是针对某个仓库的库存&#xff0c;且台账库存只计算此商品SKU的库…

如何通过JDBC获取数据库连接 , 实现对单表数据增、删、改 ,实现对单表数据查询以及根据别名查询处理结果集扩展

1、获取连接 能够通过JDBC获取数据库连接 讲解 API介绍 java.sql.DriverManager类中有如下方法获取数据库连接 static Connection getConnection(String url, String user, String password) 连接到给定数据库 URL &#xff0c;并返回连接。 参数说明 String url&#x…

赶紧收藏!2024 年最常见的操作系统面试题(二)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见的操作系统面试题&#xff08;一&#xff09;-CSDN博客 三、请解释操作系统中的分页和分段机制。 操作系统中的分页和分段是两种不同的内存管理机制&#xff0c;它们用于将程序的地址空间映射到物理内存。下面将详细…

使用深度相机D435i+YOLOv8实现物体三维坐标实时显示

一、获取相机内参 下列指令为获取相机内参指令&#xff0c;输入此指令前需要获得相机的深度帧和彩色帧数据。 如何使用vsCode打开intel D435i深度相机 # 获取相机内参 depth_intrinsics depth_frame.profile.as_video_stream_profile().intrinsics color_intrinsics color…

常用框架-Dubbo

常用框架-Dubbo 1、Dubbo是什么?2、说说一次Dubbo服务请求流程?3、说说Dubbo 工作原理?4、Dubbo支持哪些通信协议?5、注册中心挂了,consumer还能不能调用provider?6、Dubbo怎么实现动态感知服务下线的呢?7、说说Dubbo负载均衡策略?8、说说Dubbo容错策略?9、说说Dubbo动…

Tomcat多实例配置

目录 一. 复制程序文件 二. 启动tomcat多实例 三. Tomcat多实例负载均衡 多实例&#xff08;多进程&#xff09;&#xff1a;同一个程序启动多次&#xff0c;分为两种情况: 第一种&#xff1a;一台机器跑多个站点&#xff1b; 第二种&#xff1a;一个机器跑一个站点多个实…

代码随想录训练营第十六天 513找树左下角的值 112路径总和I 113路径总和II 106从中序和后序遍历序列构造二叉树

第一题&#xff1a; 原题链接&#xff1a;513. 找树左下角的值 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;用回溯的思想&#xff1a; 这题就是求最大深度&#xff0c;当遍历到第一个最大深度的时候&#xff0c;记录下的节点值就是最左边的元素。 参数和返回…