PM2-health : 我可以使用 pm2-health 模块发送电子邮件 alerts/notifications 吗?

PM2-health : can i use pm2-health module for sending email alerts/notifications?

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

P.S:此外,如果您能解释一下 gmail 的 SMTP 配置,那就太好了。(我已经根据 this 配置了 postfix 使用 gmail smtp,它在测试 gmail 时工作正常,但不起作用与 pm2-health)

这就是我如何让 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": {}
    }
}
  1. 保存并关闭它
  2. 重新启动 pm2-health:

pm2 restart pm2-health

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

对于任何尝试使用启用了 2FA 的 Gmail 的人,您需要使用应用程序密码。此处有更多信息:https://support.google.com/accounts/answer/185833