【问题标题】:Start prometheus within spring application在 spring 应用程序中启动 prometheus
【发布时间】:2020-05-19 15:06:03
【问题描述】:

我是 micrometer 和 Prometheus 的新手,我只使用 dropwizards 指标。这让我有点困扰,我实际上需要启动并运行 3 个不同的实例才能查看指标

  • 带有千分尺的 Spring Boot 应用程序本身
  • Prometheus 用于指标聚合
  • 还有用于可视化的 grafana。

使用 dropwizard,我可以立即公开汇总指标。

这就是为什么我很好奇是否可以将 Prometheus 与我的 Spring Boot 应用程序一起启动以立即公开很好的聚合数据。到目前为止我找不到任何有用的东西,所以我希望这里的人可以帮助我。

【问题讨论】:

  • 你只有一个 Spring Boot 应用程序吗?您对哪种指标感兴趣?
  • 是的,一个应用程序。我需要一个简单计数器的时间聚合值,例如“过去 5 分钟内失败的请求数”。
  • Prometheus 和我的 Spring Boot 应用程序是什么意思?都作为单个应用程序?
  • 是的,在最好的情况下两者都作为一个应用程序。如果这不可能,也许可以配置 spring 项目,使其在启动时也启动一个 prometheus 实例?

标签: java spring-boot prometheus metrics micrometer


【解决方案1】:

欢迎使用微服务。 Prometheus 是用 Go 编写的,因此 Java 将无法启动它,尽管您可以使用类似 TestContainers(用于启动 Docker 容器的 Java 库)来为您启动 Prometheus 实例。

如果您不想要 Prometheus 本身,您可以启动 SimpleMeterRegistryLoggingMeterRegistry 在您的应用程序中执行一些轻量级聚合(您可能需要扩展它们以获得您正在寻找的内容)。

甚至还有一个基于 DropWizard 的注册表,但我没有玩过那个。

【讨论】:

    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 2021-11-25
    • 2016-09-10
    • 2020-01-16
    • 2022-10-20
    • 2020-05-21
    • 2017-10-07
    • 2021-08-25
    相关资源
    最近更新 更多