您需要为自定义 JMX Bean 的对象名称添加一个带有模式的白名单条目。
示例:假设域foo
,然后将以下内容添加到顶层的 JMXExporter 配置 YAML
whitelist: ["foo:*"]
将打印foo
域中 bean 的所有指标。
旁注:我发现使用pattern
规则集中的条目有点棘手,所以我将添加我的发现,以防你遇到这个后续问题。
pattern
因此,该部分中条目的模式字符串rules
必须适用于 bean 度量的特定规范化表示(请参阅文档):
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(或以其他方式应用默认的说明格式化程序)。
HELP ...
如果您让它使用默认格式化程序(不rules
向该部分添加条目), JMXExporter 将通过在该行中提供规范化格式来帮助您构建模式匹配器。如果您在没有规则的情况下运行,您可以复制规范化的 bean 度量表示并使用它来定义匹配模式。