简介
@dadi/status
是一个 Node.js 模块,可以用于监测服务是否正常运行。它可以通过 HTTP API 或者命令行工具来使用,支持自定义检测项,并且可以生成 HTML 报告以供查看。
安装
你可以使用 npm 来安装 @dadi/status
:
npm i @dadi/status
接着在你的程序中引入它:
const status = require('@dadi/status')
使用
创建检测项
创建检测项需要定义检测项名称和检测函数。当检测项正常时,检测函数需要返回 Promise,否则需要抛出错误。
-- -------------------- ---- ------- ----- - ----------- - - ----------------------- ----- ------------- - ----------------------- -- -- - ------ --- ----------------- ------- -- - -- ----------- -- --- -- ---------------- - ----------------- ----- - ---- - ---------- --------------- --- ------ - -- --
监控服务器
const server = status.createServer({ checks: [checkDatabase], port: 5000 }) server.start()
上述代码中创建了一个服务器实例,并监听 5000 端口,而 checks
则是放置检测项的数组。
HTTP API
GET /api/status
返回一个 JSON 包含每个检测项名称以及它们的执行结果。
{ "database": { "ok": true, "error": null, "message": "Database ok!" } }
GET /api/history
返回一个 JSON 包含检测历史记录。
-- -------------------- ---- ------- - - ------------ --------------------------- ---------- --------------------------- ---------- - ----------- - ----- ----- -------- ----- ---------- --------- ---- - - - -
GET /api/html
返回一个 HTML 报告,包含每个检测项的执行结果以及历史记录。
命令行
npx @dadi/status check
执行所有的检测项。
npx @dadi/status check --name database
只执行名称为 database
的检测项。
示例代码
-- -------------------- ---- ------- ----- ------ - ----------------------- ----- - ----------- - - ------ ----- ------------- - ----------------------- -- -- - ------ --- ----------------- ------- -- - -- ----------- -- --- -- ---------------- - ----------------- ----- - ---- - ---------- --------------- --- ------ - -- -- ----- ------ - --------------------- ------- ---------------- ----- ---- -- --------------
结论
@dadi/status
是一个可靠的工具,可以帮助我们在开发过程中及时监测服务的状态,避免出现故障。它具有简单易用、可自定义、可扩展的特性。
建议开发人员在构建类似于前端页面的的应用时使用该工具,这将有助于提高应用的稳定性和可靠性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/dadi-status