prometheus jmx-exporter 暴漏HTTP服务端口无法获取监控数据

Prometheus 监控部署教程 prometheus 介绍和简单部署 阅读详情

1. 问题描述

  通过 -javaagent 方式挂载的 jmx_prometheus_javaagent-0.15.0.jar 代理包对接prometheus监控,通过暴露的HTTP服务端口无法获取监控数据。

OpenJDK:1.8.0_242-b08
jmx_prometheus_javaagent:0.15.0

2. 问题分析

  1. netstat 查看服务端口状态,发现存在大量的 CLOSE_WAIT状态的连接;
    在这里插入图片描述
  2. 通过 top 命令发现应用进程比正常情况下占用高;
  3. 通过 top -o +%CPU -Hp {PID} 查看进程线程信息,发现 prometheus-http 线程 CPU占用 99%;
  4. printf ‘%x\n’ {PID} 将十进制线程ID转换为十六进制,注意此PID为第3步占用CPU高的线程ID;
  5. jstack -l {PID} > jstack.txt,注意此 PID 为Java进程ID;
  6. 打开 jstack.txt,搜索第4步中得到的十六进制的线程ID;
    在这里插入图片描述
    此线程名称为 prometheus-http-1-4 的守护线程(daemon),状态为 RUNNABLE,正在执行 sun.management.OperatingSystemImpl.getSystemCpuLoad(Native Method) 获取系统CPU负载信息,
  7. 查看JDK源码,发现当 fgetc(f) != ‘\n’ 时就会进入死循环状态,我们知道死循环会导致CPU过高,这可能就是无法获取监控数据的元凶
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  8. 在JDK bug库中碰碰运气,看有没有类似bug,看看是否在哪个JDK 版本已经修复
    https://github.com/openjdk/jdk/pull/4378
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    https://bugs.openjdk.org/browse/JDK-8268361
    在这里插入图片描述
    https://bugs.java.com/bugdatabase/view_bug?bug_id=8268361
    在这里插入图片描述

3. 解决方法

临时解决方法:重启应用
永久解决方法:升级JDK版本到 11.0.8 或更高版本

4. 其它

在排查问题的过程中发现 sentinel-system 组件存在同样的问题。
https://github.com/alibaba/Sentinel/issues/2885
https://github.com/alibaba/Sentinel/issues/1206

解决方法1:把获取CPU负载信息的插槽去掉
解决方法2:升级JDK版本到11.0.8或更高版本

Prometheus 中的 Exporter Exporter 是一段软件,它从应用程序或系统中收集度量数据,并将这些数据暴露为 Prometheus 可以抓取的格式。Prometheus 使用 拉取模型(Pull model)来收集数据,这意味着 Prometheus 会定期查询 Exporter 的 HTTP 端点来获取度量数据。Exporter 的主要任务是将特定应用程序或系统的度量数据转换为 Prometheus 可理解的格式,通常是时间序列数据,以键值对的形式存储。这些数据将被 Prometheus 收集、存储,并供后续查询和分析使用。 阅读详情

相关推荐

【云原生】prometheus结合jmx exporter 的http server模式采集tomcat监控实战

【云原生】prometheus结合jmx exporter 的http server模式采集tomcat监控实战

低调,谦虚,自律,反思,成长,保持热爱,奔赴梦想 5680

PROMETHEUS安全漏洞分析

Prometheus是一套开源的监控、告警、时间序列数据库的组合工具。与Kubernetes由Google内部Borg系统演变而来相似,Prometheus由Google内部的Borgmon[6]监控系统演变而来,最初在2012年由前Google工程师Matt T. Proud于SoundCloud[5]进行研发使用并在短时间内迅速受到业界广泛认可,后于2015年初在GitHub上开源,目前已有42.2K的Star数和7.1的Fork数。

yua7190的博客 1万+

【Prometheus】如何通过prometheus监控springboot程序运行状态,并实时告警通知

jmx_exporter 主要用于从 Java 应用程序中提取 JMX 指标,通常包括 JVM级别的信息,如内存使用情况、线程状态、垃圾回收次数等。 对于传统的SpringBoot应用,由于它默认没有内置 Prometheus 监控的指标,因此使用 jmx_exporter来抓取基础的JVM相关指标。

景天科技苑 7万+

prometheus涉及pprof go信息泄露漏洞整改

本文记录一下对系统渗透测试后反馈Prometheus涉及pprof go信息泄露,验证方法为http://ip:port/debug/pprof

