使用jmx_exporter时,我可以在/ metrics端点上看到jvm,process,java等指标,但没有通过JMX公开的自定义指标。当我删除代理并添加jolokia代理时,我可以在Jolokia的公开端点上以JSON格式看到这些自定义指标,而不会出现问题。证明存在。
jmx导出器代理配置
rules:
- pattern: ".*"
我已经遍历stackoverflow和google组。许多人提出了类似的问题,但我看不到解决方案。为什么这不能按预期工作的任何帮助。
您需要添加一个带有自定义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度量表示形式,并使用它来定义匹配的模式。