问题标签 [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.
spring-boot - 千分尺计时器和 Spring Boot 2.0.4
我正在尝试使用 Spring Boot 2.0.4 + Micrometer 将指标发送到 InfluxDB,但只有 Counter 有效,Timer 没有。
所以,这是我的依赖:
正如我所说,使用计数器,一切正常,请参阅:
但是计时器不起作用,我尝试了@Timed 和 Timer.sample,两者都没有向 influxDB 发送任何指标。我用 @Service 类中的方法注释了它:
所以,我尝试像这样更改 Timer.sample:https ://micrometer.io/docs/concepts#_storing_start_state_in_code_timer_sample_code ,但没有任何东西发送到 influxDB。
这是我配置流入的属性:
编辑1:
我尝试创建一个简单的测试,请参阅:
计数器工作正常,但计时器不行。
java - 带标签的计数器 - 如何按维度/标签分组?
我正在尝试按维度/标签功能来了解 spring micromenter 的组。我正在使用 StepMeterRegistry 并增加计数器,但没有看到想要的结果。
创建计数器,
递增计数器,
当我打印时(在步骤持续时间之后),
而我期待(在步骤持续时间之后),
我的理解正确吗?或者我怎样才能实现分组(或)按功能选择?
spring-boot - 避免向 InfluxDB 发送零值
我正在使用 Spring Boot Actuator + Micrometer 将值发送到千分尺,所以我有以下 maven:
所以,我有一个启动计时器和停止计时器样本(千分尺)的方法:
所以,这非常有效。InfluxDB 接收从 Spring Boot 应用程序发送的值并在 Grafana 中显示。
问题:第一次发送“timer-dev”流入后,spring boot 持续发送值“0”,我想避免 spring boot 发送零值,它应该只在 timer-dev 大于零时发送。只有在不是每次都调用此方法时才应发送“timer-dev”。
有小费吗 ?
java - 包括 spring boot 端点路径变量作为度量维度
我有 api 端点:/user/{tenant}/create
我正在使用带有千分尺的 spring boot 2 作为指标。
默认情况下,Spring Boot 2 端点的 @Timer 注释包括以下标签:异常、方法、uri、状态
我想将 api 参数“租户”的传递值添加为端点的额外标记
我如何使用 spring boot 2 和千分尺做到这一点
spring-boot-actuator - SCDF Metrics Collector - 包括 Prometheus 指标
我正在将 SCDF 与 Spring Boot 2.x 指标和 SCDF 指标收集器一起使用,以从我的 Spring Boot 应用程序中收集指标。我真的不了解收集器关于aggregateMetrics
数据的逻辑。
当我获取为我的流收集的指标列表时,我只有一个以开头的integration.channel.*
,因此我只有平均值。我尝试了一切以查看其他指标,这些指标看起来像/actuator/prometheus
端点公开的指标。
我想我误解了指标的聚合方式。我注意到 SCDF 会自动向指标添加一些属性,我想将这些属性应用于我公开的所有指标,以便将它们全部收集起来。
我有一些Micrometer
计数器,我想用 Metrics 收集器获取值。我知道它们暴露得很好,因为我已经正确设置了所有属性,我什至进入了启动的 Docker 容器以检查端点。
我读过
部署应用程序时,Data Flow 设置 spring.cloud.stream.metrics.properties 属性,如下例所示:
spring.cloud.stream.metrics.properties=spring.application.name,spring.application.index,spring.cloud.application.*,spring.cloud.dataflow.*
这些键的值被用作标签来执行聚合。对于 2.x 应用程序,这些键值直接映射到 Micrometer 库中的标签。属性 spring.cloud.application.guid 可用于追溯生成指标的特定应用程序实例。
这是否意味着我需要自己专门将这些属性添加到我所有指标的标签中?我知道我可以通过让 BeanMeterRegistryCustomizer
返回以下内容来做到这一点:registry -> registry.config().commonTags(tags)
使用标签作为 SCDF 通常为integration
指标设置的属性。还是 SCDF 将属性添加到所有指标?
谢谢 !
spring - 千分尺发送指标为零 - Spring Boot
我正在使用 Spring Boot 2 + Influx + Spring AOP 在我的系统中收集指标。
所以我有:
我有一个类可以收集这些指标并发送给 influx,请参阅:
当我向 influx 发送一些值时,效果很好,但是 spring 在未经我许可的情况下继续发送“零值”,填充我的 influx 数据库。所以我的 influxDB 显示如下:
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 - 无法让弹簧启动执行器公开默认端点以外的端点,需要建议
我有一个打包为.war
文件并在 Wildfly 实例上运行的 Spring Boot 应用程序。
我最近刚刚将micrometer
andactuator
依赖项添加到我的 pom 文件中:
当我将应用程序部署到 wildfly 并且它启动并运行时,我可以访问默认端点/info
,并且/health
在以下 url 上没有任何问题:
但无论我做什么,我都无法访问/actuator
或任何其他端点。
我目前正在使用将自定义属性映射到我的应用程序中的 Config 类的外部配置文件。该配置文件还包含未映射到配置类的 Spring Boot 属性:
这些参数由弹簧靴拾取,没有任何问题。
我还在同一个文件中添加了以下执行器属性:
这些属性没有区别,我只能访问/info
和/health
我错过了什么?
编辑:此应用程序中当前没有安全模块。
prometheus - 使用 prometheus 按异常计数列出前 K 个端点
我正在使用 spring boot 2.x 并使用千分尺将入站 http 请求指标记录到 PrometheusMeterRegistry。
Spring Boot 指标执行器端点显示的指标如下
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v2/endpoint1",} 272.0
http_server_requests_seconds_count{exception="SomeException",method="GET",status="400",uri="/v2/endpoint1",} 8.0
http_server_requests_seconds_count{exception="SomeOtherException",method="GET",status="422",uri="/v2/endpoint1",} 5.0
http_server_requests_seconds_count{exception="None",method="GET",status="200",uri="/v2/endpoint2",} 472.0
http_server_requests_seconds_count{exception="SomeException",method="GET",status="400",uri="/v2/endpoint2",} 11.0
http_server_requests_seconds_count{exception="SomeOtherException",method="GET",status="422",uri="/v2/endpoint2",} 7.0
我对以下结果感兴趣
输出:(最后 x 分钟前 10 名)
我尝试使用类似于下面的计数功能。但是它不允许我提供时间范围。我无法按照我上面提到的方式让它工作。感谢您对此的任何帮助。