Jvm jmx_exporter Prometheus dubbo Grafana 重点看端口要对应上 单独进程和程序进程内jmx_exporter

news2024/11/17 5:25:23

目录

JMX Exporter 的两种用法

启动独立进程 jmx_prometheus_httpserver-0.18.0.jar 方式

下载 jmx_exporter

找地方随便一放

创建配置文件 config_jmx_exporter.yaml

增加 启动 jvm 配置 一定要是jvm参数 可别意外写成程序参数

启动jmx_exporter

Prometheus yml 配置

启动就出来了metrics

随便配个指标看下效果

Grafana 使用模板是 8563

进程内启动 jmx_prometheus_javaagent-0.18.0.jar 方式 -推荐方式

先把jar下载下来

创建个配置文件 config_jmx_exporter.yaml

Prometheus.yml 配置一下心的job

启动自己的项目命令

linux 带上如下内容即可

Grafana 导入 8563   模板 or  8878 模板也可以 配完就出来了


JMX Exporter 的两种用法

 JMX-Exporter 提供了两种用法:

  1. 启动独立进程。JVM 启动时指定参数,暴露 JMX 的 RMI 接口,JMX-Exporter 调用 RMI 获取 JVM 运行时状态数据,转换为 Prometheus metrics 格式,并暴露端口让 Prometheus 采集。
  2. JVM 进程内启动(in-process)。JVM 启动时指定参数,通过 javaagent 的形式运行 JMX-Exporter 的 jar 包,进程内读取 JVM 运行时状态数据,转换为 Prometheus metrics 格式,并暴露端口让 Prometheus 采集。

 官方不推荐使用第一种方式,一方面配置复杂,另一方面因为它需要一个单独的进程,而这个进程本身的监控又成了新的问题,所以本文重点围绕第二种用法讲如何使用 JMX Exporter 暴露 JVM 监控指标给Prometheus并展示在Grafana上。

启动独立进程 jmx_prometheus_httpserver-0.18.0.jar 方式

下载 jmx_exporter

Releases · prometheus/jmx_exporter · GitHub

找地方随便一放

创建配置文件 config_jmx_exporter.yaml

hostPort: localhost:8084

rules:

- pattern: ".*"

增加 启动 jvm 配置 一定要是jvm参数 可别意外写成程序参数


-Dcom.sun.management.jmxremote.port=8084

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

启动jmx_exporter

>java -jar jmx_prometheus_httpserver-0.18.0.jar 12345 config_jmx_exporter.yaml

Prometheus yml 配置

  - job_name: "jmx-exporter"

    static_configs:

      - targets: ["localhost:12345"]

启动就出来了metrics

随便配个指标看下效果

Grafana 使用模板是 8563

  JVM dashboard | Grafana Labs

进程内启动 jmx_prometheus_javaagent-0.18.0.jar 方式 -推荐方式

先把jar下载下来

 地址一样 点击下载即可

https://github.com/prometheus/jmx_exporter/releases  

创建个配置文件 config_jmx_exporter.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_bytes

    type: GAUGE

    attrNameSnakeCase: true

  - pattern: 'java.lang<type=OperatingSystem><>((?!process_cpu_time)\w+):'

    name: os_$1

    type: GAUGE

    attrNameSnakeCase: true

Prometheus.yml 配置一下心的job


  - job_name: "jmx-exporter"

    static_configs:

      - targets: ["localhost:12345"]

启动自己的项目命令

#-javaagent:D:\kf\prometheus\jmx_prometheus_javaagent-0.18.0.jar=12345:d:\kf\prometheus\config_jmx_exporter.yaml 

java -javaagent:D:\kf\prometheus\jmx_prometheus_javaagent-0.18.0.jar=12345:d:\kf\prometheus\config_jmx_exporter.yaml -jar .\demo-provider-0.0.1-SNAPSHOT.jar

linux 带上如下内容即可

nuhup … &

我是为方便放到prometheus 下边了大家根据需要随便放没限制

Jmx_exporter 开启需要的端口 如12345=12345

Grafana 导入 8563   模板 or  8878 模板也可以 配完就出来了

很方便内存线程啥的都可以快速看 切换节点就可以看其他机器的了

ok

持续更新

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

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

相关文章

使用jmap查看对象数

jmap&#xff1a;JVM自带的一种内存映像工具 查看jmap命令帮助 查询java进程pid # 查看堆内存中的对象 jmap -histo PID# 查看堆内存中的存活对象 jmap -histo:live PID 使用示例&#xff1a; jmap -histo:live 46024|grep com.kingbase8.jdbc.KbConnection 列说明 num#insta…

1.4、Java的标识符 关键字 注释 变量 数据类型与类型转换

1 JAVA语法基础 1.1 标识符 标识符可以简单的理解成一个名字。 在Java中&#xff0c;我们需要给代码中的很多元素起名&#xff0c;包括类名、方法名、字段名、变量名等等。我们给对应元素起的名称就被称为标识符&#xff0c;一个正确的标识符需要遵循以下规则&#xff1a; 1、…

简单实现接口自动化测试(基于python+unittest)

目录 简单实现接口自动化测试(基于pythonunittest) 简介 引言 为什么要做接口自动化测试? 为什么要自己写框架呢? 一个现有的简单接口例子 接口信息如下 测试思路 原始脚本实现 未优化 优化 第一版 优化 第二版 优化 第三版 最终输出日志信息 后续改进建议 总…

ubuntu20.04系统4060安装cuda11.8和cudnn8.6

