PM2 — Monitoramento de aplicações JavaScript (Node.js)

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é PM2?

PM2 (Process Manager 2) é um poderoso gerenciador de processos para aplicações Node.js. Ele não apenas inicia e reinicia aplicações, mas também fornece ferramentas integradas para monitoramento de desempenho, gerenciamento de cluster e coleta de métricas em tempo real.

Para que serve o PM2?

Ao implantar aplicações de produção em Node.js, surgem desafios: reinicialização automática em caso de falha, balanceamento de carga entre núcleos de CPU, visualização de logs e rastreamento do uso de memória/CPU. O PM2 resolve todos esses problemas de forma nativa, substituindo várias ferramentas (nodemon, forever, cluster).

Instalação

npm install -g pm2

A instalação global permite executar o PM2 de qualquer lugar no sistema.

Principais funções de monitoramento

  • pm2 list — exibe todos os processos em execução com PID, status, consumo de memória e CPU.
  • pm2 monit — monitor interativo de terminal, mostrando métricas de cada processo em tempo real.
  • pm2 show <id> — informações detalhadas sobre um processo específico: uptime, número de reinicializações, versão do Node.js, variáveis de ambiente.
  • pm2 logs — visualização de logs combinados de todas as aplicações ou de um processo específico.
  • pm2 status — status resumido de todas as aplicações.

Exemplo de código (Node.js)

Crie um arquivo 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');});

Execute com monitoramento:

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

A flag --watch reinicia automaticamente a aplicação quando arquivos são alterados. O comando pm2 monit abrirá um painel onde você verá o uso de CPU, memória, número de requisições e uptime.

Quando usar

O PM2 é ideal para ambientes de produção: servidores web (Express, Koa), serviços de API, bots, microsserviços. Ele é indispensável quando você precisa:

  • Garantir operação 24/7 da aplicação
  • Reiniciar automaticamente após uma falha
  • Escalar a aplicação para todos os núcleos do processador
  • Coletar métricas para análise posterior
  • Gerenciar logs de forma centralizada

O PM2 não é adequado para scripts únicos ou desenvolvimento local (para isso, é melhor usar nodemon).

Conclusão

O PM2 é o padrão de facto para monitoramento de aplicações Node.js. Ele é simples de instalar, oferece um rico conjunto de métricas e se integra facilmente com sistemas de alerta (através de plugins). Comece com pm2 monit para ver a saúde da sua aplicação em tempo real.

Recommendations