:::: MENU ::::

quinta-feira, 14 de junho de 2012

Nesse post, faço uma singela análise de ferramentas de análise de logs do Squid, além de mostrar como instalar as mesmas em seu servidor.

squeezer

Um script feito em perl. funcionamento bastante simples. Tão simples que não funcionou comigo.
URL:http://sourceforge.net/projects/squidoptimizer/
versão testada: 0.5
Resultado: falhou na execução
haruka:/usr/local/squid # squeezer/squeezer.pl -c etc/squid.conf -l var/logs/access.log
Illegal division by zero at squeezer/squeezer.pl line 647

Erro no script... Cadê o mantenedor/criador? Isso é erro de cálculo. :(


free-sa

Um analisador estático para arquivos de logs similar ao SARG.
URL: http://sourceforge.net/projects/free-sa/
versão testada: 2.0.0b5p7
Resultado: OK, porém mal documentado para exibir os gráficos

Instalação

Pré-requisito: Apache rodando
Crie o diretório /srv/www/htdocs/free-sa e conceda as permissões para o apache:
mkdir /srv/www/htdocs/free-sa
chown -R wwwrun.www /srv/www/htdocs/free-sa

Descompacte o arqiuvo compactado e execute um make install dentro do diretório.
make install
Isso fará com que ele instale seus arquivos.
Nesse mesmo diretório, observe que existe um diretório etc/ e um themes/.
Em themes, são os temas (LOL!). Escolha um e copie todo o seu conteúdo para o diretório do free-sa:
cp -rfv themes/sarg/* /srv/www/htdocs/free-sa/

Edite as seguintes linhas no etc/free-sa.conf.sample:
GLOBAL OPTIONS
locale="pt_BR.UTF-8" # se quiser em português

LOG FILE OPTIONS
log_file="/seu/log/do/squid/access.log"

Descomente toda a sessão do HTTP related filter reports para ter mais relatórios.

copie alterando o nome do arquivo free-sa.conf.sample para o /usr/local/etc/free-sa/free-sa.conf:
cp etc/free-sa.conf.sample /usr/local/etc/free-sa/free-sa.conf

Agora, adicione a seguinte linha no crontab:
* * * * * /bin/rm -rf /srv/www/htdocs/free-sa/[0-9]* && /usr/local/bin/free-sa -o /srv/www/htdocs/free-sa/

O relatório estará disponível em http://servidor/free-sa


Squid-graph

Script em perl que gera gráficos com base no access.log
URL: http://sourceforge.net/projects/squid-graph/
versão testada: 3.2
Resultado: OK

Instalação

Pré-requisito: Apache rodando
Opcional - 1. Mova o squid-graph para o /usr/local. Seu diretório agora será o /usr/local/squid-graph.
Crie o diretório no /srv/www/htdocs/squid-graph para apresentação dos resultados.
Conceda as permissões de acesso ao usuário do apache
mkdir  /srv/www/htdocs/squid-graph
chown -R wwwrun.www /srv/www/htdocs/squid-graph

Adicione no cron a linha:
* * * * * /usr/local/squid-graph/squid-graph --output-dir=/srv/www/htdocs/squid-graph/ < /log/do/squid/access.log 2>&1

A sintaxe é simples: [executável do squid-graph] --output-dir=[diretorio de saída do relatório] < [log do squid] 2>&1

Eu defini que o diretório de saída do relatório será um que já está publicado. Assim poderemos ver pelo navegador.


4. Abra o navegador e consulte no endereço http://servidor/squid-graph

terça-feira, 5 de junho de 2012


O que é o Moodle?

O Moodle é um Sistema Open Source de Gerenciamento de Cursos - Course Management System (CMS), também conhecido como Learning Management System (LMS) ou um Ambiente Virtual de Aprendizagem (AVA). Tornou-se muito popular entre os educadores de todo o mundo como uma ferramenta para criar sites de web dinâmicos para seus alunos. Para funcionar, ele precisa ser instalado em um servidor web, em um de seus próprios computadores ou numa empresa de hospedagem.

O foco do projeto Moodle é sempre a disponibilizar aos educadores as melhores ferramentas para gerenciar e promover a aprendizagem, mas há muitas maneiras de se utilizar o Moodle:
  • O Moodle possui características que lhe permitem usabilidade em grande escala para centenas de milhares de estudantes, mas também pode ser usado para uma escola primária ou um entusiasta da educação.
  • Muitas instituições utilizam como plataforma para realização de cursos totalmente on-line, enquanto outros simplesmente usam como contato em seus cursos (conhecido como blended learning).
  • Muitos de nossos usuários gostam de usar os módulos de atividade (como fóruns, wikis e bancos de dados) para construir comunidades amplamente colaborativas de aprendizagem em torno de seu tema (na tradição construcionista social), enquanto outros preferem utilizar o Moodle como um meio de fornecer conteúdo aos alunos (tais como pacotes padrão SCORM) e avaliar a aprendizagem utilizando tarefas ou testes.



How to instalar o moodle


baixe o pacote do Moodle (versão 2.2.3)
wget http://ufpr.dl.sourceforge.net/project/moodle/Moodle/stable22/moodle-2.2.3.tgz
mkdir -p /opt/moodle/site/
tar xvf moodle-2.2.3.tgz -C /opt/moodle/site
chown -R wwwrun:www /opt/moodle



Instale o LAMP
zypper in -t pattern lamp_server

O Moodle funcionará melhor com esses complementos:
zypper in php5-mbstring php5-openssl php5-xmlrpc php5-soap php5-gd php5-intl php5-iconv php5-curl php5-tokenizer php5-ctype php5- php5-simplexml php5-spl php5-pcre php5-dom php5-xml php5-json

Configuração do Apache
Crie o arquivo /etc/apache2/conf.d/moodle.conf com o seguinte conteúdo:
Alias /moodle /opt/moodle/site/
<Directory /opt/moodle/site/ >
Options +Indexes +FollowSymLinks
IndexOptions +NameWidth=*
Order allow,deny
Allow from all
</Directory>


Inicie o servidor web e o mysql
service apache2 start
service mysql start

Após isso ele estará disponível no endereço http://ip.do.seu.servidor/moodle e é só configurar o ambiente. Aí vai do gosto de cada um.

Um abrazzo!

domingo, 3 de junho de 2012

Imaginemos a situação:
Você possui um servidor que recebe os arquivos de backup, eles são guardados por 30 dias e depois são removidos, liberando espaço para os mais novos. Ah, lembre-se de ter um log dos arquivos removidos ;)
Um modo fácil de fazer essa rotação é guardando os backups em pastas por mês, por exemplo, todos os arquivos de Janeiro ficarão no diretório 01, Fevereiro no 02 e por aí vai...
Mas, caso não seja possível fazer isso, vamos montar um simples script para executar essa tarefa :)


#!/bin/bash
# Remove arquivos maiores que 30 dias e gera um log
FILENAME=FILES_$(date +%Y%m%d%H%M%m).log
find . -mtime +30 -exec echo {} \; > $FILENAME
rm -rfv $(cat $FILENAME)

A lógica é simples:
Na variável, eu crio um arquivo que possui um prefixo e como sufixo coloco:
  1. Ano, com 4 dígitos - %Y
  2. Mês, com 2 dígitos - %m
  3. Dia, com 2 dígitos - %d
  4. Horas, com 2 dígitos - %H
  5. Minutos, com 2 dígitos - %M
  6. Segundos, com 2 dígitos - %S

O Find irá buscar por arquivos que não modificados nos últimos 30 dias, exibindo os seus nomes e enviando o seu output para um arquivo, que será o log dos arquivos removidos naquele momento.

Após isso, o rm irá ler o arquivo gerado pelo find e removê-los um a um.

Mole né?

Posts populares