PM2 — जावास्क्रिप्ट (Node.js) अनुप्रयोगों की निगरानी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PM2 क्या है?

PM2 (Process Manager 2) Node.js अनुप्रयोगों के लिए एक शक्तिशाली प्रक्रिया प्रबंधक है। यह न केवल अनुप्रयोगों को शुरू और पुनरारंभ करता है, बल्कि प्रदर्शन की निगरानी, क्लस्टरिंग प्रबंधन और रीयल-टाइम मेट्रिक्स एकत्र करने के लिए अंतर्निहित उपकरण भी प्रदान करता है।

PM2 की आवश्यकता क्यों है?

Node.js पर production-एप्लिकेशन तैनात करते समय, कई कार्य उत्पन्न होते हैं: विफलता पर स्वचालित पुनरारंभ, CPU कोर के बीच लोड संतुलन, लॉग देखना और मेमोरी/CPU उपयोग पर नज़र रखना। PM2 इन सभी कार्यों को बॉक्स से बाहर हल करता है, कई टूल्स (nodemon, forever, cluster) की जगह लेता है।

स्थापना

npm install -g pm2

ग्लोबल इंस्टॉलेशन आपको सिस्टम में कहीं से भी PM2 चलाने की अनुमति देता है।

निगरानी के मुख्य कार्य

  • pm2 list — PID, स्थिति, मेमोरी और CPU खपत के साथ सभी चल रही प्रक्रियाओं को प्रदर्शित करता है।
  • pm2 monit — एक इंटरैक्टिव टर्मिनल मॉनिटर, जो रीयल-टाइम में प्रत्येक प्रक्रिया के मेट्रिक्स दिखाता है।
  • pm2 show <id> — किसी विशिष्ट प्रक्रिया के बारे में विस्तृत जानकारी: अपटाइम, रीस्टार्ट की संख्या, Node.js संस्करण, पर्यावरण चर।
  • pm2 logs — सभी एप्लिकेशन या किसी विशिष्ट प्रक्रिया के संयुक्त लॉग देखना।
  • pm2 status — सभी एप्लिकेशन की संक्षिप्त स्थिति।

कोड उदाहरण (Node.js)

एक फ़ाइल app.js बनाएं:

const http = require('http');const server = http.createServer((req, res) => {  res.writeHead(200, {'Content-Type': 'text/plain'});  res.end('Hello from monitored app!');});server.listen(3000, () => {  console.log('Server running on port 3000');});

निगरानी के साथ चलाएं:

pm2 start app.js --name my-app --watchpm2 monit

फ़्लैग --watch फ़ाइलों में बदलाव होने पर एप्लिकेशन को स्वचालित रूप से पुनरारंभ करता है। कमांड pm2 monit एक पैनल खोलेगा जहां आप CPU लोड, मेमोरी, अनुरोधों की संख्या और अपटाइम देखेंगे।

कब उपयोग करें

PM2 production-वातावरण के लिए आदर्श है: वेब सर्वर (Express, Koa), API-सेवाएं, बॉट, माइक्रोसर्विसेज। यह अपरिहार्य है जब आपको आवश्यकता हो:

  • एप्लिकेशन का 24/7 संचालन सुनिश्चित करना
  • विफलता के बाद स्वचालित रूप से पुनरारंभ करना
  • एप्लिकेशन को सभी प्रोसेसर कोर पर स्केल करना
  • आगे के विश्लेषण के लिए मेट्रिक्स एकत्र करना
  • केंद्रीय रूप से लॉग प्रबंधित करना

PM2 एक बार उपयोग होने वाली स्क्रिप्ट या स्थानीय विकास के लिए उपयुक्त नहीं है (इसके लिए nodemon बेहतर है)।

निष्कर्ष

PM2 Node.js एप्लिकेशन की निगरानी के लिए डी-फैक्टो मानक है। इसे स्थापित करना आसान है, यह मेट्रिक्स का एक समृद्ध सेट प्रदान करता है, और (प्लगइन्स के माध्यम से) अलर्ट सिस्टम के साथ आसानी से एकीकृत होता है। अपने एप्लिकेशन के स्वास्थ्य को रीयल-टाइम में देखने के लिए pm2 monit से शुरुआत करें।

अनुशंसाएँ