ubuntu20.04系统4060安装cuda11.8和cudnn8.6 一&#xff1a;安装nvidia-driver-525 1&#xff1a;查看本机显卡能够配置的驱动信息 在终端输入&#xff1a; ubuntu-drivers devices2&#xff1a;推荐安装的版本号是&#xff1a; 安装代码&#xff1a; sudo apt install n…

JPA-querydsl增强工具,query-dsl-plus,现在已开源并推送到mvnrepository

前言 由于喜欢使用JPA&#xff0c;所以后续就接触了query-dsl&#xff0c;但是呢&#xff0c;随着需求的变更&#xff0c;数据查询条件也会越来越复杂&#xff08;这个和jpa没关系&#xff0c;就算使用mybatis也一样&#xff09;&#xff0c;往往前端改动了&#xff0c;后端还…

【亲测】python 安装 pillow报错 如何处理

今天在新系统上安装pillow库&#xff0c;提示错误&#xff1a; WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by SSLError(SSLEOFError(8, EOF occurred in violation of protocol (_ssl.c:997))): /simple/…

LangChain_ChatGLM部署

环境准备 项目地址&#xff1a;https://github.com/imClumsyPanda/langchain-ChatGLM 下载chatglm-6b模型到本地&#xff0c;大约13G&#xff1a; https://huggingface.co/THUDM/chatglm-6b 里面的文件需要一个个手动点击下载&#xff0c;点击下载时&#xff0c;可能需要多次点…

HBase(8):扫描操作

1 需求 查看ORDER_INFO表中所有的数据 1.2 scan命令 在HBase&#xff0c;我们可以使用scan命令来扫描HBase中的表。语法&#xff1a; scan 表名 1.3 扫描ORDER_INFO表 scan ORDER_INFO,{FORMATTER > toString} 注意&#xff1a;要避免scan一张大表&#xff01; 2 需求二…

[Arduino] ESP32开发 - LCD1602显示实验

目录 LCD1602硬件准备环境搭设接线获取 IIC 地址显示第一行文本可滚动字符串点灯小案例 LCD1602 实验将利用 LCD1602 显示文本 参考文献&#xff1a;https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/ 硬件准备 4 条母对母杜邦线 LCD1602 Esp32-Devkit-V1 …

JProfiler 使用中文说明文档

JProfiler 是一款用于 Java 应用程序性能分析和优化的工具。它可以帮助开发人员识别性能瓶颈、内存泄漏等问题&#xff0c;并提供可视化的分析报告和建议。JProfiler 支持各种 Java 虚拟机、应用服务器和操作系统&#xff0c;可以在本地或远程环境中运行。下载安装完成后对应的…

目标检测模型中的Bells and wisthles

目标检测模型中的Bells and wisthles 目标检测模型中的Bells and wisthles1. Data augmentation 数据增强2. Multi-scale Training/Testing 多尺度训练/测试3. Global Context 全局语境4. Box Refinement/Voting 预测框微调/投票法5. OHEM 在线难例挖掘6. Soft NMS 软化非极大抑…

云原生——云平台操作

❄️作者介绍&#xff1a;奇妙的大歪❄️ &#x1f380;个人名言&#xff1a;但行前路&#xff0c;不负韶华&#xff01;&#x1f380; &#x1f43d;个人简介&#xff1a;云计算网络运维专业人员&#x1f43d; 前言 云&#xff1a;云是网络、互联网的一种比喻说法。 平台&am…

【爬虫】5.2 Selenium编写爬虫程序

1. Selenium 框架介绍 Selenium自动化测试框架是实现自动化测试的一个软件结构和功能组件集合。Selenium自动化测试框架是一个半成品&#xff0c;能够帮助用户实现自动化测试。Selenium是模仿浏览器行为的&#xff0c;当你运行测试类&#xff08;爬虫&#xff09;的时候&…

【AIGC】Chatglm2-lora微调

ChatGLM2介绍 ChatGLM2-6B源码地址&#xff1a;https://github.com/THUDM/ChatGLM2-6B ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本&#xff0c;在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上&#xff0c;ChatGLM2-6B 引入了如下新特性&…

【Java】Java中的异常

文章目录 一、什么是异常1.1 异常的概念1.2 异常的分类 二、异常的体系结构三、异常的处理3.1 异常的抛出3.2 异常的捕获与处理3.3 异常的处理流程 四、自定义异常类4.1 自定义异常类的规则4.2 自定义异常案例 一、什么是异常 1.1 异常的概念 在Java中&#xff0c;异常&#…

《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

C++ DAY3

1.思维导图 2.有以下类定义&#xff0c;按要求实现剩余功能 #include <iostream> using namespace std;class Person { private:int age;int *p; public://无参构造Person():p(new int(89)){age 18;}//有参构造Person(int age,int num){this->age age;this->pne…

基于Java实验室开放管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Servlet实现留言墙

目录 1.创建工程 2.构建目录工程结构 3.设置编码格式尾utf-8 4.查看Maven配置 5.一些其他配置​编辑 6.导入依赖 7.导入HTML和JS、配置tomcat 8.测试网站是否可以正常访问 9.编写业务代码 开发环境&#xff1a;idea2022.2社区版 1.创建工程 2.构建目录工程结构 web.xml中的…

《程序员的AI书_从代码开始》第一章 机器学习的Hello World

文章目录 1.3 从代码开始1.3.2 一段简单的代码 1.3 从代码开始 1.3.2 一段简单的代码 python导入tensflow.keras报错解决方法 import tensorflow as tf from tensorflow.python.keras.models import Sequential from tensorflow.python.keras.layers import DensemodelSeque…