Brakes-prometheus 是一个基于 brakes 的库,可以将 brakes 的熔断指标指标导出为 Prometheus 格式。本文介绍了 brakes-prometheus 的使用方法。
安装
首先,要先安装父级依赖 brakes,可以通过 npm 安装:
npm install brakes
然后,安装 brakes-prometheus:
npm install brakes-prometheus
使用
在安装完成后,使用 brakes-prometheus 很简单。先引入 brakes-prometheus,然后将其传递给 brakes 的原型上的统计选项。
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---------- - ----------------------------- ----- ----------- - - ------------- ----- -------------------- ----- ---------------- ----- --------------- ----- ---------------- ----- --------------- ----- ------------ ----- ------------------ ----- ------------ ----- -------------- ----- -- ----- ------- - -------- ----- --------------- -------- ----- ------ ------------- ------- ----- ---------------- -- --------------------------- ----- ----------- ------------------------ ---
在上述代码中,我们创建了一个新的 brakes 对象,它被称为 test-circuit
。我们将选项对象传递给 brakes 的统计选项,其中包括所有要收集的指标。
上述代码将 brakes 暴露为 test-circuit
(在 name
中),并将该熔断器对象附加到定义为 test-group
的分组中。也可以不指定组。
Prometheus Exporter
此时,可以单独启动 Prometheus exporter,以便 Prometheus 能够从该统计数据中读取熔断器指标:
-- -------------------- ---- ------- ----- ---------- - ----------------------- ----- ---- - ---------------- ----- ---- - -------------------- ----- -------- - ----- ----- ------ - -------------------------- ----- ---- - -- -------- --- ----------- - ----------------------------- -------------- ------------------------ - ---- - -------------- - ---- ---------- - --- ----------------------- -------- -- - ----------------------- -------- --------- -- ------------------ - ---------- ---
上述代码创建了一个 HTTP 服务器,将 Prometheus 格式的指标数据公开为一个在 7777
端口上的启动 endpoint。
示例
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---------- - ----------------------------- ----- ---------- - ----------------------- ----- ---- - ---------------- ----- ---- - -------------------- ----- -------- - ----- ----- ------ - -------------------------- ----- ---- - -- -------- --- ----------- - ----------------------------- -------------- ------------------------ - ---- - -------------- - ---- ---------- - --- ----------------------- -------- -- - ----------------------- -------- --------- -- ------------------ - ---------- --- ----- ----------- - - ------------- ----- -------------------- ----- ---------------- ----- --------------- ----- ---------------- ----- --------------- ----- ------------ ----- ------------------ ----- ------------ ----- -------------- ----- -- ----- ------- - -------- ----- --------------- -------- ----- ------- ----- ---------------- -- --------------------------- ----- ----------- ------------------------ --- ------------------- -- - --------------------- ----------- --- --------------- -- - ----------------- ----------- --- ---------------------- ---------- -- - --------------------- ------------------------------ ---
上述代码启动了一个 HTTP 服务,将 Prometheus 指标导出为纯文本并将其公开在 http://localhost:7777/metrics
上。接下来,它创建了一个名为 test-circuit
的新熔断器,并将 Prometheus 导出器绑定到其上。最后,我们注册了一些函数以增加此电路的一些用法。
在这个例子里,fallback
是在断路器打开时调用的函数。exec
是当断路器关闭时执行的方法。在每个周期结束时,我们都会记录一个 snapshot
,其中包含电路的当时状态。
总结
本文介绍了如何使用 brakes-prometheus npm 包,将 brake 的熔断指标导出为 Prometheus 格式。通过这个 npm 包的使用,可以更加了解熔断器的状态并进行监测和改进,这对于提高应用程序的可靠性、可维护性以及工作效率都有很大的指导意义。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c84ccdc64669dde4e62