问题标签 [prom-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

node.js - Gauge.startTimer 的用途是什么以及如何正确使用它?

据我了解,当计数器 ( or ) 的每次更改以及每次调用or的标签时,Gauge计数器都是一个随时间变化的值,而不会保存在某处。dec(x)inc(y)decinc

如果我错了,请纠正我。

问题

  • 究竟是Gauge.startTimer做什么的?
  • 什么将被发送到普罗米修斯?
  • 什么时候使用它?
  • 它如何在我的应用程序中本地保存数据?
0 投票
1 回答
495 浏览

javascript - 如何在 NodeJS 中一次在多个函数上调用 Prometheus Histogram.observe()

我正在使用 Prometheus 监控 NodeJS 应用程序。

创建这样的直方图

现在我像这样调用 histogram.observe() 来监视对路径的请求'/'

现在的问题是我在 NodesJS 应用程序中有许多其他请求路径,所以为了监视每个请求路径,我是否应该手动编辑每个服务请求的函数。

或者

有没有其他方法可以让我们从外部对每个函数调用 histogram.observe() 而无需手动编辑?

0 投票
2 回答
705 浏览

node.js - Node.js:有没有办法模拟 prometheus pushgateway 服务器?

我正在使用node.jsprom-client尝试将不同的自定义指标推送到Prometheus Pushgateway服务器。

该代码正在运行,现在我正在编写该功能的测试代码。我想知道是否有办法模拟 Prometheus Pushgateway 服务器?

我曾尝试使用普通的 express API 服务器(如下所示)

但它不起作用——当我调用gateway.pushAdd()我的测试代码时,服务器没有收到任何发布消息。

谁能给我一些关于如何做到这一点的提示(模拟普罗米修斯推送网关服务器)?

0 投票
0 回答
251 浏览

javascript - 有没有办法向已经初始化的指标添加新标签?

我正在使用 prom-client npm 包来监控我的应用程序。我在这里读到“所有指标都可以在配置对象中采用 labelNames 属性。指标支持的所有标签名称都需要在此处声明。(在给构造函数的对象中)”。我必须设计一个可编程接口,让您可以定义您希望在时间序列中看到哪些标签。例如你想要sameMetric{label1=value1}sameMetric{label2=value2}。相同的指标,但时间序列有不同的标签

我能想到的唯一可能的解决方案是我必须预先声明每个可能的标签名称,但这不是最好的解决方案,因为它们有很多(会话属性)。

因此,如果您知道更好的解决方案,请告诉我。谢谢

0 投票
0 回答
140 浏览

node.js - 使用 Prometheus 对池进行 Sequelize 监控

我有一个 nodejs 应用程序正在使用sequelizesequelize-pool连接数据库。我正在为这个应用程序启用监控。

我正在使用prom-client和收集一组默认指标,其中包括堆使用情况等。

我还想监控使用的连接、连接超时等指标。我认为我们也许可以插入一个自定义指标来做到这一点。

但是,想知道是否有任何现有的 npm 模块或模式可以在这里利用。

希望对此有任何指示。谢谢!

0 投票
1 回答
529 浏览

node.js - 如何使用路径参数为 url 提取 prometheus 指标

我有一个具有如下 URL 的 Node JS 应用程序:

它在 URL 中动态获取车辆编号。

用于 HTTP 调用的基于 prom-client 的指标 API 将所有 URL 作为单独的 URL 返回,而不是将它们作为单个 URL 并以 vehicleNumber 作为变量。

我想要基于单个 URL 的计数。例如

当 UUID 存在于 URL 中但不存在于 URL 中的车辆编号时,就会发生这种情况。

0 投票
0 回答
104 浏览

node.js - prom-client - `nodejs_eventloop_lag_stddev_seconds` 测量什么?

https://github.com/siimon/prom-client/blob/master/lib/metrics/eventLoopLag.js#L21

平均滞后是0.011165692206748856(秒)。

我是否可以得出以下结论:

  1. 平均而言,服务中的每个功能都有 10 毫秒的延迟?
  2. 平均而言,在 1 秒内,执行了 100 多个函数?

如果我是正确的,并且假设我测量的服务几乎没有做任何事情(NestJs),你会认为这太慢了吗?

0 投票
0 回答
55 浏览

nestjs - 在 Nx NestJS 项目中使用 npm 链接包注册 prom-client 指标

我有一个 Nx NestJS 项目,其中一些库作为 npm 链接包。一种是注册指标并公开端点/指标。在 Nx NestJS 主项目中,我创建了一个新指标,该指标已成功注册,但如果我在链接包中注册,则注册表成功(我可以使用 registry.getSingleMetric() 方法获得)但未在 /metrics 中公开端点。我怎样才能使整个注册过程正常工作?注册过程是通过使用 GraphQL 解析器中的自定义装饰器完成的,如下所示:</p>

我使用的 Prometheus Metrics 控件库的特定是 prom-client

0 投票
2 回答
294 浏览

nestjs - 为什么 prom-client 没有在指标端点中显示已注册的指标?

我刚刚通过打字稿装饰器在 NestJS 应用程序中注册了一些指标。我使用了这个prom-client包,但是虽然我可以记录注册的指标,但端点并没有公开这些指标,而且我用来显示所有指标的 Prometheus docker 实例也没有显示这些指标。

如何在 /metrics 端点和 Prometheus 仪表板中查看已注册的指标?

0 投票
2 回答
950 浏览

node.js - prom-client 在 NodeJS 应用程序中为默认指标返回空对象

我有一个 NodeJS 应用程序,我想公开默认指标。我有以下实现。我正在使用prom-client包。

当我导航到 http://localhost:8080/metrics 时,我得到一个空对象 ( {}) 作为响应。当我检查我的 Prometheus Targets 时,我看到以下错误。

在此处输入图像描述

我新使用来自 npm 的 prom-client。我怎样才能使这项工作?