当前位置: 首页 > 知识库问答 >
问题:

如何使用Prometheus的JMX exporter java代理收集自定义度量

段曦
2023-03-14

我想使用Prometheus的JMX导出器收集使用Prometheus的自定义应用程序度量。我有一个应用程序,我已经打包到一个jar文件applicationTomonitor.jar--它公开端口8989并声明Prometheus指标,但不公开Prometheus要刮的endpoint(根据我所读到的,Prometheus javaagent负责处理这个问题)。

我不确定configuration.yaml文件应该是什么样子。另外,为什么建议使用shaded.io.prometheus库(并在默认注册表下注册新的度量变量),而不是使用常规的io.prometheus库,并且根本不使用注册表?

我引用的是Prometheus JMX exporter文档,只是不理解前面提到的组件。

共有1个答案

赵俊晤
2023-03-14

您只能将JMX导出器用于您无法控制的公开JMX度量的代码。在本例中,您需要为https://github.com/prometheus/client_java#http添加一些说明。httpserver是最简单的。

 类似资料:
  • 我已经激活了Spring执行器普罗米修斯endpont<代码>/执行器/普罗米修斯。通过增加对千分尺和执行器的依赖,并启用prometheus Endpont。我如何获得自定义度量?

  • 我有一个Java应用程序,它使用Prometheus库,以便在执行期间收集度量。稍后,我将Prometheus服务器链接到Grafana,以便可视化这些度量。我想知道是否可以让格拉法纳为这些度量显示一个自定义的X轴?通常的X轴是在当地时间。我能让它显示带有GPS/UTC时间戳的数据吗?有可能吗?如果是,需要什么?保存时间戳的附加度量参数? 我这样声明度量变量: 并添加如下所示的数据: 如有任何帮助

  • 我有以下课程。 我希望能够按年龄分组,然后收集人名列表,而不是人名对象本身;所有这些都在一个漂亮的lamba表达式中。 为了简化所有这些,我链接了当前的解决方案,该解决方案存储按年龄分组的结果,然后迭代它以收集名称。 当前解决方案 不理想,为了学习,我想有一个更优雅、更高效的解决方案。

  • 问题:我想将TestNG断言更改为AssertJ,将SoftAssertJ中的SoftAssertions更改为AssertJ,但我不知道在收集后,我需要从SoftAssertions中重写什么来执行自定义代码。具体来说,我想为每个收集到的错误截图。我使用Selenium实现自动化,并需要添加用于报告的屏幕截图。我试图覆盖中的每个方法,但没有帮助。 实际:我只在方法中获得了屏幕截图。 预期:我需要

  • 我是新来的普罗米修斯/警报经理。 我创建了一个cron作业,它每分钟执行一次shell脚本。此shell脚本在分配给参数(到节点导出器)。我验证了(使用curl)http://localhost:9100/metrics)节点导出器是否正确公开该自定义度量。 当我试图在prometheus仪表板中针对该自定义指标运行查询时,它不会显示任何结果(它表示未找到数据)。 我无法理解为什么通过node e

  • 我已经通过实现收集器接口并重写其方法实现了一个自定义收集器。收集器实现如下: 以下是我的Person类: