PM2-health :我可以使用 pm2-health 模块发送电子邮件警报/通知吗?

Swe*_*_ba 2 pm2

我有一个在 pm2 上运行的 nodejs 应用程序,我需要能够在发生崩溃/重启时发送电子邮件通知。我的想法是监控应用程序是否崩溃并从 pm2-health 触发邮件操作。pm2-health 模块的文档在这里,但我无法使用它来发送电子邮件警报。谁能解释如何为此目的使用它?

PS:另外,如果你能解释一下 gmail 的 SMTP 配置,那就太好了。(我已经根据这个将 postfix 配置为使用 gmail smtp ,它适用于测试 gmail,但不适用于 pm2-health)

小智 6

这就是我如何让 pm2-health 与我的 Gmail 帐户一起工作:

  1. 安装 pm2-health 模块:

pm2 install pm2-health

  1. 打开 PM2 模块配置文件:

vim ~/.pm2/module_conf.json

  1. 使用 Gmail 帐户的 SMTP 参数更新它:
{
    "pm2-health": {
        "smtp": {
            "host": "smtp.gmail.com",
            "port": 465,
            "user": "EXAMPLE_sender@gmail.com",
            "password": "PASSWORD",
            "secure": true,
            "disabled": false
        },
        "mailTo": "NOTIFICATION_RECIPIENT_EMAIL_ADDRESS",
        "replyTo": "EXAMPLE_SENDER@gmail.com",
        "events": [
            "exit"
        ],
        "exceptions": true,
        "messages": true,
        "messageExcludeExps": [],
        "metric": {},
        "metricIntervalS": 60,
        "aliveTimeoutS": 300,
        "addLogs": false,
        "appsExcluded": [],
        "snapshot": {
            "url": "",
            "token": "",
            "auth": {
                "user": "",
                "password": ""
            },
            "disabled": false
        }
    },
    "module-db-v2": {
        "pm2-health": {}
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 保存并关闭它
  2. 重启pm2-health:

pm2 restart pm2-health

通过重新启动 PM2 管理的 Node 进程之一来测试它。您应该会收到一封关于该事件的电子邮件。