abin的博客 8653

使用jmx_exporter监控Kafka

JMX-Exporter 是 Prometheus 社区提供的一个工具,用来把 JMX 暴露的监控指标数据转换为 Prometheus 可识别的格式。JMX-Exporter 通过 HTTP 服务的方式暴露监控指标数据,Prometheus 通过 HTTP 协议来拉取监控指标数据。启动独立进程。

跟着大数据和AI去旅行 1822

java jmx agent不安全的配置漏洞如何改进(由浅入深代码范例和详细说明).docx

java jmx agent不安全的配置漏洞如何改进(由浅入深代码范例和详细说明).docx

jmx_prometheus_httpserver 监控 Kafka 应用

通过在 Kafka 应用中埋点来暴露应用的数据,使用 Prometheus 监控抓取数据,并借助 Grafana 大盘来展示数据,即可实现通过 Prometheus 监控 Kafka 应用的目的。 步骤一:启动 JMX 服务 首先需要在 Kafka 应用中启用 JMX 服务以获取资源信息。 修改/opt/kafka/kafka_2.11-0.8.2.1/bin/kafka-serv...

gao454917848的专栏 3153

jmx_exporter:一个通过HTTP公开JMX Bean以供Prometheus使用的过程

JMX导出器 JMX到Prometheus导出器:一个收集器,该收集器可以可配置地抓取和公开JMX目标的mBean。 该导出程序旨在作为Java代理运行,公开HTTP服务器并提供本地JVM的度量。 它也可以作为独立的HTTP服务器运行,并刮擦远程JMX目标,但这有许多缺点,例如难以配置和无法公开过程指标(例如,内存和CPU使用率)。 因此,强烈建议将导出程序作为Java代理运行。 跑步 要作为javaagent运行,请并运行: java -javaagent:./jmx_prometheus_javaagent-0.15.0.jar=8080:config.yaml -jar yourJar.jar 现在可以在访问 要将Java代理绑定到特定IP,请将端口号更改为host:port 。 请参阅./run_sample_httpserver.sh ,以获取针对自身运行httpserver的示例脚本。 请注意,由于JMX的特性, /metrics端点可能会超过Prometheus默认的10秒钟抓取超时。 建造 mvn package来构建。 组态 该配置在YAML中。 具有所有可能

推荐开源项目:Prometheus JMX Exporter

是一个优秀的监控工具,它允许你将Java管理扩展(JMX)数据暴露给Prometheus,以便进行系统性能和健康状况的深度监控。如果你正在寻找一种方法来更好地了解和管理你的Java应用程序,那么这个项目绝对值得一看。 ## 项目简介 Prometheus JMX Exporter是一个Java代理,它可以与任何支持JMX的应用程序一起运行。它会定期获取JMX指标,并将它们转换为Promethe

gitblog_00049的博客 1020

prometheus_snyk_exporter:从snyk.io收集安全漏洞指标以用于Prometheus监视

prometheus_snyk_exporter 通过可观察性确保安全! 该项目将监视项目与安全服务集成在一起。 ,收集有关组织漏洞的汇总信息,并将其公开为普罗米修斯指标。 动机 Snyk服务提供的仪表板已经提供了项目安全漏洞的当前状态的视图。 Snyk还提供了一种企业产品,该产品能够跟踪一段时间内的漏洞数量。 对于许多用户来说,这可能就足够了。 在DNAnexus,我们正在建立可观察性的文化,我们希望此信息可用于我们的内部监控系统。 这样,我们不仅可以跟踪一段时间内的安全漏洞,还可以使用Prometheus设置自己的自定义警报和内部 。 格拉法纳仪表板 提供了Grafana仪表板,以便您可以随时间可视化snyk漏洞(请参阅项目根目录中的json文件。)以下是使用虚拟生成数据的仪表板示例: 先决条件 snyk.io帐户。 对于开源项目和扫描量较小的私人项目,它是免费的。 要更频繁地扫描私人项目,可以使用付费计划。 snyk API令牌。 在您的上获取它。 入门 节点JS 注意:需要节点> 7.6才能支持异步/等待。 git clone git@github.com:dna

TTL转RS422(B)工业级转换模块设计:从原理到实战部署

