Guia de tecnologias

Monitorar o uso do disco rígido no Ubuntu Server com o CGI Philesight

5 min read Sistemas Atualizado 02 Oct 2025
Monitorar disco no Ubuntu com Philesight
Monitorar disco no Ubuntu com Philesight

Visão geral

Philesight é um clone visual do Philelight que gera mapas gráficos (treemaps) do uso de disco e pode ser servido via CGI no Apache. Este tutorial assume que você já tem um servidor Ubuntu com LAMP (Linux, Apache, MySQL, PHP) e que a raiz web está em /var/www. Você precisará de acesso ao terminal do servidor.

Importante: mantenha privilégios de administrador (sudo) para executar os comandos abaixo.

Pré-requisitos rápidos

  • Servidor Ubuntu com Apache instalados e funcionando
  • Acesso via terminal com sudo
  • Espaço suficiente para gerar a base de dados do Philesight
  • Conexão à internet para baixar o pacote

Pequena definição: Treemap — visualização que mostra arquivos/pastas como retângulos proporcionais ao seu tamanho.

1) Instalar dependências

Execute no terminal:

sudo apt-get install libdb4.2-ruby1.8 libcairo-ruby1.8 libapache2-mod-perl2 libapache2-mod-php5 ruby

Esses pacotes fornecem Ruby, bindings gráficos e módulos Apache necessários ao Philesight.

2) Habilitar CGI (se ainda não estiver)

Crie o diretório cgi-bin e ajuste permissões:

sudo mkdir /usr/lib/cgi-bin  
sudo chmod 755 /usr/lib/cgi-bin

3) Editar arquivo do site Apache

Abra o arquivo do site padrão do Apache:

 sudo nano /etc/apache2/sites-available/default

Confirme que existe a seção abaixo; se não, adicione-a dentro da configuração do site:

         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  
          
                AllowOverride None  
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch  
                Order allow,deny  
                Allow from all  
        

Feche e salve (Ctrl+X então Y).

4) Baixar o Philesight

No diretório de downloads do seu usuário:

mkdir ~/downloads  
cd ~/downloads  
sudo wget http://zevv.nl/play/code/philesight/philesight-20120427.tgz

5) Descompactar e organizar arquivos

tar -xvf philesight-20120427.tgz  
sudo mv philesight-20120427 philesight  
cd philesight

Mover executáveis Ruby para /usr/bin e ajustar permissões:

sudo mv philesight /usr/bin/philesight  
sudo mv philesight.rb /usr/bin/philesight.rb  
sudo chmod a+x /usr/bin/philesight  
sudo chmod a+x /usr/bin/philesight.rb

6) Ajustar require para execução em cron

Edite o binário philesight para que o script consiga localizar seu próprio código quando executado por um cron job:

sudo nano /usr/bin/philesight

Altere a linha que contém:

require 'philesight'

para:

require '/usr/bin/philesight'

Feche e salve.

7) Criar a base de dados do diretório (indexação)

Execute a indexação inicial (pode demorar conforme o tamanho do disco):

cd /usr/bin/  
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /

Isso cria a base /usr/lib/philesightdb usada pelo CGI.

8) Preparar os arquivos web (CGI)

No diretório onde você extraiu o philesight:

cd ~/downloads/philesight  
sudo nano philesight.cgi

Edite a variável para apontar para a base de dados criada:

 $path_db = "/usr/lib/philesightdb"

Salve e feche.

Copie o script CGI para o cgi-bin e ajuste permissões:

sudo mv philesight.cgi /usr/lib/cgi-bin/philesight.cgi  
sudo chmod a+x /usr/lib/cgi-bin/philesight.cgi

Torne o script Ruby acessível ao CGI (link simbólico):

sudo ln -s /usr/bin/philesight.rb /usr/lib/cgi-bin/philesight.rb  
sudo chmod a+x /usr/bin/philesight.rb

9) Reiniciar Apache

Recarregue ou reinicie o Apache para aplicar alterações:

sudo apache2ctl restart  
sudo service apache2 restart  
sudo /etc/init.d/apache2 force-reload

