【发布时间】:2019-12-06 16:39:41
【问题描述】:
我需要为 Web 应用程序提供自定义指标。问题是我不能使用 Spring,但我必须使用 jax-rs 端点。要求非常简单。想象一下,您有一个包含键值对的映射,其中键是指标名称,值是一个简单的整数,它是一个计数器。代码是这样的:
public static Map<String, Integer> metrics = Map.of(
"logged_in_users_today", 123
);
@GET
@Path("/metrics/{metricId}")
public Integer getMetric(@PathParam("metricId") String metricId) {
int count = metrics.get(metricId);
return count;
}
但现在我需要使用一些 API 来发布这些指标。我查阅了一些教程,但只能找到使用千分尺注释导出指标的基于 Spring 的演示。我怎样才能以编程方式做到这一点?
【问题讨论】:
-
没有太多 Java 经验,但应该足够简单,可以使用 Java 客户端并使用它注册指标并将其发布到运行的 prometheus 服务器上。 sysdig.com/blog/prometheus-metrics参考这个链接,它有一个java例子
-
我还有一个一般性的问题。我是否需要为要发布的每个指标创建一个端点,还是只有一个端点用于
/metrics? -
您只需要一个端点
/metrics,所有的计数器、仪表等都会发布到该端点,然后服务器会进行必要的聚合以显示一段时间内指标的结果值跨度>
标签: java prometheus