我在一个相对简单的应用程序中使用 Prometheus 0.6.0 Java 客户端。我只有两个计数器和两个仪表,它们通过 HTTP REST 端点公开,使用内置的 PrometheusHTTPServer
我看到了非常不稳定的行为。
有时,计数器根本不会被注册(例如,在访问 HTTP 端点时从不显示),有时会显示# HELP
and# TYPE
行,但不会显示实际的指标。我可以在我的本地开发盒中看到片状,并在 kubernetes pod 上部署。
为了进一步缩小范围,我有这段代码来初始化计数器。而且我一直在调用counter.inc()
.
Counter counter = Counter.build().name("counter").help(helpText).labelNames(tags).register();
counter.inc();
我用仪表尝试了上述方法,我得到了同样的错误。
对于上下文,这是从ApplicationMetrics
具有以下代码的类中调用的:
public static Counter counter1;
public static Counter counter2;
static void initializeMetrics() {
counter1 = Counter.build().name("counter1").help(helpText1).labelNames(tags1).register();
counter1.inc();
counter2 = Counter.build().name("counter2").help(helpText2).labelNames(tags2).register();
counter2.inc();
}
我正在从start
我的主应用程序启动类中的方法发出静态方法调用。
void start() {
// Initialize stuff for the rest of the app
ApplicationMetrics.initializeMetrics();
}
我对计数器的配置/设置方式做错了吗?我无法在普罗米修斯问题列表中找到任何关于此的内容。