运维监控

Node.js 定时任务触发语音告警:监控联动实战

文章详情

场景:监控联动语音告警 监控发现服务异常、接口超时或磁盘告警时,需要第一时间电话通知值班人。短信易被忽略,语音能直接拨通到人。用定时任务轮询指标,触发时调用语音接口形成告警闭环。 一、定时任务与接口调用 const https=requir…

场景:监控联动语音告警

监控发现服务异常、接口超时或磁盘告警时,需要第一时间电话通知值班人。短信易被忽略,语音能直接拨通到人。用定时任务轮询指标,触发时调用语音接口形成告警闭环。

一、定时任务与接口调用

const https=require('https'),qs=require('querystring');
function callVoice(mobile,content){
 const post=qs.stringify({account:process.env.IHY_ACCOUNT,
  password:process.env.IHY_KEY,mobile,content});
 const req=https.request({hostname:'api.ihuyi.com',
  path:'/voice/vm',method:'POST',
  headers:{'Content-Type':'application/x-www-form-urlencoded'}},
  r=>{let b='';r.on('data',d=>b+=d);r.on('end',()=>console.log(b))});
 req.end(post);
}
setInterval(()=>{if(checkAlert())callVoice('13800138000','服务异常请处理');},60000);

二、告警策略设计

  • 用 setInterval 或 node-cron 按周期检查监控指标;
  • 设告警阈值与静默时间,避免同一问题重复拨打;
  • code 为 2 表示受理成功,否则记录错误并重试;
  • 未接听可开启失败自动补呼,自定义次数与间隔;
  • 语音加短信双呼,到达率可达 95% 以上。

三、上线建议

  1. 凭证放环境变量,不要提交到代码仓库;
  2. 对告警频次限频,防止频繁外呼;
  3. 记录通话时长复盘响应时效。

Node.js DEMO 见代码示例页面,参数见接口文档

立即开始使用语音通知 API

注册送10条调试额度 · 3分钟快速接入 · 免费技术支持