Dois gráficos em direto do monitor: a carga de CPU dos últimos três minutos em ciano, e o download e upload de rede em ciano e rosa, sobre um fundo quase preto.

Estudo de caso Personal project

Um monitor de sistema local que mostra para onde os seus programas estão a enviar dados.

Cliente
Personal project
Tipo
Utilitário de sistema
Papel
Design & desenvolvimento
Ano
2026

Um monitor de sistema pessoal para Linux: um único motor de recolha em Python por detrás de duas interfaces, um painel de terminal em ecrã inteiro e uma página web local, que cobrem CPU, memória, discos, rede, processos e as ligações ativas que cada programa mantém abertas.

Saber o que o computador está a fazer neste momento costuma obrigar a saltar entre top, ss, df e um monitor de sistema do ambiente de trabalho. Nenhum deles responde, num só sítio, a que programa está a usar a máquina e com quem está a falar cada uma das suas ligações.

Um motor de recolha pequeno, duas faces. Um coletor partilhado lê o sistema inteiro com psutil, e tanto o painel de terminal como a página web apresentam o mesmo snapshot. Só corre quando é chamado: sem daemon, sem serviço em segundo plano, e o servidor web escuta apenas em localhost.

O que foi de facto construído

  1. 01

    Um coletor partilhado assente em psutil: CPU por núcleo, memória e swap, utilização e I/O de disco, débitos de rede, todos os processos e todas as ligações estabelecidas, reunidos num único snapshot.

  2. 02

    Um painel de terminal com Rich: vista em direto em ecrã inteiro, ordenação por CPU ou memória a partir do teclado, um modo de execução única e um registo opcional em JSON Lines.

  3. 03

    Uma interface web sobre o servidor HTTP da biblioteca padrão do Python, limitada a localhost: uma thread de amostragem guarda cerca de três minutos de histórico, a página consulta um único endpoint JSON e um botão encerra o servidor.

  4. 04

    Um front-end sem dependências nem passo de build, em HTML, CSS e JavaScript simples: indicadores desenhados com conic gradients, gráficos SVG escritos à mão, tabelas com pesquisa e ordenação, temas claro e escuro, e DNS inverso resolvido em segundo plano para que nenhuma consulta bloqueie a atualização.

Tecnologia

  • Python
  • psutil
  • Rich
  • JavaScript
  • HTML
  • CSS
  • SVG

Uma ferramenta pessoal funcional, que corre localmente em Linux e é iniciada a pedido. Não foi empacotada nem publicada.

Projeto seguinteThe ChefThe Chef Churrascaria Recife · Site de restaurante & sistema de pedidos