通过prometheus jmx导出器导出自定义指标

问题描述 投票:0回答:1

使用jmx_exporter时,我可以在/ metrics端点上看到jvm,process,java等指标,但没有通过JMX公开的自定义指标。当我删除代理并添加jolokia代理时,我可以在Jolokia的公开端点上以JSON格式看到这些自定义指标,而不会出现问题。证明存在。

jmx导出器代理配置

rules:
- pattern: ".*"

我已经遍历stackoverflow和google组。许多人提出了类似的问题,但我看不到解决方案。为什么这不能按预期工作的任何帮助。

jmx prometheus jmx-exporter
1个回答
0
投票

您需要添加一个带有自定义JMX Bean对象名称的模式的whitelist条目。


示例:假设域为foo,然后将以下内容添加到您的JMXExporter配置YAML的顶层]]

whitelist: ["foo:*"]

将打印foo域中Bean的所有度量标准。


Sidenote

pattern部分中rules条目的模式字符串必须应用于Bean指标(see documentation)的特定规范化表示形式:
domain<beanpropertyName1=beanPropertyValue1, beanpropertyName2=beanPropertyValue2, ...><key1, key2, ...>attrName: value

如果在规则项中提供pattern条目,则在JMXCollector.java中使用此条目(第174-175行),以如下所示创建正则表达式模式

if (yamlRule.containsKey("pattern")) {
    rule.pattern = Pattern.compile("^.*(?:" + (String)yamlRule.get("pattern") + ").*$");
}

JMXCollector使用它来检查您的规则集是否适用于给定的bean(或者适用于默认的博览会格式化程序)。

JMXExporter如果通过使用默认格式设置器(通过在[HELP ...部分中添加条目],请在[[not

上添加)]在rules行中提供规范化的格式,将对构建模式匹配器有所帮助。如果不进行任何规则运行,则可以复制规范化的Bean度量表示形式,并使用它来定义匹配的模式。
© www.soinside.com 2019 - 2024. All rights reserved.