如何过滤 Spring 引导执行器指标?

How to filter Spring boot actuator metrics?

Spring 引导执行器指标 (/actuator/metrics) 附带许多默认指标。其中一些是:

"jvm.memory.max",
"jvm.threads.states",
"process.files.max",
"jvm.gc.memory.promoted",
"tomcat.servlet.error",
"system.load.average.1m",
"jvm.memory.used",
"jvm.gc.max.data.size",
"jvm.memory.committed",
"http.server.requests",
"system.cpu.count",
"logback.events",
"tomcat.global.sent",
...

能不能只曝光其中的几个? (即过滤它们或更好,告诉 Spring boot 根本不收集它们?)

您可以使用 management.metrics.enable.* 属性来控制启用并绑定到仪表注册表的指标。在指标名称以 . 分隔的情况下,您可以使用单个 属性 禁用多个指标。例如,要禁用所有 jvm 属性,您可以使用以下 属性:

management.metrics.enable.jvm=false

如果有多个属性与同一指标相匹配,则以最具体的为准。例如,要禁用 jvm.memory.max 以外的所有 jvm 指标,您可以使用以下属性:

management.metrics.enable.jvm=false
management.metrics.enable.jvm.memory.max=true

您可以使用 all 来匹配所有指标。例如,要禁用 jvm.memory 指标以外的所有指标,您可以使用以下属性:

management.metrics.enable.all=false
management.metrics.enable.jvm.memory=true