球衣应用中的测微仪 Prometheus 指标(非弹簧)

DBS*_*DBS 2 java jersey-2.0 prometheus micrometer

我有一个带有 Jersey REST 端点的 Web 应用程序(war)。我正在与普罗米修斯/千分尺集成以生成指标。我在这里公开了“/metrics”端点

@Path("/metrics")
public class Metrics {
    private static final PrometheusMeterRegistry prometheusRegistry = new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);

    static {
        new JvmGcMetrics().bindTo(prometheusRegistry);
        new JvmMemoryMetrics().bindTo(prometheusRegistry);
        new JvmCompilationMetrics().bindTo(prometheusRegistry);
        new JvmThreadMetrics().bindTo(prometheusRegistry);
    }
    @GET
    public String getMetrics() {
        return prometheusRegistry.scrape();
    }
}
Run Code Online (Sandbox Code Playgroud)

我被困在如何生成 http 请求指标上。我找不到任何与获取这些指标相关的代码。有人可以帮我吗?

mwe*_*uch 5

或者什么checketts建议,你可以利用千分尺的球衣服务器工具甚至对之前存在的1.0.0的形式发布micrometer-jersey2库。您可以在此处找到来源。

您对此的入口点是MetricsApplicationEventListener可以在 Jerseys 中注册的ResourceConfig。例如,您可以查看有关如何完成此操作的测试类

您还可以在此处查看Spring Boot 中如何集成/自动配置它。

最后一个注意事项:Spring Boots 指标名称是http.server.requests(将它们与 HTTP 客户端请求指标区分开来),如果有一天您将迁移到 Spring Boot 或者您的平台已经在运行 Spring Boot 应用程序,那么您的非 Spring Boot HTTP 请求指标将很好地匹配而无需进一步的麻烦。