Node.js 使用饭碗警告五分钟实现电话、短信报警

准备工作

首先注册饭碗警告,点击用户头像,进入「联系方式」页面添加电话、短信或其他联系方式。

新建转发规则

进入「转发规则」页面,点击「+」新建转发规则,配置如下:

Node.js 使用饭碗警告五分钟实现电话、短信报警

如上图所示,我们添加了两个模板变量 briefdetails,分别取 query string 中的同名参数,并在「通知简述」和「通知正文」中通过双大括号的语法使用。

短信和电话只会使用到「通知简述」。

点击「保存」后,可以在「触发」一栏中找到生成的 webhook 链接:

Node.js 使用饭碗警告五分钟实现电话、短信报警

我们可以简单测试这个转发规则,复制请求地址,并在其后加上测试用参数:

# 这里使用的是 curl 命令行工具,也可以直接使用浏览器地址栏。注意替换生成的 token。
curl https://fwalert.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?brief=test%20brief&details=test%20details

不出意外我们就会分别收到来自「饭碗警告」的短信和电话报警了。

在 Node.js 中请求 webhook

本例使用 Node.js 自带的 httpsquerystring 模块处理和发送报警请求:

const HTTPS = require('https');
const QueryString = require('querystring');

const ALERT_URL = 'https://fwalert.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';

function fwAlert(brief, details) {
  // 构建查询字符串
  let query = QueryString.stringify({brief, details});
  // 拼接 FwAlert 触发链接和查询字符串
  let url = `${ALERT_URL}?${query}`;

  return new Promise((resolve, reject) => {
  	HTTPS
      .get(url, resolve)
      .on('error', reject);
  });
}

fwAlert('测试简述', '测试详情');

实际使用中,可以根据需要使用其他库,如 axiosnode-fetch 等。参数也可以通过 HTTP header,JSON、URL-Encoded 的 body 传递,但注意触发配置中需要选择对应来源的模板变量

原文链接

上一篇:Java第九章小结


下一篇:vscode笔记录