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

时间:2018-12-14 10:07:14

标签: spring-boot influxdb prometheus micrometer spring-micrometer

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

我们对千分尺的依赖性是

  • micrometer-core
  • micrometer-registry-prometheus

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

从我们的Prometheus抓取工具中,我可以看到这些指标是针对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-measurements, 因此我无法在InfluxDB中实现该功能。

我是否需要在Spring Boot组件中提供对此延迟指标的自己的实现,还是他们可以更轻松地实现这一目标的方法?

1 个答案:

答案 0 :(得分:0)

您基本上可以在Kapacitor中加入测量数据,Kapacitor是Influxdata TICK堆栈的另一个组件。

使用JoinNode将会非常简单,可能随后是Eval来计算您想要的正确位置。文档中有大量的示例。

尽管那里的问题有所不同:您不必要过度采用您的解决方案,而且-您正试图合并具有相同用途但使用不同的两种产品强>方法。那有多聪明?

您已经在用Prometheus抓东西了吗?精细!坚持下去,在那儿做数学,这很简单。 Grafana也可以与Prometheus一起使用,即开即用!

您想在Influx中存储数据(我可以理解,它肯定更高级)? 精细!千分尺可以直接将其发送到Influx,并且至少有两种方式!

我个人而言,看不出有什么理由可以做你想做的事,可以分享一个吗?