PM2-health: можно ли использовать модуль pm2-health для отправки оповещений / уведомлений по электронной почте? - PullRequest
1 голос
/ 25 февраля 2020

У меня есть приложение nodejs, которое работает на pm2, и мне нужно иметь возможность отправлять уведомления по электронной почте всякий раз, когда происходит сбой / перезапуск. Моя идея состоит в том, чтобы отслеживать приложение на наличие сбоев и запускать действия почты из pm2-health. Документация для модуля pm2-health здесь , но я не могу использовать его для отправки оповещений по электронной почте. Может кто-нибудь объяснить, как использовать его для этой цели? (Я новичок во всем этом, извините, если мой вопрос звучит глупо)

PS: Также было бы здорово, если бы вы могли объяснить настройку SMTP для Gmail. (Я настроил postfix для использования SMTP Gmail в соответствии с на это и работает нормально для тестовой почты, но не работает с pm2-health)

1 Ответ

1 голос
/ 23 апреля 2020

Вот как я могу получить pm2-health, работая с моей учетной записью Gmail:

  1. Установить модуль pm2-health:

pm2 install pm2-health

Открыть файл конфигурации модуля PM2:

vim ~/.pm2/module_conf.json

Обновите его с помощью параметров SMTP учетной записи Gmail:
{
    "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": {}
    }
}
Сохраните и закройте его Перезапустите pm2-health:

pm2 restart pm2-health

Проверьте его, перезапустив один из процессов Node, управляемых PM2. Вы должны получить электронное письмо об этом событии.

...