首页 > 解决方案 > 使用 Spring Boot Micrometer 指标显示 HTTP 请求 API 延迟

问题描述

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

我们的千分尺依赖是

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

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

我从千分尺文档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-bootinfluxdbprometheusmicrometerspring-micrometer

解决方案


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

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

尽管那里的问题有所不同:您不必要地过度设计了您的解决方案,而且 - 您正在尝试组合两种具有相同目的但使用不同方法的产品。这有多聪明?

你已经在用普罗米修斯刮东西了?美好的!坚持下去,在那里做数学,这很简单。Grafana 也可以与 Prometheus 一起使用,开箱即用!

你想把你的数据放在 Influx 中(我可以理解,它肯定更先进)?美好的!千分尺可以直接将其发送到 Influx 开箱即用 - 至少有两种方式!

我个人认为没有任何理由去做你想做的事,你能分享一个吗?


推荐阅读