PM2 — Monitoreo de aplicaciones JavaScript (Node.js)

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course
```html

¿Qué es PM2?

PM2 (Process Manager 2) es un potente administrador de procesos para aplicaciones Node.js. No solo inicia y reinicia aplicaciones, sino que también proporciona herramientas integradas para monitorear el rendimiento, gestionar la agrupación en clústeres y recopilar métricas en tiempo real.

¿Por qué necesitas PM2?

Al implementar aplicaciones de producción en Node.js, surgen tareas: reinicio automático en caso de fallo, equilibrio de carga entre núcleos de CPU, visualización de registros y seguimiento del uso de memoria/CPU. PM2 resuelve todas estas tareas de fábrica, reemplazando varias herramientas (nodemon, forever, cluster).

Instalación

npm install -g pm2

La instalación global permite ejecutar PM2 desde cualquier lugar del sistema.

Funciones principales de monitoreo

  • pm2 list — muestra todos los procesos en ejecución con PID, estado, consumo de memoria y CPU.
  • pm2 monit — monitor interactivo de terminal que muestra métricas de cada proceso en tiempo real.
  • pm2 show <id> — información detallada sobre un proceso específico: uptime, número de reinicios, versión de Node.js, variables de entorno.
  • pm2 logs — visualización de registros combinados de todas las aplicaciones o de un proceso específico.
  • pm2 status — estado resumido de todas las aplicaciones.

Ejemplo de código (Node.js)

Cree un archivo 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');});

Ejecute con monitoreo:

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

La bandera --watch reinicia automáticamente la aplicación cuando los archivos cambian. El comando pm2 monit abrirá un panel donde verá la carga de CPU, memoria, número de solicitudes y uptime.

Cuándo usarlo

PM2 es ideal para entornos de producción: servidores web (Express, Koa), servicios API, bots, microservicios. Es indispensable cuando se necesita:

  • Garantizar el funcionamiento 24/7 de la aplicación
  • Reiniciar automáticamente después de una falla
  • Escalar la aplicación a todos los núcleos del procesador
  • Recopilar métricas para análisis posteriores
  • Gestionar registros de forma centralizada

PM2 no es adecuado para scripts únicos o desarrollo local (para eso es mejor nodemon).

Conclusión

PM2 es el estándar de facto para monitorear aplicaciones Node.js. Es fácil de instalar, proporciona un rico conjunto de métricas y se integra fácilmente con sistemas de alerta (a través de plugins). Comience con pm2 monit para ver la salud de su aplicación en tiempo real.

```

Recommendations