domingo, 4 de outubro de 2009

Instalando MYSAR


linux
Sobre o MySAR
Procurando opções de analisadores de logs para o squid, acabei me deparando com o MySAR.
MYSAR é um excelente analisador de logs do squid.
Traduzindo: Uma ótima ferramenta para monitorar os acessos à internet da empresa.
Simples e eficiente, tem como um de seus pontos fortes em relação ao SARG, o ótimo desempenho, porque gera os logs em tempo real. O MySAR trabalha com MySQL e conta com um script pronto que importa as informações do access.log, e é executado com a frequência em que se é pré-definido no agendador de tarefas.

Considerações importantes
Primeiro é importante lembrar, que sempre é bom fazer um backup da estrutura atual antes de alguma implementação.
Segundo que eu fiz esta instalação em um sistema Debian Etch, então aqui pode não conter instruções compatíveis com outras plataformas.
Terceiro, este artigo contém exemplos que eu implantei e funcionaram perfeitamente. Durante a instalação, tive alguns problemas, que talvez você também tenha. Por isso já registrei como contornei os problemas. Mas não me comprometo solucionar problemas que as pessoas possam a ter seguindo este tutorial.
O meu único objetivo é contribuir com a minha limitada experiência.
Pré-requisitos:
MySQL 4.1 ou superior
PHP4 ou superior
PHP-MYSQL
mysqlclient
Apache
Procedimentos pré-instalação:
1 – Faça o download no site oficial, para a pasta /usr/local.
http://giannis.stoilis.gr/software/mysar/
2- Entre no diretório para o qual você copiou o download:
cd /usr/local
3- Descompacte o pacote com o comando:
tar zxvf nomedopacote.tar.gz
4- Vamos então configurar o apache para usar o MySAR:
Em seu http.conf a (localização depende da sua instalação), insira estas linhas:
Alias /mysar /usr/local/mysar/www

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

5 – Reinicie o Apache
No meu caso: /etc/init.d/apache2 restart
6 – Agora você deve alterar o dono do diretório mysar, para o usuário do apache:
chown -R usuariodoapache /usr/local/mysar
7- Após a mudança, basta acessar a pagina inicial do Mysar, abrindo no navegador:
http://IPdoServidor/mysar
8- Na tela que abrir clique em "Click here to continue".
9- Nesta tela escolha "New install”
10 – Nesta tela preencha conforme sugerido na figura, inserindo a senha de administrador do MySQL Server.
mysar1

E clique em enviar dados.

Possíveis erros:
a) Erro de permissão.
Solução:
Neste caso é porque a senha de root do MySQL porvavelmente esta errada, entre com a senha certa.E se eu esqueci minha senha?
Calma, neste caso visite o meu artigo Como recuperar a senha de root do MySQL Server no Linux.

b) Não consegue criar a base:
Creating database...Failed...
You have an error in your SQL syntax near '; ' at line 6

Solução:
Neste caso você deve criar o arquivo config.ini dentro da pasta /usr/local/mysar/etc,e clicar depois em "Click here to try again".
11 - Na tela que abrir clique em "Click here to continue".

12 – Irá aparecer esta tela:
msar
Antes de clicar em "Start using mysar!", digite o comando:
rm -rf /usr/local/mysar/www/install

13 - Agora clique em "Start using mysar!".
Pronto o MySAR já está instalado!
Terminando os ajustes:
Na primeira página MySAR há um link "Administration", entre nele, irá aparecer a tela abaixo:
mysar2


1 - Configure o caminho do seu access.log ,no meu caso encontra-se em /var/log/squid/access.log e depois clique em "Change Value".

2 - Agora vamos importar o access.log com os comandos:
#cd /usr/local/mysar/bin/
#./mysar-importer.php
Possíveis erros:
a) bash: ./mysar-importer.php: /usr/bin/php: bad interpreter: Arquivo ou diret�rio n�o encontrado
Solução:
Pode não estar instalado o cliente MySQL. Instale com o comando:
apt-get install php4-cli
b)PHP Fatal error: Call to undefined function mysql_connect() in /usr/local/mysar/inc/common.inc.php on line 47
Solução:
Descomente a linha
# extension=mysql.so
do arquivo
/etc/php4/cli/php.ini

c) Exceeded run time
Solução:
Isto ocorre quando o access.log está muito grande, por causa de uma variável dentro de mysar-importer.php chamada maxRunTime. Altere para um valor mais alto. O valor padrão é 55.
Automatizando as tarefas:
1- Vamos criar os arquivos para receber os logs das tarefas:
/var/log/mysar/mysar-importer.log
/var/log/mysar/mysar-resolver.log
/var/log/mysar/mysar-maintenance.log
2- Agora vamos configurar o cron (Agendador de tarefas do linux), para automatizar as tarefas do MySAR, adicionando em /etc/crontab as seguintes linhas:

*/30 * * * * root /usr/local/mysar/bin/mysar-importer.php > /var/log/mysar/mysar-importer.log 2>&1
*/30 * * * * root /usr/local/mysar/bin/mysar-resolver.php > /var/log/mysar/mysar-resolver.log 2>&1
0 1 * * * root /usr/local/mysar/bin/mysar-maintenance.php /var/log/mysar/mysar-maintenance.log 2>&1

OBS.: Com estas configurações, as tarefas ocorrem com a seguinte frequência:
Importação: À cada 30 minutos
Resolução de nomes: À cada 30 minutos
Manutenção dos logs: À 1 hora.

Mas isto você pode personalizar mudando as linhas acima.
Se tudo deu certo, seu MySAR já está em funcionamento.
Se você quizer traduzir o seu MYSAR para português, visite meu artigo:
Como traduzir o MYSAR para português!
Espero ter contribuído.

Nenhum comentário: