مانیتورینگ NodeJS با استفاده از PM2-سری اول


مدیریت برنامه های nodejs در حالی که بر روی سرور قرار داده شده اند بخشی از روند توسعه این برنامه ها محسوب می شود. این موضوع از اهمیت زیادی برخوردار است و دلیل آن این است که اگر مشکل خاصی در برنامه شما وجود داشته باشد این مشکل می تواند تاثیر مستقیم روی کاربری که از برنامه استفاده می کند داشته باشد. در این مقاله به بررسی چگونگی آنالیز سرور و برنامه های nodejs که بر روی آن قرار گرفته اند با استفاده از ابزار pm2 و ساختار keymetrics می پردازیم.
PM2 چیست ؟
PM2 یک process manager برای برنامه های nodejs است و می تواند به عنوان یک load balancer عمل کند و با کمک آن اطمینان حاصل کنیم که برنامه به درستی برای کاربر نهایی اجرا می شود.
نصب PM2 :
نصب PM2 و یا هر ماژول دیگری که از طریق NPM نصب می شود به سادگی دستور زیر است :
1 |
npm install -g pm2@latest |
فقط باید دقت کنید که این ماژول را به صورت گلوبال نصب کنید. که g- در دستور بالا به همین دلیل قرار داده شده است. اگر از سیستم عامل مک و یا لینوکس استفاده می کنید از sudo برای نصب ماوژل استفاده کنید.
آماده سازی nodejs :
قبل از هرکاری باید فایل package.json را به دایرکتوری پروژه اضافه کنید دستور npm init این کار را برای شما انجام خواهد داد
فایل package.json :
1 2 3 4 5 6 7 8 9 10 11 |
{ "name": "pm2demo", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" } |
نصب فریمورک express با استفاده از دستور زیر :
1 |
npm install --save express |
زمانی که کانفیگ وب سرور را انجام دادید می توانید از دستور npm start و یا node استفاده کرده و برنامه را اجرا کنید پس با توجه به کد زیر وب سرور را ایجاد نمایید.
فایل app.js :
1 2 3 4 5 6 7 8 9 10 11 |
var express = require('express'); var app = express(); var router = express.Router(); router.get('/',function(req,res) { res.send("Hello World"); }); app.use('/',router); app.listen(3000); |
برای اجرای این وب سرور به جای استفاده از دستوراتی که در بالا ذکر شد از pm2 استفاده می کنیم تا بتوانیم به راحتی بر روی فرآیندهایی که انجام می شود monitoring را اعمال کنیم.
1 |
pm2 start app.js |
1 |
pm2 status |
با این شرایط اگر در برنامه شما اشتباهی رخ دهد و ارور داشته باشید pm2 به صورت اتوماتیک فرآیندها را restart خواهد کرد.به طور مثال سعی کنید روت localhost:300 را فرآخوانی کنید. نتیجه چه خواهد بود؟
برای توقف هر فرآیند باید از دستور زیر استفاده کنید
1 |
pm2 stop <app name> OR <app id> |
و البته برای توقف کامل همه فرآیندها از دستور زیر :
1 |
pm2 stop all |
برای توقف فرآیند monitoring از دستور زیر استفاده کنید در این صورت برنامه از حالت اجرایی PM2 خارج خواهد شد.
1 |
pm2 kill |
اگر می خواهید وضعیت فرآیندهایی که اجرا می شوند را به صورت لحظه ای مشاهده کنید از دستور زیر استفاده کنید. زمانی که فرآیند جدیدی اجرا شود و اتفاق خاصی در برنامه رخ دهد بلافاصله آن را مشاهده خواهید کرد :
1 |
pm2 monit |
برای مطالعه بخش باقیمانده از این نوشته ، مقاله مانیتورینگ NodeJS با استفاده از PM2-سری دوم را مطالعه بفرمایید.همچنین اگر قصد یادگیری node js را دارید، پیشنهاد می کنم آموزش جامع و پروژه محور node js را مطالعه کنید.
مطالب زیر را حتما مطالعه کنید
video streaming در nodejs
بهترین فریمورک های بک اند(Backend) در 2021
استفاده از Socket.IO در NodeJS
استفاده از دیتابیس mysql در nodejs
بهترین زبان برنامه نویسی برای گرفتن شغل
10 کاری که برای اجرای Nodejs بر روی هاست باید انجام دهید-سری دوم
6 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
اگه بخواهیم از نودمون nodemon هم استفاده کنیم باید چجوری استفاده کنیم؟
با تشکر.
سلام
pm2 برای مانیتورینگ تو حالت production هست و realtime کل وضعیت سیستم رو بهتون نشون میده و اما nodemon برای develope
سلام. آیا استفاده از این ابزارهای مونیتورینگ رایگان هستند؟
سلام وقت بخیر
برخی بخش ها که رایگان در اختیارتون قرار میگیره ولی برای دسترسی به برخی بخش ها نیاز هست هزینه پرداخت کنید.
واقعا از مقاله های خوب nodejs تون ممنونم
ممنون مجتبی عزیز ، موفق باشی:)