A interface do Philesight deverá ficar disponível em:

http://your_server_name/cgi-bin/philesight.cgi

Ao abrir pela primeira vez, é comum ver uma fatia grande rotulada “proc” — ignore e role para baixo para ver a lista de pastas do root. Clique em pastas para ver o treemap detalhado.

10) Atualização automática (cron diário)

Crie um job diário para atualizar a base de dados e as imagens:

sudo nano /etc/cron.daily/philesight

Cole o conteúdo abaixo, salve e saia:

#!/bin/sh  
sudo rm /usr/lib/philesightdb  
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /

Torne o script executável:

sudo chmod a+x /etc/cron.daily/philesight

Isso força a regeneração diária da base de dados usada pelo CGI.

Quando isso pode falhar

  • Permissões incorretas em /usr/lib/cgi-bin ou /usr/bin impedem execução. Verifique com ls -l.
  • Versões modernas do Ubuntu podem ter pacotes Ruby/DB diferentes; alguns nomes de pacote foram alterados ao longo do tempo. Se apt-get não encontrar um pacote, busque a versão equivalente no repositório atual.
  • Se o Apache estiver usando configuração diferente (e.g., sites-enabled com nome distinto), ajuste o arquivo correto em vez de /etc/apache2/sites-available/default.

Alternativas ao Philesight

  • ncdu (terminal) — análise interativa no console.
  • Baobab (Analisador de Uso de Disco, GUI) — útil em ambientes com desktop.
  • Ferramentas de monitoramento integradas (Grafana + Prometheus) para métricas e alertas.

Checklist por função

  • Administrador de sistema:
    • Confirmar Apache e CGI habilitados
    • Garantir permissões de execução para scripts
    • Verificar espaço livre antes de indexar
  • Operador/Usuário:
    • Testar acesso via navegador: /cgi-bin/philesight.cgi
    • Validar que as imagens geradas refletem o uso

Solução de problemas rápida

  • Página 500 ou CGI não executa: verifique logs do Apache (/var/log/apache2/error.log) e permissões de arquivos.
  • Gráficos vazios: confirme que /usr/lib/philesightdb existe e não está vazio.
  • Indexação muito lenta: execute o comando de indexação manualmente para observar progresso e uso de CPU.

Notas de compatibilidade e segurança

  • Philesight executa scripts CGI em Ruby; mantenha o Apache atualizado e limite o acesso à interface à rede interna ou via autenticação se exposto.
  • Não deixe a interface aberta publicamente sem autenticação, pois ela revela estrutura de disco.

Resumo

Philesight fornece uma visualização rápida e gráfica do uso de disco via CGI no Apache. O fluxo geral é: instalar dependências, habilitar CGI, baixar e instalar Philesight, indexar o sistema de arquivos, configurar o CGI e automatizar a atualização com um cron. Sempre valide permissões e verifique logs em caso de erro.

Importante: adapte nomes de pacotes e caminhos caso sua distribuição Ubuntu use versões diferentes de Ruby ou módulos Apache.

Kritérios de aceitação

  • A URL http://your_server_name/cgi-bin/philesight.cgi abre uma visualização treemap.
  • A indexação conclui sem erros e o diretório /usr/lib/philesightdb é criado.
  • O cron diário executa e regenera a base de dados conforme esperado.
Autor
Edição

Materiais semelhantes

Mudar nome de exibição no Plex
Tutoriais

Mudar nome de exibição no Plex

Data de instalação e uptime do PC — Windows e Linux
Tutoriais

Data de instalação e uptime do PC — Windows e Linux

Adicionar Modo de Segurança ao menu do Windows 11
Windows 11

Adicionar Modo de Segurança ao menu do Windows 11

Instalar Scientific Linux 6.1 — guia passo a passo
Linux

Instalar Scientific Linux 6.1 — guia passo a passo

Usar GPS externo com iPad/iPhone
Tutoriais

Usar GPS externo com iPad/iPhone

Velocidade da Internet na barra de tarefas do Windows 10
Windows 10

Velocidade da Internet na barra de tarefas do Windows 10