npm 包 prometheus-plugin-app-info 使用教程

阅读时长 6 分钟读完

简介

对于一个前端应用来说,很多时候我们需要对其进行监控和统计。在这些需求中,Prometheus 是一个备受推崇的数据收集与监控系统。而 prometheus-plugin-app-info 就是一个用来收集前端应用信息并展示在 Prometheus 监控面板中的 npm 包。

在本文中,我们将详细介绍 prometheus-plugin-app-info 的使用方法,包括如何安装、配置与使用,并提供代码示例来帮助读者更好地了解该 npm 包的功能。

安装

使用 npm 安装 prometheus-plugin-app-info:

配置

在使用之前,需要进行一些配置。

首先,需要在 webpack 配置中引入 prometheus-plugin-app-info:

然后,在插件列表中添加 PrometheusPluginAppInfo:

其中,options 是一个配置对象。下面是一个示例:

-- -------------------- ---- -------
-
  ------- -
    -- ----
    -------- ---------
    ----------- --------
    -- ---
  --
  -------- -
    -- -------
    ------------- -----------------------------
    -- ---
  --
  -------------- -
    -- -------
    ---------------
    -- ---
  --
  --------------- -
    -- -------
    ----------
    -- ---
  --
-
  • labels: 标签名称,包括 appName(应用名称)、appVersion(应用版本)等。这些标签将会被用于区分不同应用和版本的数据。
  • metrics: 自定义指标名称。默认的指标名称为 http_requests_total,如需配置可在此处进行设置。
  • excludeRoutes: 排除的路由地址,可以是字符串或正则表达式。匹配的路由不会被记录到 Prometheus 中。
  • excludeMethods: 排除的请求方法,可以是字符串或正则表达式。匹配的请求不会被记录到 Prometheus 中。

使用

在配置完 prometheus-plugin-app-info 后,我们就可以开始使用它来收集前端应用信息并展示在 Prometheus 监控面板中了。

假设我们有一个 Vue.js 应用,在 main.js 中引入 prom-client 并启动 prometheus-plugin-app-info:

-- -------------------- ---- -------
------ - ---------------------- -------- - ---- --------------
------ ----------------------- ---- -----------------------------

----- --- - ---------------
----- ------ - --------------
  -- ---
---

------ -- -- -
  -- -- -----------------------------------
  ----- ---------------- - --- ---------------------------------
  ----- -------------------------

  -- ---------
  ----------------------- -------- ---

  -- ---- ---------- -------
  --------------------------------

  -- - ------ ------------------
  --------------------- ----- -- -
    ----- --------- - ------------
    ----- ------------- - ------
    ----- ---------- - ----

    -- --------
    -------------------------------------- ------ ---------- ------- -------------- ------- ---------- ---------
  ---

  ------------------------------
-----

在上述代码中,我们使用 collectDefaultMetrics() 启动默认指标收集器,并使用 register.metrics() 打印当前 Prometheus 注册表中的指标。可以通过 Prometheus 查询语句来查看这些指标的值。

在 Vue.js 中,我们可以使用 router.afterEach() 监听路由跳转事件,并在回调函数中使用 prometheusPlugin.requestCount.labels().inc() 来记录页面访问指标。其中,routePath 是当前访问路由的路径,requestMethod 是 HTTP 请求方式,statusCode 是 HTTP 状态码。

指标查询

在 Prometheus 服务器中,我们可以使用查询语句来获取 prometheus-plugin-app-info 收集到的指标值。

例如,使用以下查询语句可以获取 my-app 应用中,各个路由的访问次数:

其中,appVersion 为应用版本,route 为路由地址,status 为 HTTP 状态码。

结语

通过上述步骤,我们已经可以使用 prometheus-plugin-app-info 来记录前端应用的基本信息并展示在 Prometheus 监控面板中了。

当然,它的功能不仅如此。除了上述示例中介绍的页面访问信息,它还可以记录更多信息,例如应用启动时间、内存使用情况、CPU 使用情况等等。读者们可以根据自己的需求进行配置和使用,以达到更好的监控效果。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600559e181e8991b448d76a4

纠错
反馈