PM2 — Überwachung von JavaScript-Anwendungen (Node.js)

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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 pm2

Die 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 monit

Das 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.

Empfehlungen