Was ist PM2?
PM2 (Process Manager 2) ist ein leistungsstarker Prozessmanager für Node.js-Anwendungen. Er startet und startet Anwendungen nicht nur neu, sondern bietet auch integrierte Werkzeuge zur Leistungsüberwachung, Clusterverwaltung und Echtzeit-Metrikenerfassung.
Wozu braucht man PM2?
Beim Deployment von Production-Anwendungen mit Node.js treten Aufgaben auf: automatischer Neustart bei Abstürzen, Lastverteilung zwischen CPU-Kernen, Log-Anzeige und Verfolgung der Speicher-/CPU-Nutzung. PM2 löst all diese Aufgaben out-of-the-box und ersetzt dabei mehrere Werkzeuge (nodemon, forever, cluster).
Installation
npm install -g pm2Die globale Installation ermöglicht es, PM2 von überall im System auszuführen.
Hauptfunktionen der Überwachung
- pm2 list — zeigt alle laufenden Prozesse mit PID, Status, Speicher- und CPU-Verbrauch an.
- pm2 monit — interaktiver Terminal-Monitor, der Metriken jedes Prozesses in Echtzeit anzeigt.
- pm2 show <id> — detaillierte Informationen zu einem bestimmten Prozess: Uptime, Anzahl der Neustarts, Node.js-Version, Umgebungsvariablen.
- pm2 logs — Anzeige der zusammengeführten Logs aller Anwendungen oder eines bestimmten Prozesses.
- pm2 status — Kurzstatus aller Anwendungen.
Codebeispiel (Node.js)
Erstellen Sie eine Datei 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');});Starten Sie mit Überwachung:
pm2 start app.js --name my-app --watchpm2 monitDas Flag --watch startet die Anwendung automatisch neu, wenn sich Dateien ändern. Der Befehl pm2 monit öffnet ein Panel, in dem Sie CPU-Auslastung, Speicher, Anzahl der Anfragen und Uptime sehen.
Wann verwenden
PM2 ist ideal für Production-Umgebungen: Webserver (Express, Koa), API-Dienste, Bots, Microservices. Er ist unverzichtbar, wenn man:
- Einen 24/7-Betrieb der Anwendung sicherstellen muss
- Nach einem Absturz automatisch neu starten muss
- Die Anwendung auf alle Prozessorkerne skalieren muss
- Metriken für die weitere Analyse sammeln muss
- Logs zentral verwalten muss
PM2 ist nicht geeignet für einmalige Skripte oder die lokale Entwicklung (dafür ist nodemon besser).
Fazit
PM2 ist der De-facto-Standard für die Überwachung von Node.js-Anwendungen. Er ist einfach zu installieren, bietet einen reichhaltigen Metrikensatz und lässt sich leicht in Benachrichtigungssysteme integrieren (über Plugins). Beginnen Sie mit pm2 monit, um die Gesundheit Ihrer Anwendung in Echtzeit zu sehen.
Auch in der Bibliothek
go-playground/validator | Datenvalidierung in Go
Kryptographie in PHP: Verschlüsselung und Hashing (praktischer Leitfaden)
Detekt für Kotlin: Vollständiges Tutorial mit Beispielen
Arbeiten mit Excel in Swift auf iOS und macOS: Bibliotheken und Beispiele