You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service上Node.js应用崩溃邮件通知方案咨询

解决方案:Azure App Service Node.js应用崩溃邮件通知

Azure原生简单方案(低成本/免费)

1. Azure Monitor 指标警报

  • 进入你的App Service资源,依次点击「监控」→「警报」→「创建警报规则」
  • 信号选择:在"信号名称"里选「进程退出」(对应Node.js应用崩溃后的进程终止事件),或者选择「异常率」指标
  • 阈值配置:设置触发条件,比如"过去5分钟内进程退出次数 ≥1"
  • 动作组:新建动作组,选择「电子邮件/短信/推送/语音」,添加收件邮箱,免费层的Azure Monitor提供一定额度的免费警报通知

2. 健康检查 + 警报

  • 先在Node.js应用中添加一个健康检查端点,比如:
    app.get('/health', (req, res) => {
      res.status(200).send('OK');
    });
    
  • 进入App Service的「监测」→「健康检查」,启用健康检查并填写刚才的/health端点
  • 创建警报规则,选择信号为「健康检查状态」,设置"失败次数 ≥1"的阈值,关联之前的邮件动作组,当应用崩溃导致健康检查失败时触发通知

3. 日志查询警报(更精准)

  • 开启App Service的日志记录:进入「监测」→「诊断设置」,将日志发送到Log Analytics工作区(免费层有额度)
  • 在Log Analytics中编写查询规则,比如捕获Node.js未处理异常:
    AppServiceConsoleLogs 
    | where Message contains "uncaughtException" or Message contains "fatal error"
    | where TimeGenerated > ago(5m)
    
  • 基于这个查询创建警报,当返回结果数大于0时触发邮件通知

免费第三方方案

1. PM2 + 邮件通知

  • 在App Service中用PM2管理Node.js进程:将启动命令改为pm2 start app.js --no-daemon
  • 安装PM2通知插件:npm install pm2-notify
  • 在PM2配置文件(ecosystem.config.js)中配置SMTP信息:
    module.exports = {
      apps: [{
        name: 'your-app',
        script: 'app.js'
      }],
      notify: {
        email: {
          from: 'your-alert-email@example.com',
          to: 'your-receive-email@example.com',
          service: 'gmail',
          auth: {
            user: 'your-alert-email@example.com',
            pass: 'your-app-password'
          }
        }
      }
    };
    
  • 当PM2检测到进程崩溃重启时,会自动发送邮件通知

2. Sentry免费版

  • 在Sentry官网注册免费账户,创建Node.js项目,获取DSN
  • 在Node.js应用中集成Sentry:
    const Sentry = require('@sentry/node');
    
    Sentry.init({
      dsn: 'your-sentry-dsn',
      tracesSampleRate: 1.0,
    });
    
    // 捕获未处理异常
    process.on('uncaughtException', (err) => {
      Sentry.captureException(err);
      process.exit(1);
    });
    
  • 在Sentry项目的「Alerts」设置中添加邮件通知规则,当捕获到崩溃异常时自动发送邮件

内容的提问来源于stack exchange,提问作者Jess

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:01:19