npm 包 brakes-prometheus 使用教程

阅读时长 6 分钟读完

Brakes-prometheus 是一个基于 brakes 的库,可以将 brakes 的熔断指标指标导出为 Prometheus 格式。本文介绍了 brakes-prometheus 的使用方法。

安装

首先,要先安装父级依赖 brakes,可以通过 npm 安装:

然后,安装 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

纠错
反馈