问题标签 [spring-micrometer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4576 浏览

spring - 使用 cxf-spring-boot-starter-jaxrs 的 Spring Boot 应用程序中的指标 http_server_requests_seconds_count 包含 uri 作为“未知”

http_server_requests_seconds_count使用 spring 执行器公开的 Spring Boot 应用程序中的 2.0.8 版本的指标包含 URI :

“未知”。

Spring Boot 应用程序cxf-spring-boot-starter-jaxrs用于公开其余端点。我micrometer-registry-prometheus在我的项目中添加了依赖项。

我尝试在我的项目中添加 micrometer-jersey2 依赖项。

实际的

预期的:

0 投票
1 回答
1284 浏览

java - 如何在运行微服务时禁用/启用 Micrometer 指标

如何在不重新启动微服务的情况下禁用或启用 Micrometer 的某些指标?我想公开一个端点来更改我的应用程序收集的指标。

0 投票
1 回答
1058 浏览

java - Spring Boot - MeterBinder 的指标从未注册

情况:您通过 MeterBinder 在 Spring Boot 中注册了一个指标。也许它是自动配置的指标之一,jvm.gc.pause1也可能是您自己的自定义指标。但是有一天,你开始你的应用程序,它就不见了。它没有被报告,它没有在 Actuator 中显示,它就消失了。

根本原因:可能您的代码或您正在使用的库正在注入 MeterRegistry。这样做有很多正当理由,所以不要责怪自己。但是注入 MeterRegistry 意味着它将在创建所有 bean 之前创建和初始化,包括可能的 MeterBinders。

也可能没有注入 MeterRegistry,但 Spring 出于其他原因决定在 MeterBinders 之前创建它。无论如何,MeterBinders 将停止为您工作,您对此无能为力。

0 投票
1 回答
367 浏览

micrometer - 使用 Timer 进行批处理操作

我是使用 Micrometer 的新手,我想看看是否有一种方法可以使用 Timer,它还包括批处理场景中项目数的计数。由于我正在使用 Java 流处理批处理,因此我没有看到一种明显的方法来记录每个处理的项目的计时器,因此我正在寻找一种设置批处理大小属性的方法。我认为可行的一种方法是使用https://micrometer.io/docs/concepts#_function_tracking_timers中的 FunctionTimer ,但我认为这需要应用程序为总计数和总时间保持一组持续单调递增的值.

有没有更简单的方法可以做到这一点?最终,这些数据将被提供给 New Relic。我也尝试为批量大小设置标签,但这些标签似乎被报告为字符串,所以我不能对这些值进行任何类型的聚合。

谢谢!

0 投票
2 回答
2450 浏览

spring-boot - Spring Boot 不会从类路径中获取 Micrometer Registry (cloudwatch)

我在类路径上使用带有 micrometer-spring-legacy:1.1.4 和 micrometer-registry-cloudwatch:1.1.4 的 Spring Boot 1.5。根据文档,它应该自动获取此注册表:

在运行时类路径中依赖 micrometer-registry-{system} 就足以让 Spring Boot 配置注册表。

但是,当我在应用程序启动时查看已注册的 Spring bean 时,只有“simpleMeterRegistry”(我认为这是默认设置)。

为什么它不接CloudWatchMeterRegistry?如何排除故障?谢谢你!!!

从日志:

io.micrometer.spring.autoconfigure.CompositeMeterRegistryConfiguration 上的条件 CompositeMeterRegistryConfiguration.MultipleNonPrimaryMeterRegistriesCondition 不匹配,因为 NoneNestedConditions 1 匹配 1 不匹配;CompositeMeterRegistryConfiguration.MultipleNonPrimaryMeterRegistriesCondition.SingleInjectableMeterRegistry @ConditionalOnSingleCandidate 上的 NestedCondition(类型:io.micrometer.core.instrument.MeterRegistry;SearchStrategy:all)从 bean 'simpleMeterRegistry' 中找到了一个主 bean;CompositeMeterRegistryConfiguration.MultipleNonPrimaryMeterRegistriesCondition.NoMeterRegistryCondition @ConditionalOnMissingBean(类型:io.micrometer.core.instrument.MeterRegistry;SearchStrategy:all)上的 NestedCondition 找到了 bean 'simpleMeterRegistry'

io.micrometer.spring.autoconfigure.jdbc.DataSourcePoolMetricsAutoConfiguration 上的条件 DataSourcePoolMetricsAutoConfiguration.DataSourcePoolMetricsConditionalOnBeans 由于 AllNestedConditions 2 匹配 0 不匹配;DataSourcePoolMetricsAutoConfiguration.DataSourcePoolMetricsConditionalOnBeans.ConditionalOnMeterRegistryBean @ConditionalOnBean(类型:io.micrometer.core.instrument.MeterRegistry;SearchStrategy:all)上的 NestedCondition 找到 bean 'simpleMeterRegistry';DataSourcePoolMetricsAutoConfiguration.DataSourcePoolMetricsConditionalOnBeans.ConditionalOnDataSourceBean @ConditionalOnBean (types: javax.sql.DataSource; SearchStrategy: all) 上的 NestedCondition 找到 bean 'dataSource'

过滤器“webMetricsFilter”配置成功

更新

我看到有CloudWatchMetricAutoConfiguration,我希望它会产生一个CloudWatchMetricWriterBean,但没有这样的 bean。它还应该创建一个AmazonCloudWatchAsyncbean,但它没有——我们拥有的唯一“亚马逊”bean 是amazonS3.

可能的原因

我发现每个受支持的系统都有带有,的micrometer-spring-legacy:1.1.4软件包- 但不是 CloudWatch。这些类使 *Registry 可以作为 Spring bean 使用,并且由于不支持 cloudwatch 注册表,因此它不能作为 Spring bean 使用。io.micrometer.spring.autoconfigure.export.<system><system>MetricsExportAutoConfiguration<system>Properties<system>PropertiesConfigAdapter

0 投票
1 回答
3203 浏览

java - 如何向普罗米修斯报告 Kafka Producer 的指标(使用 Spring Boot)

我正在使用弹簧集成来处理从 UDP 端点到 kafka 的数据流。我已经使用消费者和生产者配置在@Configuration 中将replyingKafkaTemplate 初始化为@Bean。当我的服务器启动并发送一些 udp 请求后,我可以看到消费者的指标。但是,即使在生产者配置中设置了 jmx 报告器,我也看不到生产者的指标。

我试图不设置生产者指标报告器,假设它会自动显示为消费者指标(没有额外的配置)

生产者配置

消费者配置

kafka模板创建

侦听器容器创建:

ConsumerFactory 创建

0 投票
2 回答
1785 浏览

java - @TImed 与 extraTags 和 @PathVariable

我有一个带有这样注释的方法:

以上当然行不通。希望你能看到我正在尝试做的事情。给定路径上的 id,将帐户标签设置为 Account.getById() 返回的值的正确语法是什么?

0 投票
1 回答
2520 浏览

spring-boot - MeterRegistry 计数器不增加

我正在尝试实现错误 -404度量计数器,我只想计算我的 api 中发生的 404 请求的数量。即使我试图模拟对我的 api 的多个 404 请求,我也没有看到计数增加。下面是我的公制类 -

当我达到这个终点时-http://localhost:8081/actuator/metrics/http.status.404

然后我看到下面的回应 -

如果我用多个 404 访问我的 api,我希望这个计数增加

0 投票
1 回答
1791 浏览

micrometer - 更改 prometheus 端点上显示的基本时间单位

在切换到 Micrometer 之前,我们在几个 Spring Boot 应用程序中使用了 Prometheus。Prometheus 以毫秒为单位显示了我们所有的时间。现在我们已经切换到千分尺,所有的计时器和@Timed指标都以秒为单位。我能够通过扩展PrometheusMeterRegistry和覆盖来修改最大度量,getBaseTimeUnit但是 的总和度量Timer不尊重相同的覆盖。

0 投票
1 回答
2285 浏览

spring-boot - Spring Boot 2 Actuator Starter 中的 Nullpointer w。Tomcat指标

我最近将我们的系统从 Spring Boot 1.5 升级到 2.1.3 并添加了spring-boot-starter-actuator. 显然,有些东西配置错误,因为有一个NullPointerExceptionin TomcatMetrics::registerMetricsEventually

空指针出现在这里:

因为objectName.getKeyProperty("j2eeType")返回 null。

这是否表明某些东西明显配置错误?