如何过滤 Spring Boot 执行器指标?

yas*_*eco 2 java spring-boot spring-boot-actuator

Spring Boot 执行器指标 ( /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",
...
Run Code Online (Sandbox Code Playgroud)

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

And*_*son 5

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

management.metrics.enable.jvm=false
Run Code Online (Sandbox Code Playgroud)

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

management.metrics.enable.jvm=false
management.metrics.enable.jvm.memory.max=true
Run Code Online (Sandbox Code Playgroud)

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

management.metrics.enable.all=false
management.metrics.enable.jvm.memory=true
Run Code Online (Sandbox Code Playgroud)