简介
strong-express-metrics
是一个用于监控 Node.js 应用程序性能指标的 npm 包。该包提供了一个中间件,可以轻松地将关键性能指标暴露给 Prometheus 或其他度量系统。
在本文中,我们将介绍如何使用 strong-express-metrics
监控 Node.js 应用程序的性能指标,并演示如何在 Prometheus 中可视化这些指标。
安装
您可以使用 npm 包管理器安装 strong-express-metrics
包:
--- ------- ---------------------- ------
集成
为了使用 strong-express-metrics
包,您需要将其作为 Express 应用程序的中间件集成。请按照以下步骤操作:
引入 npm 包和
express
模块:----- ------- - ------------------- ----- ----------------- - ----------------------------------
创建一个 Express 实例:
----- --- - ----------
使用
metricsMiddleware
中间件:--------------------------- ---------------------- ----- ----------------------- ----- ---- -- ----- --------------------- ----- ----- ----- ------- ---------------------- ----- ----- ----- ------ ----
启动 Express 应用程序:
----- ------ - ---------------- -- -- - ------------------- ------- -- ---- --------------------------- ---
这将在 Express
应用程序中启用 strong-express-metrics
中间件。现在,您可以使用 Prometheus 或其他度量系统来监控性能指标。
Prometheus 可视化
为了可视化由 strong-express-metrics
暴露的指标,您需要在 Prometheus 配置文件中添加以下内容:
--------------- - --------- --------------- --------------- - -------- ------------------ ------------- ----------
这将告诉 Prometheus 在 http://localhost:3000/metrics
上找到 my-nodejs-app
的指标。请确保此 URL 与您在 Express
应用程序中设置的 URL 匹配。
现在,在 Prometheus
界面上导航到 Graph
标签,并执行以下操作:
在查询编辑器中输入以下查询:
---------------------------------------------
单击
Execute
按钮以查看请求持续时间的总和。这将显示过去一分钟内处理的所有请求的总数。
在查询编辑器中输入以下查询:
------------------------ ---------------------------------------------- -- -----
单击
Execute
按钮以查看请求持续时间的 95th 百分位数。这将显示过去五分钟内处理的所有请求的持续时间的 95th 百分位数。
示例代码
下面是一个使用 strong-express-metrics
的示例 Express 应用程序:
----- ------- - ------------------- ----- ----------------- - ---------------------------------- ----- --- - ---------- --------------------------- ---------------------- ----- ----------------------- ----- ---- -- ----- --------------------- ----- ----- ----- ------- ---------------------- ----- ----- ----- ------ ---- ------------ ----- ---- -- - --------------- --------- --- ----- ------ - ---------------- -- -- - ------------------- ------- -- ---- --------------------------- ---
结论
在本文中,我们介
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/53669