问题标签 [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 投票
2 回答
1810 浏览

database - 为什么我的千分尺在应用程序启动后只执行一次?

我想实现一个千分尺,来监控我数据库中的记录数量。所以我创建了一个方面,spring-boot-starter-aop在我的服务方法被调用后执行。

方面:

/prometheus端点上,我只看到应用程序启动后第一次调用的联系人数量。如果我现在调用我的 POST 休息端点并将联系人添加到我的数据库中,则只有我log.info打印出新的联系人数量,但我的仪表什么也不做。
命令:


我究竟做错了什么?

或者有没有其他方法可以监控数据库表中的记录数量???

0 投票
1 回答
1509 浏览

spring - 千分尺发送指标为零 - Spring Boot

我正在使用 Spring Boot 2 + Influx + Spring AOP 在我的系统中收集指标。

所以我有:

我有一个类可以收集这些指标并发送给 influx,请参阅:

当我向 influx 发送一些值时,效果很好,但是 spring 在未经我许可的情况下继续发送“零值”,填充我的 influx 数据库。所以我的 influxDB 显示如下:

0 投票
1 回答
305 浏览

spring - Spring Security 中的自定义身份验证控制器

无论如何,使用 Spring Security 是否可以添加自定义控制器来执行POST使用时loginProcessingUrl?据我所知,这与UsernamePasswordAuthenticationFilter.

我当前的安全配置看起来像,

这一切的原因是因为当我使用micrometer提取指标时,我看到以下异常,

我在这一点上的猜测是千分尺WebMvcMetricsFilter与 Spring MVC 过滤器链相关联,并且它不知道 Spring Security 过滤器链。我将此作为问题#1011提出,但想知道是否可以通过为POST.

我围绕这个问题的 PoC -> spring-boot-spring-security-micrometer

对此的任何指针表示赞赏。

0 投票
1 回答
1786 浏览

elasticsearch - Spring Micrometer:将指标发送到 AWS ElasticSearch 实例

我想将 Micrometer 的默认执行器指标(JVM 内存等)发送到 AWS ElasticSearch 实例,并在 Kibana 中可视化数据。

我认为我设置正确,但在 Kibana 中没有数据。

这是我的配置:

compile 'io.micrometer:micrometer-registry-elastic:latest.release' management.metrics.export.elastic.host=https://${url}.us-east-1.es.amazonaws.com

URL 在应用程序中是硬编码的,我只是在这里删除了它。我正在使用的 url 来自我的 ES 域的 AWS 仪表板,其中列出了:

Endpoint: https://${url}.us-east-1.es.amazonaws.com

但是使用这种配置,我无法在 Kibana 中显示任何数据。

其他注意事项:我知道 Micrometer 可以访问这些数据,因为我设置了 Prometheus 端点,我可以在其中查看执行器信息。这只是一个应该如何发送到弹性的问题。

资源:

http://micrometer.io/docs/registry/elastic

https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-metrics-export-elastic

https://github.com/micrometer-metrics/micrometer/blob/master/implementations/micrometer-registry-elastic/src/main/java/io/micrometer/elastic/ElasticConfig.java

0 投票
1 回答
176 浏览

project-reactor - 用千分尺测量 ElasticScheduler?

有什么方法可以衡量ElasticScheduler它的线程池的实用性吗?我已经浏览了代码,但我还没有看到任何直接的选择。

0 投票
1 回答
2148 浏览

java - 添加千分尺依赖会导致奇怪的 Spring 代理问题

我有一个带有私有 @Scheduled 方法的简单 Spring Boot 应用程序:

pom.xml:

当千分尺依赖项并注释掉一切按预期工作时,但是当我取消注释它们时,会发生以下异常:

有谁知道下面发生了什么?

编辑:我认为 mictometer 和 aspectJ 依赖项之间存在某种冲突,只有当两者都存在于类路径时才会出现问题。

0 投票
1 回答
2093 浏览

spring-boot - 使用 Spring Boot Micrometer 指标显示 HTTP 请求 API 延迟

我们使用 Prometheus 来抓取 Spring Boot 2.0.0 的指标,然后将它们保存在 InfluxDB 中。然后我们使用 Grafana 从 InfluxDB 可视化它们。

我们的千分尺依赖是

  • micrometer-core
  • micrometer-registry-prometheus

我希望能够显示我们的 REST API 的延迟指标。

从我们的 Prometheus scraper 中,我可以看到这些指标是为 HTTP 请求生成的。

  • http_server_requests_seconds_count
  • http_server_requests_seconds_sum
  • http_server_requests_seconds_max

我从千分尺文档https://micrometer.io/docs/concepts#_client_side了解到,延迟可以通过结合上述生成的两个指标来完成:totalTime / count。

但是我们的数据源是 InfluxDB,它不支持组合测量,https://docs.influxdata.com/influxdb/v1.7/troubleshooting/frequently-asked-questions/#how-do-i-query-data-across-测量,所以我无法在 InfluxDB 中实现该功能。

我是否需要在 Spring Boot 组件中提供我自己的此延迟指标的实现,或者他们是我可以实现此目标的更简单方法?

0 投票
0 回答
545 浏览

spring-boot - 无法使用 MicroMeter 而不是 Prometheus

我将我的 Spring 版本从 1.5 升级到 2.0,并将 Prometheus 版本 0.3.0 升级到 0.6.0。但不幸的是,它不起作用。我被告知我必须使用MicroMeter代替SimpleClient并添加io.micrometer到我的pom.xml@EnablePrometheusEndpointremoved我的MetricConfig班级,但我遇到了以下错误。你知道我为什么会出现这种错误吗?

引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration$WebMvcServletEndpointManagementContextConfiguration.class]中定义名称为“servletEndpointRegistrar”的bean创建错误:bean实例化通过工厂方法失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar]:工厂方法“servletEndpointRegistrar”抛出异常;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“routeControllerEndpoint”的 bean 时出错 在类路径资源[org/apache/camel/spring/boot/actuate/endpoint/CamelRouteControllerEndpointAutoConfiguration.class]中定义:通过方法'routeControllerEndpoint'参数0表示的不满足的依赖关系;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源 [org/apache/camel/spring/boot/CamelAutoConfiguration.class] 中定义的名称为“camelContext”的 bean 时出错:合并 bean 定义的后处理失败; 嵌套异常是 java.lang.IllegalStateException: Failed to introspect Class [org.apache.camel.impl.DefaultCamelContext] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd] routeControllerEndpoint'参数0;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源 [org/apache/camel/spring/boot/CamelAutoConfiguration.class] 中定义的名称为“camelContext”的 bean 时出错:合并 bean 定义的后处理失败; 嵌套异常是 java.lang.IllegalStateException: Failed to introspect Class [org.apache.camel.impl.DefaultCamelContext] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd] routeControllerEndpoint'参数0;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源 [org/apache/camel/spring/boot/CamelAutoConfiguration.class] 中定义的名称为“camelContext”的 bean 时出错:合并 bean 定义的后处理失败; 嵌套异常是 java.lang.IllegalStateException: Failed to introspect Class [org.apache.camel.impl.DefaultCamelContext] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@77556fd]

0 投票
2 回答
5533 浏览

spring - 千分尺 - 特定指标的常用标签

我试图弄清楚如何为特定指标设置通用标签。注意:我使用的是 Cloudwatch 监控系统。这是我所拥有的:

我正在考虑类似于的 MeterFilter 方法MeterFilter.allow("metric.name").tags("tag1","tag2")

千分尺确实允许我在创建仪表时设置标签,但是这对我启用 Spring 的仪表没有帮助。

似乎唯一的方法是创建两个 MeterRegistryCustomizer 对象,一个用于 Spring 指标和我创建的任何需要公共标签的自定义指标,另一个用于不需要的。

有没有办法做到这一点,我错过了?

0 投票
0 回答
487 浏览

kotlin - 围绕 Kotlin 挂起功能的方面

围绕 Kotlin 挂起函数创建方面的正确方法是什么?

根据我的观察,Micrometer 的 @Timed 方面确实适用于它们,但显示不正确的结果 - 看起来它测量的是方法调用和暂停之间的时间,而不是在方法中花费的全部时间(应该包括暂停后的时间)

我想要实现的示例:

在这种情况下,我想知道花在dbCall函数上的全部时间,并用自定义@CoroutineTimer注释标记。有没有办法这样做?