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

jvm - 被普罗米修斯刮擦后,千分尺的度量(在弹簧靴中)会保留在堆中吗?

我们有启用了微米指标收集的 Spring 应用程序,并且这些指标在一定延迟后由 Prometheus 服务器收集。由于指标是时间序列数据,我的问题是在 Spring 应用程序中收集的指标即使在复制到 Prometheus 后仍会保留在堆中,如果此类时间序列数据继续增长,那么堆将耗尽-内存不是吗?任何人都对微米指标内存保留有一点了解,请告诉我们。

0 投票
3 回答
2209 浏览

google-compute-engine - Spring Boot/Micrometer 向 GCP Stackdriver 发送指标

我正在尝试实现一个简单的解决方案,从我托管在计算引擎实例中的 API 将 http 请求指标发送到 GCP 中的 Stackdriver。使用最新版本的 Spring Boot (2.1.5)。我还引入了执行器和 micrometer-registry-stackdriver 包,执行器目前适用于健康端点,但不清楚如何为此实现指标。

过去(单独的项目,不同的堆栈),我主要使用带有 influx 的自动配置元素。使用management.metrics.export.influx.enabled=true, 和属性文件中的一些其他属性,这是一个非常简单的设置(尽管我的团队的领导很可能在我不知道的情况下做了一些繁重的工作)。尽管引入了堆栈驱动程序依赖项,但我没有看到堆栈驱动程序的任何类型的属性。文档都是通用的,所以我不清楚如何为我的用例执行此操作。我搜索了示例,但找不到任何示例。

来自文档:Having a dependency on micrometer-registry-{system} in your runtime classpath is enough for Spring Boot to configure the registry. 我有点菜鸟,所以我不确定我需要做什么才能让它工作。我真的不需要任何自定义指标,只是想显示一些指标数据。

有没有人有或知道任何将其设置为与 Stackdriver 一起使用的示例?

0 投票
3 回答
2660 浏览

spring-boot - 如何在任意方法名称上使用的 @Timed 注释中包含方法参数

在我的应用程序中,我有一个用例,我必须通过提供的参数值来监视方法。我必须将指标公开给 Prometheus 端点。但是,该函数是一个通用函数,并且被许多不同的类使用。我试图将方法参数中传递的值传递给@Timed,以便根据传递的参数值区分此函数将表现出的不同行为。

我尝试使用@Timed 注释,但无法让@Timed 注释将函数参数作为指标公开给Prometheus。

0 投票
0 回答
555 浏览

prometheus - 使用 Actuator 未在 http 端点上公开 kafka 生产者指标

我正在使用 Spring boot 2、Kafka 2.1.4,并且我想在 spring boot actuator 的 actuator/metrics 端点中公开 kafka Producer 指标

pom.xml

在我的属性文件中看起来像这样 #application.properties

结果没有kafka生产者指标只有Jvm和Tomcat

http://localhost:8080/actuator/metrics

0 投票
1 回答
1706 浏览

spring-webflux - 使用 Micrometer 和 WebFlux 测量执行时间

我想测量使用 WebFlux 进行的一些异步调用的长度。我一直在阅读各种来源,因为我了解@Timed注释正在与 AspectJ 一起使用,并且基本上只是在方法调用之前启动一个计时器并在之后停止它。这显然不适用于异步方法。

有没有针对 WebFlux 的解决方案,或者我唯一能做的就是传递执行时间戳,弄乱我的应用程序逻辑?

0 投票
1 回答
220 浏览

spring-boot - 如何在 Spring Boot 千分尺中为 New Relic Insights 传递应用程序名称

我用千分尺成功配置了 New Relic,但我观察到没有发送任何应用程序名称。

我想包括它以便能够过滤不同的环境。

0 投票
1 回答
4607 浏览

spring-boot - 带有千分尺 Elasticsearch 注册表的 Spring Boot 仅索引空文档

我有一个使用千分尺 Elasticsearch 注册表(使用 Elasticsearch 7.2.0)的简单 spring boot 2.1.7.RELEASE项目。该项目github 上可用。它只有两个类,看起来像这样

pom.xml具有以下依赖项:

和两个类: MicrometerElasticApplication

测试控制器

启动应用程序后,我可以在日志中看到

这意味着发送了指标,但是当我检查 Elasticsearch 中的索引时,我只能看到这样的文档

所以没有字段,只有文档元数据。即使在达到端点服务器时间之后,索引/test也没有任何变化。metrics

通过阅读此处的官方文档并检查此处的常见属性,我的理解Spring默认情况下将为 JVM、CPU ......甚至测量所有 MVC 请求的时间。现在,我没有得到任何这些,只是空文件。将该属性设置management.metrics.web.server.auto-time-requeststrue不会更改任何内容。

有人看到我在这里缺少什么吗?

更新

我在方法上设置了一个断点,ElasticMeterRegistry.publish发送到 Elaticsearch /_bulkAPI 的请求对我来说看起来不错

当我使用 Postman 发送此请求时,所有文档都保存为空文档,尽管 Elasticsearch 没有报告任何错误,但"errors": false在响应中

0 投票
2 回答
316 浏览

spring-boot - 获取将千分尺集成到弹性搜索应用程序的异常

我有一个调用弹性搜索集群的 Spring-Boot 应用程序。我想为它添加普罗米修斯监控。我只添加了以下依赖项,只要我运行应用程序,我就会得到 java.util.concurrent.TimeoutException

我的错误日志如下

0 投票
2 回答
442 浏览

spring - 如果数据不是每分钟轮询一次,SimpleMeterRegistry 会清除数据

我有一个简单的 Spring Boot 应用程序,配置如下(该项目GitHub 上可用):

上述配置创建SimpleMeterRegistry并将其指标配置为基于步骤的,步长为 60 秒。我有一个脚本每秒向服务虚拟端点发送 50-100 个请求,还有另一个脚本/actuator/metrics/http.server.requests每 X 秒轮询一次数据。当我每 60 秒运行后一个脚本时,一切都按预期工作,但是当脚本每 120 秒运行一次时,响应总是包含和指标。TOTAL_TIMECOUNT

谁能解释这种行为?

我已阅读此处的文档。下图 在此处输入图像描述 可能表明,只有在当前间隔期间调用 pollAsRate 时,注册表才会尝试聚合前一个间隔的数据。这将解释为什么它在 120 秒间隔内不起作用。但这只是我的假设,有人知道这里到底发生了什么吗?

春季启动版本:2.1.7.RELEASE

更新

我做了一个类似的测试management.metrics.export.simple.step=10s,当轮询间隔为 10s 时它工作正常,而当它是 20s 时它不工作。对于 15 秒的间隔,它偶尔会起作用。因此,它肯定与步长和轮询频率有关。

0 投票
1 回答
85 浏览

spring-boot - 使用千分尺自定义用户事件

我是千分尺的新手。我想记录用户注册、用户登录等事件。我可以使用千分尺和 Spring Boot 来执行此操作并在 Prometheus/Grafana 中显示数据吗?