Monitorar o uso do disco rígido no Ubuntu Server com o CGI 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.
Materiais semelhantes

Mudar nome de exibição no Plex

Data de instalação e uptime do PC — Windows e Linux
Adicionar Modo de Segurança ao menu do Windows 11

Instalar Scientific Linux 6.1 — guia passo a passo

Usar GPS externo com iPad/iPhone
