当前位置: 首页 > 知识库问答 >
问题:

io.micrometer.core.instrument.config.MeterFilter:DENY在Spring靴中不起作用

刘才俊
2023-03-14

我想公开指标endpoint上的所有指标,但将其中一些发布到远程计量注册中心。

为此,我为指标endpoint提供了一个SimpleMeter注册表,并为远程仪表注册表(Datadog)添加了一个MeterRegister stryCustomizer,以添加一些MeterFilter以避免使用MeterFilter的DENY功能进行特定指标。例如:

@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
    return (registry) -> new StatsdMeterRegistry(config, Clock.SYSTEM).config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
   }    

但是,所有与jvm相关的指标在Datadog中都是可见的。我尝试了MeterFilterReply,但没有用。请建议如何实现这一点。

共有1个答案

穆承运
2023-03-14

您正在新的< code>StatsdMeterRegistry上配置筛选器。使用< code > MeterRegistryCustomizer 时,您需要对传入的注册表进行操作。

@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
    return (registry) -> registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
   }   

因为定制器将用于所有的注册表,所以您还需要添加一个if语句,以便只过滤您想要过滤的注册表。

@Bean
public MeterRegistryCustomizer<StatsdMeterRegistry> meterRegistryCustomizer() {
   return (registry) -> { 
      if(registry instanceof StatsdMeterRegistry) {
        registry.config().meterFilter(MeterFilter.denyNameStartsWith("jvm"));
      }   
   }
}   

 类似资料:
  • POM 应用程序 控制器 此外,我有模板文件夹中的资源文件夹和内部错误。html和index.html 当我访问localhost:8080/index时,会显示错误,而不是索引。我做错了什么?这真的是最简单的设置,它已经错了。。。

  • 方法在我发出请求的另一个程序上执行: 邮递员中的结果:在此处输入图像描述 日志:2021-07-30 13:15:30.376警告4398---[nio-8080-exec-8]。W.S.M.S.DefaultHandlerExceptionResolver:解析[org.springframework.http.converter.HttpMessageNotreadableException:

  • 我对Spring靴不熟悉。我想在春靴中实现宽松的束缚。根据本文档https://docs . spring . io/spring-boot/docs/current/reference/html/boot-features-external-config . html # boot-features-external-config-relaxed-binding。它说,即使我们的名字中有破折号。

  • 我的服务器运行在localhost:8080(spring boot app)上,前端运行在localhost:3000(angular app)上。问题是我想从前端向后端服务器发出请求。我熟悉cors,但对我来说不起作用。我已将此添加到我的服务器: ,但我仍然得到 XMLHttpRequest无法加载http://localhost:8080/cars.请求被重定向到http://localho

  • 我有一个简单的格拉德Spring Boot(1 . 3 . 3版)WebMVC应用程序,我通过“格拉德启动”从命令行运行。我还包含了Spring Security,并通过包含一个java security config类覆盖了一些默认的安全配置。我的构建文件是 我的安全配置类是 我还有一个home控制器,当我运行应用程序并转到localhost:8080/ I获得主页时,它将URL“/”映射到视图

  • 问题内容: 我有实体 与实体有关 与实体有关 在实体中,我有用注释的字段。我也有仓库 当我称它为 例外时 如何忽略从数据库加载该字段? 问题答案: 我找到了解决方案,问题出在“注释”中,当我将其更改为正常时。