【问题标题】:How to filter Spring boot actuator metrics?如何过滤 Spring Boot 执行器指标?
【发布时间】:2019-03-12 11:52:23
【问题描述】:

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",
...

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

【问题讨论】:

    标签: java spring-boot spring-boot-actuator


    【解决方案1】:

    您可以使用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
    

    【讨论】:

    • 非常感谢安迪!
    • 对了,你也可以按“availableTags”过滤吗?即仅测量logback.events.level.error
    • 是的,这是可能的。不过,您必须编写一些代码。定义一个实现io.micrometer.core.instrument.config.MeterFilter的bean,它会自动注册。
    猜你喜欢
    • 2018-11-29
    • 1970-01-01
    • 2015-07-04
    • 2019-10-01
    • 2018-11-16
    • 2015-11-15
    • 2021-11-12
    • 2019-11-22
    • 1970-01-01
    相关资源
    最近更新 更多