首页 > 解决方案 > 无法通过 Prom-client 将应用程序数据获取到 prometheus

问题描述

我们正在尝试通过 prom-client 将 node.js 应用程序数据导出到 prometheus。我不是开发人员,但与我一起工作的人分享了这是他实现的代码:

const client = require('prom-client');
// Create a Registry which registers the metrics
const register = new client.Registry();

// Add a default label which is added to all metrics
register.setDefaultLabels({
  app: 'example-nodejs-app',
});

@Get('/metrics')
async getMetrics(@Req() req: Request, @Res() res: Response) {
  // res.set('Content-Type', client.register.contentType);
  // return res.send(client.register.metrics());
  res.set('Content-Type', register.contentType);
  const metrics: any = await register.metrics();
  res.send(metrics);
}

我们运行了一个测试,生成了对这个应用程序的 GET 请求,但是我们发现这个请求没有进入'registery'

你能帮我找出问题出在哪里吗?

标签: node.jsprom-client

解决方案


推荐阅读