在工业自动化与嵌入式系统中,串行通信是实现设备间数据交换的基础。其核心原理在于通过特定的电气标准与协议,将数据位序列化后进行传输。RS422作为一种差分平衡传输协议,相比常见的TTL电平,在抗共模干扰与远距离传输能力上具有显著的技术优势,这使其成为工业现场总线、楼宇自动化等对可靠性要求严苛场景的优选方案。要实现TTL设备与RS422网络的稳定互联,关键在于设计一个能够完成单端信号到差分信号高质量转换的硬件模块。这涉及到差分总线收发器芯片的选型、包含终端电阻与TVS二极管的保护电路设计,以及遵循差分走线规则的

weixin_29195615的博客 341

推荐:JMX Exporter - 您的Prometheus与Java监控桥梁

在现代微服务架构中,有效的监控是保障系统健康运行的关键。今天我们要介绍的是一个强大的开源工具——JMX Exporter,它将Java管理扩展(JMX)与Prometheus监控完美结合,为您提供全面的JVM和应用性能洞察。 ## 项目介绍 [JMX Exporter](https://github.com/prometheus/jmx_exporter) 是一个由Prometheus社区维护...

gitblog_00910的博客 679

从MC到DC:三维重建算法的核心原理与实战对比

本文深入对比了三维重建领域两大经典算法Marching Cubes(MC)与Dual Contouring(DC)的核心原理与实战表现。MC算法原理直观、实现简单,但存在特征丢失和二义性问题;DC算法通过求解二次误差函数(QEF)和利用法向量信息,能更好地保留模型的尖锐特征,但计算更复杂。文章结合医学影像处理实例,为开发者根据速度、精度和特征保真度需求选择合适算法提供了清晰指南。

weixin_29251131的博客 1032

Apache Kafka 3.1监控数据采集:JMX Exporter配置指南

你是否还在为Kafka集群监控数据采集烦恼?本文将带你通过JMX Exporter实现Kafka 3.1服务的性能指标监控,解决指标缺失、配置复杂等问题。读完本文你将掌握: - 快速启用Kafka JMX端口的3种方法 - JMX Exporter配置与集成步骤 - 关键监控指标说明与采集验证 ## 一、为什么需要JMX监控? Kafka作为分布式流处理平台,其内部运行状态直接影响消息传递可靠...

gitblog_01121的博客 1862

交流异步机VVVF变频控制simulink/matlab仿真分析

VVVF,是Variable Voltage and Variable Frequency的缩写, 意为:可变电压、可变频率,也就是变频调速系统。 VVVF控制的逆变器连接电机,通过同时改变频率和电压,达到磁通恒定(可以用反电势/频率近似表征)和控制电机转速(和频率成正比)的目的,所以多应用在变频器中,属于工业自动化领域。

Ezekiel_Mok的博客 4209

气象干旱触发水文(农业)干旱的概率及其触发阈值的动态变化-贝叶斯copula模型

本文通过建立不同类型干旱传播过程的触发阈值模型,解析了在不同等级气象干旱胁迫下诱发次一级干旱类型的触发阈值。通过贝叶斯概率模型,我们推导了气象干旱与水文干旱、农业干旱、地下水干旱之间的条件概率关系,进一步明确了气象干旱引发水文干旱、农业干旱和地下水干旱的概率及其触发阈值。该模型有效揭示了气象干旱对各级干旱类型的传播机制及其动态变化,为干旱预警系统的建立和水资源管理提供了理论依据和技术支持。

frankgis的博客 2503

【运维监控】Prometheus+grafana+kafka_exporter监控kafka运行情况

通过kafka_exporter收集kafka的监控指标,然后将数据收集到prometheus中,最后通过grafana的dashboard导入模板进行可视化

alanchanchn的专栏 4万+

EXCEL VBA从入门到精通 前言

本书通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程,同时也介绍了常用的工具、资源、社区和协作平台等,方便读者进行进一步的学习和开发。我强烈推荐这本书给所有希望学习和掌握Excel VBA编程的读者。多样化的资源和工具介绍:本书介绍了丰富的工具和资源,包括官方文档、在线教程、代码库、论坛、博客等,方便读者进行进一步的学习和开发。详细的讲解和丰富的示例:本书从语法和对象开始讲解,通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程。第一节:什么是VBA 5。

1728

使用 JMX-Exporter 监控 Kafka 和 Zookeeper

