问题标签 [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.
database - 为什么我的千分尺在应用程序启动后只执行一次?
我想实现一个千分尺,来监控我数据库中的记录数量。所以我创建了一个方面,spring-boot-starter-aop
在我的服务方法被调用后执行。
方面:
在/prometheus
端点上,我只看到应用程序启动后第一次调用的联系人数量。如果我现在调用我的 POST 休息端点并将联系人添加到我的数据库中,则只有我log.info
打印出新的联系人数量,但我的仪表什么也不做。
命令:
我究竟做错了什么?
或者有没有其他方法可以监控数据库表中的记录数量???
spring - 千分尺发送指标为零 - Spring Boot
我正在使用 Spring Boot 2 + Influx + Spring AOP 在我的系统中收集指标。
所以我有:
我有一个类可以收集这些指标并发送给 influx,请参阅:
当我向 influx 发送一些值时,效果很好,但是 spring 在未经我许可的情况下继续发送“零值”,填充我的 influx 数据库。所以我的 influxDB 显示如下:
spring - Spring Security 中的自定义身份验证控制器
无论如何,使用 Spring Security 是否可以添加自定义控制器来执行POST
使用时loginProcessingUrl
?据我所知,这与UsernamePasswordAuthenticationFilter
.
我当前的安全配置看起来像,
这一切的原因是因为当我使用micrometer
提取指标时,我看到以下异常,
我在这一点上的猜测是千分尺WebMvcMetricsFilter
与 Spring MVC 过滤器链相关联,并且它不知道 Spring Security 过滤器链。我将此作为问题#1011提出,但想知道是否可以通过为POST
.
我围绕这个问题的 PoC -> spring-boot-spring-security-micrometer
对此的任何指针表示赞赏。
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 端点,我可以在其中查看执行器信息。这只是一个应该如何发送到弹性的问题。
资源:
project-reactor - 用千分尺测量 ElasticScheduler?
有什么方法可以衡量ElasticScheduler
它的线程池的实用性吗?我已经浏览了代码,但我还没有看到任何直接的选择。
java - 添加千分尺依赖会导致奇怪的 Spring 代理问题
我有一个带有私有 @Scheduled 方法的简单 Spring Boot 应用程序:
pom.xml:
当千分尺依赖项并注释掉一切按预期工作时,但是当我取消注释它们时,会发生以下异常:
有谁知道下面发生了什么?
编辑:我认为 mictometer 和 aspectJ 依赖项之间存在某种冲突,只有当两者都存在于类路径时才会出现问题。
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 组件中提供我自己的此延迟指标的实现,或者他们是我可以实现此目标的更简单方法?
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]
spring - 千分尺 - 特定指标的常用标签
我试图弄清楚如何为特定指标设置通用标签。注意:我使用的是 Cloudwatch 监控系统。这是我所拥有的:
我正在考虑类似于的 MeterFilter 方法MeterFilter.allow("metric.name").tags("tag1","tag2")
千分尺确实允许我在创建仪表时设置标签,但是这对我启用 Spring 的仪表没有帮助。
似乎唯一的方法是创建两个 MeterRegistryCustomizer 对象,一个用于 Spring 指标和我创建的任何需要公共标签的自定义指标,另一个用于不需要的。
有没有办法做到这一点,我错过了?
kotlin - 围绕 Kotlin 挂起功能的方面
围绕 Kotlin 挂起函数创建方面的正确方法是什么?
根据我的观察,Micrometer 的 @Timed 方面确实适用于它们,但显示不正确的结果 - 看起来它测量的是方法调用和暂停之间的时间,而不是在方法中花费的全部时间(应该包括暂停后的时间)
我想要实现的示例:
在这种情况下,我想知道花在dbCall
函数上的全部时间,并用自定义@CoroutineTimer
注释标记。有没有办法这样做?