Pm2 event catch



  • cho mình hỏi...mình đang dùng pm2 để manager cái server của mình. Mà mình muốn mỗi lần server autorestart sẽ gửi mail hoặc log ra. Mình tìm mãi chẳng cách nào bắt được sự kiện của nó. Mong các bạn chỉ giúp ạ !!!



  • @Thái-Bình-La : "mỗi lần server autorestart sẽ gửi mail", yêu cầu này thì khó.
    Nhưng để log ra thì dễ, bạn có thể xem error log của pm2. Thông thường nó nằm trong thư mục ~/.pm2.
    Có 1 vài cách để monitor server:

    1. Dùng monitoring tool, đơn giản thì có monit, phức tạp dùng Prometheus
    2. Tự viết logic để send email mỗi lần app start lại


    1. Gởi email khi restart: bạn nhét function gởi mail vào app của bạn, và cứ mỗi lần start thì gởi email là được
    2. hoặc log ra : log ra mà bạn không ngồi trực máy thì cũng như không, sau khi nhận được email thông báo server đã restart bạn có thể vào log pm2 xem thử


  • @Quy-Tran dạ vâng em cám ơn ạ



  • Bạn dùng code này trên 1 con monitor khác, khi có bất cứ pid nào restart là tự động send mail về.:

    pm2.connect(function() {
    pm2.launchBus(function(err, bus) {
    bus.on('process:event', function(data) {
    if (data.event === "exit") {
    sendMail(body);
    }
    });
    });
    });



  • @Quang-Vu-Quang anh có skype or facebook k ạ. cho em kết bạn để trao đổi nha a


Log in to reply