PM2: Мониторинг и управление приложениями JavaScript

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Что такое PM2?

PM2 (Process Manager 2) — это продвинутый менеджер процессов для приложений Node.js, который предоставляет встроенные возможности мониторинга, автоматического перезапуска и балансировки нагрузки. Он позволяет запускать JavaScript-приложения в production-среде, отслеживать их состояние, собирать метрики производительности и управлять несколькими процессами одновременно.

Зачем нужен мониторинг?

В production-среде критически важно знать, что происходит с приложением: не упало ли оно, не превышает ли потребление памяти, не возникает ли ошибок. PM2 решает эти задачи, предоставляя:

  • Автоматический перезапуск при сбоях
  • Сбор метрик CPU и RAM
  • Логирование stdout/stderr
  • Встроенный веб-интерфейс мониторинга (PM2 Plus)

Установка

Установите PM2 глобально через npm:

npm install -g pm2

Основные функции

  • Запуск приложения: pm2 start app.js
  • Мониторинг в реальном времени: pm2 monit
  • Просмотр списка процессов: pm2 list
  • Логи: pm2 logs
  • Веб-панель: pm2 plus (требуется регистрация)

Пример кода на JavaScript (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 PM2!\n');
});

server.listen(3000, () => {
  console.log('Server running on port 3000');
});

Запустите с мониторингом:

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

Вы увидите в консоли живые графики потребления памяти и CPU, а также количество перезапусков.

Когда использовать

PM2 идеально подходит для:

  • Production-серверов Node.js
  • Микросервисных архитектур
  • Приложений, требующих автоматического восстановления после сбоев
  • Ситуаций, когда нужен простой мониторинг без внешних сервисов

Заключение

PM2 — это must-have инструмент для любого разработчика Node.js, который хочет обеспечить стабильную работу своих приложений. Он прост в установке, не требует сложной настройки и предоставляет все необходимые функции для мониторинга и управления процессами.

Рекомендаций