JMX-Exporter 是 Prometheus 社区提供的一个工具,用来把 JMX 暴露的监控指标数据转换为 Prometheus 可识别的格式。JMX-Exporter 通过 HTTP 服务的方式暴露监控指标数据,Prometheus 通过 HTTP 协议来拉取监控指标数据。JMX-Exporter 就是个 jar 包,以 javaagent(何为 javaagent,需要读者自行 Google) 的方式运行,和业务 Java(或 Scala) 程序运行在一个 JVM 虚拟机里。

n9ecommunity的博客 1463

点云从入门到精通技术详解100篇-基于 CBCT 与口内扫描数据的牙齿点云配准

口扫生成的三维牙模型只包含牙冠结构,容易受到唾液、食物残留等杂质的干扰。像精度,但其扫描成本较高,在公立医院的普及率较低。此外,口扫探入式的体。完整、精确的牙齿信息,有助于医生更好地进行数字化辅助诊疗,提高手术的预。可以表示上颌骨、下颌骨、牙冠以及牙根的位置和形状,但其扫描分辨率较低,精配准前实现粗略的预配准来确定点云间的初始位置,为精配准提供良好的配准。该算法通过计算点对间的距离确定源点云中的某一点在目标点云中的对应。算两点之间的欧氏距离,运算量较大,而且由于算法只考虑点集间的距离而忽略。

getusushu的博客 1640

基于Cesium移动的天空云

天空中的云朵也算是一种天气气候的效果,它能更加逼真的反映当前的天气状况,可以是白云朵朵,也可以是乌云密布,结合其他天气效果,可以组合形成较为真实的三维可视化场景。

星云数海的博客,一个专注GIS十多年的GISer人。 446

解决Java监控痛点:Prometheus+JMX Exporter实战指南

你是否还在为Java应用的性能瓶颈排查而头疼?当生产环境中的JVM内存溢出、线程死锁等问题突然爆发时,是否因缺乏实时监控数据而束手无策?本文将带你通过Prometheus与JMX Exporter的组合方案,构建一套轻量级、高可用的Java应用监控体系。读完本文你将掌握: - 3分钟完成监控环境部署 - 关键Java指标的采集与告警配置 - 常见故障场景的指标分析方法 - 与Kubernetes环...

gitblog_00056的博客 1046

HyperLynx(十三)Hyperlynx前放置之对网络的EMC分析

在“Spectrum Analyzer”对话框的“Stimulus”(激励)栏中,设置激励源频率为100MHz,选择“IC modeling”为“Fast-Strong”,并按图所示设置其他选项。显然,在仿真的基频上,它的幅值最大,将鼠标光标置于柱状图上,可以读取其值为64.28mA,这个数值是由选定的驱动芯片决定的。按上图所示的原理图,在接收端增加一个并联的RC负载,再次运行仿真,结果如图所示。在对话框左侧的“Pins”列表中,显示出了已添加电流探针的引脚,可以在此列表中选择所要仿真的目标。...

小幽余生不加糖 4678

Prometheus+Grafana通过kafka_exporter监控kafka

Prometheus+Grafana通过kafka_exporter监控kafka一、暴露 kafka-metric 方式二、jmx_exporter方式2.1 下载jmx_prometheus_javaagent和kafka.yml2.2 监控指标2.3 预警指标分析2.4 Grafana Dashboard JSON 原文地址: 优快云:GeekXuShuo:[Prometheus 监控之...

爱是与世界平行 7018

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JMX Exporter 终极监控指南:从原理到实战部署

在现代Java应用监控体系中,JMX Exporter扮演着至关重要的角色。这个强大的工具能够将Java Management Extensions (JMX) 指标转换为Prometheus可识别的格式,为你提供全方位的应用性能洞察。无论你是运维工程师还是开发人员,掌握JMX Exporter都将极大提升你的监控能力。 ## 技术深度解析:JMX监控的底层原理 JMX Exporter的核心

gitblog_00518的博客 997

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JMX Exporter终极安装配置指南:5分钟搞定Java应用监控

JMX Exporter是一个强大的Java应用监控工具,能够将JMX Beans通过HTTP协议暴露给Prometheus进行消费。无论你是运维工程师还是开发人员,掌握JMX Exporter的使用都能让你的Java应用监控事半功倍!🚀 ## 什么是JMX Exporter? JMX Exporter是一个轻量级的Java代理,它通过JMX(Java Management Extensio

gitblog_00145的博客 821

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 每小时进行一次FullGC
下一篇: Java进程占用CPU过高问题分析
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值