Como configurar logs centralizados para facilitar a depuração de uma aplicação no VPS
Oi, tudo bem? Aqui é a Sensei da GeHost 🧘♀️ Hoje vamos falar de um hábito que separa quem "acha" que sabe o que está acontecendo no servidor de quem realmente sabe: centralizar os logs da sua aplicação. Parece coisa de gente avançada, mas prometo que dá pra entender com calma, sem sofrimento.
Log é a "caixa-preta" da sua aplicação. Quando algo dá errado, é ele quem conta a história do que aconteceu — se você souber onde procurar.
Por que centralizar os logs?
Numa aplicação real, você normalmente tem vários "pedaços" gerando informação ao mesmo tempo: o sistema operacional, o servidor web (Nginx/Apache), o banco de dados e a sua própria aplicação (Node, Python, PHP, etc). Se cada um grava em um lugar diferente, na hora de investigar um erro você fica caçando arquivo por arquivo — perde tempo e, pior, pode não achar a causa. Centralizar significa reunir tudo (ou pelo menos apontar tudo) num único lugar organizado, fácil de acompanhar.
O que você precisa antes de começar
- Acesso SSH ao seu VPS (usuário com permissão de administrador/sudo).
- Saber, mesmo que por cima, qual tecnologia roda sua aplicação (Node.js, Python, PHP, etc.) e como ela hoje registra seus logs.
- Um pouco de paciência — vamos fazer passo a passo, sem pressa.
Se você não tem certeza de algum desses pontos (por exemplo, qual sistema operacional roda no seu VPS), não chute: abra um chamado com o suporte da GeHost antes de mexer em qualquer configuração.
Passo 1 — Mapeie onde cada log já vive hoje
Antes de organizar a bagunça, você precisa saber onde ela está. Conecte no VPS via SSH e dê uma olhada nos lugares mais comuns:
- Logs do sistema operacional: geralmente em
/var/log/(ex.:/var/log/syslogou, em distribuições que usam systemd, viajournalctl). - Logs do servidor web: normalmente em
/var/log/nginx/ou/var/log/apache2/, com um arquivo de acesso e outro de erro. - Logs da sua aplicação: variam bastante — pode ser um arquivo que o próprio código gera, ou pode estar apenas saindo no terminal (stdout/stderr), sem ficar salvo em lugar nenhum.
Anote (num bloco de notas mesmo) cada caminho encontrado. Esse mapa é a base de tudo o que vem a seguir.
Passo 2 — Crie uma pasta central para os logs da aplicação
Uma prática simples e eficiente é criar uma pasta só para os logs da sua aplicação, separada dos logs do sistema. Por exemplo:
sudo mkdir -p /var/log/minha-aplicacao sudo chown seu_usuario:seu_usuario /var/log/minha-aplicacao
Troque minha-aplicacao e seu_usuario pelos nomes reais do seu projeto e do usuário que roda a aplicação no VPS. A ideia é ter um endereço fixo, fácil de lembrar, onde tudo relacionado ao seu sistema vai parar.
Passo 3 — Direcione a aplicação para gravar ali
Aqui depende da tecnologia que você usa, mas o princípio é sempre o mesmo: fazer a saída de log (o que hoje aparece "solto" no terminal) ser gravada em arquivo, dentro da pasta que você criou. Alguns caminhos comuns:
- Node.js: se você usa um gerenciador de processos como o PM2, ele já tem opção nativa de definir onde salvar os logs de saída e de erro.
- Python: configure o módulo de logging da própria linguagem apontando o
FileHandlerpara o caminho da pasta central. - PHP: ajuste a diretiva de log de erros no arquivo de configuração do PHP (ou do seu framework) para o mesmo caminho.
- Aplicação rodando via serviço systemd: os logs já vão automaticamente para o
journalctl— você pode redirecioná-los também para um arquivo com um redirecionamento simples no próprio arquivo de serviço.
Se você não tiver segurança pra mexer nisso sozinho, tudo bem — pode pedir orientação ao suporte da GeHost ou, se preferir uma mão mais técnica na configuração, considerar nosso serviço de desenvolvimento web.
Passo 4 — Centralize também os logs do sistema com o rsyslog
A maioria dos VPS Linux já vem com o rsyslog (ou similar) instalado, responsável por organizar os logs do sistema operacional. Ele pode ser configurado para também receber e organizar os logs de outras aplicações num único lugar, facilitando ainda mais a vida na hora de investigar um problema. Isso é um ajuste mais técnico — se quiser ir por esse caminho, vale conversar com o suporte antes de alterar arquivos de configuração do sistema.
Passo 5 — Configure a rotação de logs (logrotate)
Log que cresce sem parar pode acabar lotando o disco do seu VPS — e disco cheio derruba aplicação. Por isso, é essencial configurar a rotação, ou seja, fazer o sistema arquivar/compactar logs antigos automaticamente e apagar os muito velhos. A ferramenta padrão pra isso no Linux é o logrotate. Um exemplo simples de configuração para a sua pasta central:
/var/log/minha-aplicacao/*.log {
daily
rotate 14
compress
missingok
notifempty
}
Isso diz: gire os logs todo dia, guarde as últimas 14 rotações, compacte as antigas e não reclame se o arquivo não existir. Ajuste os números conforme o espaço em disco do seu plano.
Dica da Sensei: log sem rotação é uma bomba-relógio silenciosa. Configure isso já no início do projeto, não espere o disco encher pra lembrar.
Passo 6 — Aprenda a acompanhar tudo em tempo real
Com os logs organizados, acompanhar um problema acontecendo fica muito mais simples. Alguns comandos que valem ouro no dia a dia:
tail -f /var/log/minha-aplicacao/app.log— acompanha o log em tempo real, linha por linha.journalctl -u nome-do-servico -f— acompanha em tempo real um serviço gerenciado pelo systemd.grep "erro" /var/log/minha-aplicacao/app.log— filtra rapidamente por uma palavra-chave dentro do log.
Passo 7 (opcional, para quem quer ir além)
Se sua aplicação crescer e os logs ficarem volumosos, existem ferramentas de agregação de logs (como Grafana Loki, ELK Stack, entre outras) que centralizam tudo numa interface visual, com busca e alertas. É um passo mais avançado — vale considerar quando o projeto já tiver um volume de tráfego relevante. Se chegar nesse ponto, fale com a gente: podemos te orientar sobre o melhor caminho para o seu cenário.
Passo 8 — Teste antes de confiar
Depois de tudo configurado, force um erro proposital na aplicação (por exemplo, acesse uma rota que não existe) e confira se ele aparece corretinho na sua pasta central de logs. Só considere o trabalho concluído quando você conseguir ver, num único lugar, o que está acontecendo com sua aplicação.
Precisa de ajuda?
Se travar em qualquer passo, não sofra sozinho — conte com o suporte da GeHost. E lembre: todo serviço entregue pela nossa equipe já inclui 30 dias de suporte gratuito após a entrega. Acompanhe seus serviços e fale com a gente pelo painel.gehost.com.br.
Um abraço e até o próximo guia! 🌱
— Sensei, da GeHost