MySAR - Um ótimo analisador de logs do Squid

Neste artigo falo sobre como instalar, configurar e usar este maravilhoso analisador de logs do Squid. Para quem não gosta muito do SARG, aí está uma opção muito boa.

[ Hits: 216.601 ]

Por: Felipe Mendes em 09/08/2006


Introdução



O MySAR é um analisador de logs muito eficiente, funciona junto com MySQL criando uma base de dados a partir do access.log. O que eu acho ótimo no MySAR é que ele gera o log em tempo real.

Para instalar o SARG você precisa ter instalado em seu servidor os seguintes pacotes:
  • MySQL 4.1 ou superior
  • PHP4 ou superior
  • PHP-MYSQL
  • mysqlclient
  • Apache

Instalados estes pacotes, vamos instalar o MySAR.

O download do MySAR pode ser feito no link abaixo, que é a página oficial do projeto:
Ou então aqui:
Faça o download dentro da pasta /usr/local. Feito o download, descompacte o arquivo:

# tar zxvf mysar-2.0.6.tar.gz -C /usr/local

Agora você tem que configurar o Apache antes de instalar o MySAR. No httpd.conf insira o seguinte:

Alias /mysar /usr/local/mysar/www

<Directory "/usr/local/mysar/www">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Agora basta reiniciar o Apache.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando o MYSAR
   3. Administrando o MYSAR
   4. MySQL em execução
Outros artigos deste autor

Servidor de arquivos integrado com Active Directory (AD) e quota de usuário/grupo

Squid + Winbind + Samba no AD - Autenticando por grupos

Leitura recomendada

SquidGuard: Bloqueando o acesso a Web

Squid balanceado com LVS

Criando delay pools (Proxy/Squid)

Squid autenticando com firewall x CNS e conexão segura da Caixa

Instalando o Squid + SquidGuard

  
Comentários
[1] Comentário enviado por removido em 09/08/2006 - 10:29h

O artigo ficou um pouco fraco, mas o MySar em si não tem segredos.
É um artigo muito bom para as pessoas conhecerem ele que corrige a maior falha do sarg. As Páginas estáticas. Com o mySar pode-se criar relatórios muitos mais personaalizado e ordenados da maneira que for melhor.
Quando estava procurando algo como ele, foi bem dificil de achar.

Mas recomendo totalmente.

[]'s

[2] Comentário enviado por fmendes em 09/08/2006 - 10:54h

Bem, fraco em que sentido? Escrevi este artigo pq quando precisei instalar o MySar em um cliente não achei muita documentação na NET, então fiz um artigo mais voltado para instalação do MySar, e não expliquei como se instala, MySQL, apache, php4.... Mesmo pq o MySar só precisa que eles estejam instalados, configurar mesmo somente o apache, o resto o MySar configura sozinho, como por exemplo o banco MySql. Quaisquer problemas podem me falar que eu passei por alguns problemas nas instalações que eu fiz.

Mais valeu pelo comentario!!!!

Felipe Mendes


[3] Comentário enviado por fchevitarese em 09/08/2006 - 11:10h

kra.. comigo ta dando erro na hora de importar os logs do squid... erro na linha 48 no codigo mysql_connect()
alguem tem alguma luz???

[4] Comentário enviado por fmendes em 09/08/2006 - 11:27h

Cara no seu php.ini verifique se tem a seguinte linha:

extension=mysql.so

Senao tiver adicione, e teste que deve funcionar, ja tive este problema e funcionaoiu assim.

Felipe Medes

[5] Comentário enviado por segalla em 09/08/2006 - 11:43h

Pessoal, vcs ja usaram essa solucao pra redes com mais de 200 usuarios de proxy? O log fica grande? Como ficou a performance?

Felipe: Legal o artigo, só conhecia o SARG e essa parece ser uma opção legal.

Abraços,

Segalla

[6] Comentário enviado por digaosp em 09/08/2006 - 12:31h

Felipe, comigo está dando a seguinte mensagem:

Fatal error: Call to undefined function: mysql_connect() in /usr/local/mysar/www/install/index.php on line 750

Eu uso o RH9, porém fiz todas as atualizações necessarias pra rodar e mesmo usando a sua dica do PHP acima nao rolou..

Abraços,

Digao

[7] Comentário enviado por fmendes em 09/08/2006 - 13:48h

Fala segalla, blz? Valeu pelo comentario. Cara tenho mysar com mais de 700 usuairos e nao afeta em nada a performace do proxy. Quanto ao log, fica grande mesmo pq são 700 usuarios acessando a net, mas nao interfere em nada.

Fala digaosp, blz? Vc verificou o seu php.ini como eu falei na resposta mas acima???

Valeu!!

Felipe Mendes

[8] Comentário enviado por zilli em 09/08/2006 - 14:25h

Gostei do artigo. Pessoalmente não conhecia essa solução. Vou testar.

Parabéns!

[9] Comentário enviado por digaosp em 09/08/2006 - 15:03h

Felipe, verifiquei o php.ini sim.. estava a linha lá, mas inseri novamente do modo q vc falou. porém nao rola mesmo.
vc acha q pode ser o q?
já fiz de tudo, ele nem passa da primeira tela de instalação..

Abraços,

Digao

[10] Comentário enviado por andrack em 09/08/2006 - 16:35h

Digao...

Já tentou reiniciar o Apache?


Falowz...

[11] Comentário enviado por arln em 09/08/2006 - 17:14h

Fera blz contigo,


seguinte velhão comigo desse erro quando fui importar os logs.


bash: ./mysar-importer.php: /usr/bin/php: bad interpreter: Arquivo ou diret�rio n�o encontrad

[12] Comentário enviado por fmendes em 09/08/2006 - 17:21h

cara, este problema aconteceu comigo quando instalei em uma maquina com debian, basta vc instalar o php-cli assim:

apt-get install php4-cli

Valeu!!

Felipe Mendes

[13] Comentário enviado por arln em 09/08/2006 - 21:51h

Valeu Felipe,


Mais agora apareceu o seguinte problema

Fatal error: Call to undefined function: mysql_connect() in /usr/local/mysar/inc/common.inc.php on line 48

[14] Comentário enviado por fernandoiury em 09/08/2006 - 23:13h

Primeiramente parabéns pelo artigo,

Ele precisa do SARG instalado para funcionar ou é independente ?

[15] Comentário enviado por fmendes em 10/08/2006 - 08:57h

Ele nao tem nada a ver com o SARG. Totalmente independente!!

Felipe Mendes

[16] Comentário enviado por rafaelcore em 10/08/2006 - 14:55h

Para atualizar os logs, estou precisando sempre rodar o script (mysar-importer.php) caso contrário os logs ficam desatualizados, editei o cron e nada, alguma dica? Já verifiquei se o serviço crond, está ok!

[17] Comentário enviado por analfabeta em 10/08/2006 - 18:12h

Eu nao consigo fazer o MySar funcionar. Ele nunca cria a database sozinho, dá erro de conexão com o MySQL, nada funciona. Saberia me ajudar?

Creating database...Failed...
You have an error in your SQL syntax near '; ' at line 6

Click here to try again!


E também:

Reading config.ini file...Failed!

You need to create the file "/var/www/mysar/etc/config.ini", making sure it is readable by the web server process, with the following contents:
dbUser =
dbPass =
dbHost =
dbName =

Click here to try again.

[18] Comentário enviado por arln em 10/08/2006 - 20:54h

OLha so, vc tem que renomear o arquivo config.ini.example para config.ini.

Se nao me engano ele estar dentro da pasta, /var/www/mysar/etc/config.ini.example

dar um locate no arquivo.

Abraços.

[19] Comentário enviado por analfabeta em 11/08/2006 - 10:48h

Oi, já fiz todos os passos do Wizard manualmente, mas no final, ele não onsegue conectar...


Error connecting to database!
ERROR on SQL query
Database error number: 1045
Database error message: Access denied for user: 'mysar@localhost' (Using password: YES)
FATAL. Exiting...

[20] Comentário enviado por analfabeta em 11/08/2006 - 10:51h

Tb tem esse erro:

SQL Error
ERROR on SQL query
SQL query: SELECT DATE_FORMAT(date, '%W, %d %M %x') AS dateFormatted,date,MIN(date) AS minDate,MAX(date) AS maxDate,COUNT(DISTINCTROW ip) AS hosts,COUNT(DISTINCTROW usersID) AS users,COUNT(DISTINCTROW sitesID) AS sites,SUM(inCache+outCache) AS bytes,TRUNCATE(SUM(inCache)/SUM(inCache+outCache)*100,0) AS cachePercent FROM trafficSummaries GROUP BY dateFormatted ORDER BY
Database error number: 1064
Database error message: You have an error in your SQL syntax near '' at line 1
Exiting...

[21] Comentário enviado por gr4ph1x em 11/08/2006 - 20:02h

Na tela de instalação para colocar o usuario, senha mysql:

Eu coloquei usuário de ROOT mesmo com senha certinho e ele nao cria,
mas tb nao reporta nenhum erro. Só fica lá "Creating database..." e para nisso.

Na maquina esta rolando slack 10.2 (indiferente), apache 2, php5 e
mysql 5. Tá tudo funcionando ok, o apache e o php estão no ar e o
mysql está com a porta aberta (3306).

ah! E eu nao estou importando uma instalação antiga nao, é uma instalação
nova.

Tb ja olhei no php.ini e possui a extensão para mysql.so.... Me ajudem

[22] Comentário enviado por fmendes em 14/08/2006 - 11:27h

Bem como eu ja disse antes, ja tive este problema q fica so no creating database e nao saie tb nao da erro nenhum.
O problema foi resolvido quando eu instalei o php4-mysql eu tinha esquecido de instalar....

[23] Comentário enviado por gr4ph1x em 15/08/2006 - 10:16h

root@servidor:/usr/local/mysar/bin# ./mysar-importer.php
Tentei importar o log e apareceu:

PHP Fatal error: Call to undefined function mysql_connect() in /usr/local/mysar/inc/common.inc.php on line 47

ele não conecta com o Mysql, eu uso o phpMyAdm para controlar o Mysql e roda normal o php..

[24] Comentário enviado por riav em 28/08/2006 - 14:15h

Para resolver o problema do mysql para ser execultado em linha de comando, descomente a linha
# extension=mysql.so
do arquivo
/etc/php4/cli/php.ini

Espero ter ajudado...
Abraços a todos.

[25] Comentário enviado por fabiofurquim em 29/08/2006 - 16:25h

Olá.. meu access.log tem em média 2GB diários.. e quando tento importar o mesmo me deparo com a seguinte mensagem:

Exceeded run time
8763 records processed

O que será q pode ser?
Se puder ajudar.

Abraços

[26] Comentário enviado por fmendes em 29/08/2006 - 16:46h

Cara, ele esta importando perfeirtamente. Vc esta importando na mao? Coloca no cron para rodar com eu falei q ele vai sincronzar e importar somente os novos. Quanto a esta mensagem ele aparece isso mesmo quando o log é mt grande, vc tem q sincronizar com o access.log.

Felipe Mendes

[27] Comentário enviado por fabiofurquim em 29/08/2006 - 17:19h

Caro Felipe,

Obrigado pela ajuda, consegui resolver mudando uma variavel dentro do arquivo mysar-importer.php chamada maxRunTime. Coloquei um valor bem alto (o default é 55) e resolveu. Minha ideia é rodar na mão mesmo pra naum comprometer o squid server.

Muito Obrigado
Artigo bem bacana

[28] Comentário enviado por brhebert em 15/09/2006 - 16:11h

Caro Felipe,

Parabens pelo artigo, mas estou com uma duvida.
Já tenho um servidor com o Mysql rodando serviços para o email. tipo mysql + postfix + etc...
a instalação do MySAR vai interferir em alguma coisa o funcionamento dos serviços já mencionados ???

[29] Comentário enviado por fmendes em 19/09/2006 - 16:21h

nao vai interferir em nada.

[30] Comentário enviado por lrg.lais em 26/09/2006 - 11:11h

Felipe,

Tenho instalado o mysar certinho e ele funciona belezinha... mas como tenho relatórios para extrair, se eu não "limpar" os dados da tabela traffic, trafficSummaries, etc, vai ficar mto lenta a geração do relatório...

Coloquei no cron pra ele executar o arquivo mysar-maintenance.php e programei pra salvar apenas 30 dias do histórico mas nada aconteceu... o q devo fazer??

[31] Comentário enviado por aazevedo1984 em 30/09/2006 - 17:28h

cara aq quando coloco a url http://localhost/mysar/ simplesmente aparece a tela como se fosse transação via ftp, sabe em arvore de diretórios, oq é isso?

[32] Comentário enviado por aazevedo1984 em 30/09/2006 - 17:29h

consegui resolver parte do problema, abringo na mão o index.php vai, mas o link retorna para a arvore do inicio, e agora?

[33] Comentário enviado por fmendes em 13/10/2006 - 17:15h

é pq esta faltando vc instalar o php4...

[34] Comentário enviado por rafaelmontek em 18/01/2007 - 01:11h

Meu problema com o seguinte erro...

Database error message: Access denied for user: 'mysar@localhost' (Using password: YES)

Era pq eu mudei o nome do host de localhost para o nome do meu servidor, mas parece que o script so roda com o nome localhost

[35] Comentário enviado por dtux em 24/01/2007 - 22:00h

Cara ta tudo certo só q não aparece nada na web a pagina fica toda em branco, será pq, coloquei certinho no apache, o php tá certo, estou usando o php5, tá tudo ok, tem como da uma ajudinha... flwss!!!

[36] Comentário enviado por erbignes em 05/02/2007 - 10:14h

fmendes, muito bom o artigo.
parabens!!

So que estou com um problema para visualizar, alguns logs, ( aqueles que tem alto volume de processamento,) quando tento abrir eles via web a pagina fica em branco..., existe alguma limitaçao alguem tem alguma sugestao?

Obrigado !!!!!!

Eugenio


[37] Comentário enviado por erbignes em 05/02/2007 - 14:44h

Felipe, olhando os logs achei o seguinte...: quando tento visualizar o
relatorio dos acessos a pagina fica erm branco por isto..:

"PHP Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in /srv/www/mysar/inc/functions.inc.php on line 87, referer: http://192.168.1.12./mysar/"

Nao conheço PHP, de todos modos instalei um editor PHP, nao achei nada "intuitivo" onde possa mexer e mudar parametros,

Alguma alma solidaria pode ajudar ?

Abraços !

Eugenio

[38] Comentário enviado por erbignes em 05/02/2007 - 16:22h

Bom achei a soluçao eh bem simple...,como ja expliquei nao tenho um "know-how" em PHP, agora caso que alguem tenha o problema de exibir paginas em branco..., e com erro detalhado em minha outra mensagem aqui esta uma possivel soluçao, eu apliquei esta dica e funcionou OK !

http://www.tech-recipes.com/php_programming_tips777.html

[39] Comentário enviado por alex_a_souza em 16/02/2007 - 19:25h

Gostei do seu Artigo.

Seguir passo a passo o ki vc kolocou, no final quando do o clik no START ele da esse erro.

Fatal error: Smarty error: unable to write to $compile_dir '/usr/local/mysar/smarty-tmp'. Be sure $compile_dir is writable by the web server user. in /usr/local/mysar/inc/smarty/Smarty.class.php on line 1088


como vc pode me ajdar?

[40] Comentário enviado por antraz em 06/04/2007 - 18:12h

Muito bom, Funcionou perfeitamente.
So temos que ajustar o artigo, voce trocou alguns nomes.
Mas Ficou muito bom mesmo, o meu funcionou perfeitamente.
http://www.larainfor.com.br

[41] Comentário enviado por fmendes em 07/04/2007 - 20:56h

Como assim troquei nomes? Não entendi... poderia ser mais claro?

[42] Comentário enviado por polaco_ em 24/07/2007 - 15:35h

Dentro da pasta bin/mysar-binary-importer-v4 tem um diretorio com o importador binario, no ultimo release (2.4.13)+
O importador binario tem muito mais velocidade e suporte a logs comprimidos, agrupamento de dominios, etc...

[43] Comentário enviado por removido em 23/08/2007 - 15:09h

Olá amigo!!!!
Cara não funciona... Desisti e voltei a usar o velho e bom sarg...
O erro que dá é esse aqui:

Creating database...
Fatal error: Call to undefined function mysql_connect() in /usr/local/mysar/www/install/index.php on line 750

PODERIA ME AJUDAR, JÁ CANSEI DISSO....

[44] Comentário enviado por rodriguesrj em 11/09/2007 - 15:10h

Estou recebendo a seguinte msg, mesmo depois dos procedimentos feitos acima:

ERROR on SQL query
SQL query: INSERT INTO traffic(date,time,ip,resultCode,bytes,url,authuser) VALUES ('1969-12-31','21:33:27',INET_ATON('httpReadReply:'),'Excess','data','\"GET','')
Database error number: 1048
Database error message: Column 'ip' cannot be null

Alguém pode ajudar?
Abraço.

[45] Comentário enviado por polaco_ em 26/09/2007 - 00:02h

edson_vetorial,
ja verificou se o PHP que voce esta usando tem suporte MYSQL?

rodriguesrj,
parece ser a formatacao do seu access.log. o Mysar importa somente no formato de acordo com o padrao do Squid. da uma olhada para ver se esta conforme o padrao, ou senao tenta com o importador binario, ok?

[46] Comentário enviado por marden_pimenta em 01/10/2007 - 21:32h

segala eu coloquei aqui na empresa e tenho mais de 500 usuarios dia acessando!

a unica alteraçao que tive de fazer foi no arquivo /usr/local/mysar/bin/mysar-importer.php no parametro $maxRunTime=5500 para importar os logs antigos para visualizar o mes todo.

[47] Comentário enviado por mcsba em 16/10/2007 - 17:51h

Alguém sabe como traduzir o mysar para Português como nas telas acima?

desde já agradeço.

Márcio Carvalho.

[48] Comentário enviado por sancmk em 20/12/2007 - 10:04h

?comentario= Pessoal, respondendo a pergunta do Márcio Carvalho: - Alguém sabe como traduzir o mysar para Português como nas telas acima?

Achei na net que já existe os templates em português na própria instalação, então após o MySar instalado basta mudar o nome dos diretórios conforme a página do Sr. Tiago (http://tiagodurante.wordpress.com/nerd-stuff/mysar-installconfigure/):

-------------------------------------------------------------------------------------------
Caso você queira colocar o MySAR em português brasileiro basta fazer o seguinte:

# mv /var/www/htdocs/$SITE/www-templates /var/www/htdocs/$SITE/www-templates.en
# mv /var/www/htdocs/$SITE/www-templates.pt_BR/ /var/www/htdocs/$SITE/www-templates
# chown nobody /var/www/htdocs/$SITE/www-templates
# chmod o+rwx /var/www/htdocs/$SITE/www-templates
--------------------------------------------------------------------------------------------

No meu caso os "templates" ficam em: /usr/local/mysar

Assim os comandos que utilizei foram:

# cd /usr/local/mysar
Vai ao diretório da instalação do MySar.


# mv www-templates www-templates.en
Muda o nome do diretório www-templates para www-templates.en


# cp www-templates.pt_BR www-templates
Copia o www-templates.pt_BR para www-templates


# chown -R apache www-templates
Altera o dono do diretório www-templates e os arquivos contidos no diretório. No meu caso o usuário que tem que ser o dono do diretório é o usuário apache (vai depender da instalação feita do servidor HTTP)


Parabenizo ao Felipe Mendes (deste artigo) e o Tiago Durante (http://tiagodurante.wordpress.com/nerd-stuff/mysar-installconfigure/) pelo artigo que escreveram.

[49] Comentário enviado por sancmk em 20/12/2007 - 10:53h

Agora uma dúvida pessoal, alguém conseguiu identificar onde que no MySar eu encontro o "Tempo gasto" de acesso à Internet? E o que é "Uso do Cache" nas páginas do MySar?

[50] Comentário enviado por wolney em 11/01/2008 - 10:42h

estou problemas para vizualizar os acessos recentes, no browser so aparece os acessos de dezembro.
Tem alguma configuração a fazer ?.
Obrigado desde ja.

[51] Comentário enviado por anthonydarkness em 23/01/2008 - 17:55h

Pessoal eu gostaria de ajuda..não consigo resolver o problema de importar os logs para o banco.

ao tentar importar ele mostra o seguinte erro:


[root@Firewall-Unimar bin]# ./mysar-importer.php
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/msql.so' - /usr/lib/php/modules/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
_PHP Notice: A non well formed numeric value encountered in /usr/local/mysar/bin/mysar-importer.php on line 151
PHP Notice: A non well formed numeric value encountered in /usr/local/mysar/bin/mysar-importer.php on line 152
PHP Notice: A non well formed numeric value encountered in /usr/local/mysar/bin/mysar-importer.php on line 153

ERROR on SQL query
SQL query: INSERT INTO traffic(date,time,ip,resultCode,bytes,url,authuser) VALUES ('1969-12-31','21:03:12',INET_ATON('-'),'[20/Jan/2008:04:30:43','-0200]','http://download918.avast.com/iavs4x/prod-av_pro.vpu.stamp','HTTP/1.0\"')
Database error number: 1048
Database error message: Column 'ip' cannot be null

[52] Comentário enviado por reginaldoluiz em 24/01/2008 - 11:09h

Olá fmendes td bem?
Tenho um servidor aqui com Squid+NatACL+MySQL, com está no tutorial do tatotino aqui no vivaolinux.
Instalei o MySAR, mas como a autenticação é feita pelo NatACL e nao pelo Squid, não consigo obter o nome dos usuários logados no relatório do MySAR, vc sabe como posso resolver isso?
O NatACL cria uma database no MySQL com o nome de NatACL e também cria uma tabela com o nome de USERS, mesmo nome de uma tabela da database mysar.
Se puder me ajudar, agradeço.
Obrigado e parabens pelo tutorial!

[53] Comentário enviado por luciobarreto em 05/03/2008 - 11:14h

Olá fmendes. Estou com o mesmo problema do reginaldoluiz! Alguma idéia? Abraços, ótimo tutorial.

[54] Comentário enviado por removido em 29/05/2008 - 18:26h

Ótima ferramenta, seria interessante fazer um artigo usando MYSAR, para os LOGs e o MYSQL AUTH para a autenticação dos usuários no SQUID.

Parabéns pelo Artigo,

[55] Comentário enviado por celleco em 20/08/2008 - 13:44h

Frmendes gostei muito do seu tutorial, eu estou tendo a mesma dificuldade que os meu companheiros na hora de importar o access.log ele da o erro:
ERROR on SQL query
SQL query: INSERT INTO traffic(date,time,ip,resultCode,bytes,url,authuser) VALUES ('1969-12-31','21:03:12',INET_ATON('-'),'[20/Aug/2008:10:21:04','-0300]','http://www.google.com.br/','HTTP/1.1\"')
Database error number: 1048
Database error message: Column 'ip' cannot be null
se puder me ajudar eu agradeço pos ja procurei na net e nao consegui soluçao:
192.168.10.54 - - [20/Aug/2008:10:21:04 -0300] "GET http://www.google.com.br/ HTTP/1.1" 302 510 TCP_MISS:DIRECT
esse é meu access.log ate onde eu entendo de banco de dados a data e a hora teria que vim antes do ip nao sei se é isso, preciso de ajuda.
Grato.

[56] Comentário enviado por sandroteo em 14/11/2008 - 15:47h

fiz tudo certinho mas na hora de importar com o mysar-importer.php da ess erro

bash: ./mysar-importer.php: /usr/bin/php: bad interpreter: Arquivo ou diretório não encontrado
ja alterei o maxruntimer e não deu certo
agradeço qualquer ajuda

[57] Comentário enviado por sandroteo em 14/11/2008 - 16:41h

Deu certo, instalei o php5-cli e ta rodando

[58] Comentário enviado por robertobrandao em 05/12/2008 - 21:38h

Pessoal esse tutorial é muito bom mais pra mim nao deu certo. Porque a versao do MySar que eu instalei é a 2.1.4 e a do tutorial é a 2.0.11 por isso acho que nao esta importando corretamente do access.log para o MySar

Como faço para importar o access.log para o MySar??

[59] Comentário enviado por mrjeday em 16/12/2008 - 15:36h

Muito bom o Mysar, já usei em uma outra ocasião. Mas agora to me deparando com uma situação aqui que ainda não tinha acontecido e não consigo encontrar o problema.
Instalei o mysar tudo direitinho ele ta rodando blz.
Mas ao tentar importar o log do squid, ele retorna assim:
############
xxx:/var/www/mysar/bin# ./mysar-importer.php

Fatal error: Call to undefined function: mysql_connect() in /var/www/mysar/inc/common.inc.php on line 48

xxx:/var/www/mysar/bin#

############

Olhando a linha 48 do referido arquivo:

// Initialize the database connection

debug('Initializing database connection...',40,__FILE__,__LINE__);

debug('dbHost='.$iniConfig['dbHost'].',dbUser='.$iniConfig['dbUser'].',dbPass='.$iniConfig['dbPass'],40,__FILE__,__LINE__);

$link=mysql_connect($iniConfig['dbHost'],$iniConfig['dbUser'],$iniConfig['dbPass']);

if (!$link) {

debug('Error connecting to database!',20,__FILE__,__LINE__);

db_error();

debug('FATAL. Exiting...',20,__FILE__,__LINE__);

die(1);

}

Porém, chequei tudo isso aí acima e ta tudo certinho (até onde sei), pois se alterar isso aí eu não consigo mais carregar meu index.php do mysar.
Outra coisa chequei o arquivo config.ini que configura as permissões de acesso ao BD sql, e estão ok. Os privilégios de acesso estão certinhos. Mas qdo vai rolar o import não roda.
Dêem uma força ae.

Obrigado,

Victor Figueira

[60] Comentário enviado por robertobrandao em 17/12/2008 - 15:42h

cara para esse seu erro ai vc deve instalar o php5-cli ou php4-cli e php5-mysql ou php4-mysql isso vai depender do php instalado ok

depois disso deve editar o seguinte arquivo em:

/etc/php5/php-cli/php.ini ou /etc/php4/php-cli/php.ini

descomente essa linha extension=mysql.so no php4 ela esta na linha de nº 556 já no php5 esta na linha de nº 599

o meu aqui esta totalmente instalado e funcionando certo mais nao esta importando os dados se vc pode me ajudar ou se souber de uma forma de importar os dados para o mysar te agradeço.

estou usando aqui a versão 2.1.4

[61] Comentário enviado por sandrocarva em 19/02/2009 - 11:48h

Ótimo, aqui funciou conforme descrito..

valeu..
Artigo muito util.


[62] Comentário enviado por newmoro em 25/02/2009 - 00:37h

Amigo,
Muito bom este seu post, mas como muitos estou com um problema na hora de executar o script # ./mysar-importer.php

Esta me dando o seguinte erro:
PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/20050606+lfs/mysql.so' - /usr/lib/php4/20050606+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Fatal error: Call to undefined function: mysql_connect() in /usr/local/mysar/inc/common.inc.php on line 50

Já descomentei essa linha extension=mysql.so no php4 e php5 e assim mesmo continua me dando o erro.

Vc teria como me ajudar?

Newton




[63] Comentário enviado por newmoro em 25/02/2009 - 00:42h

Favor desconsiderar a minha dúvida [62]
Bastou reinstalar o php4-cli e descomentar a linha extension=mysql.so.
Até mais!

[64] Comentário enviado por lucksxe em 26/03/2009 - 09:45h

Achei muito interessante o Mysar instalei deboa, nao tive muita dificuldade nao :) instalei no debian lenny , tenho uma duvida quero colocar senha na hora de loga no mysar como faço ?

[65] Comentário enviado por mcsba em 26/03/2009 - 09:50h

Caro, lucksxe.

Uma maneira que você pode proteger o mysar para acessar com senha é usar o htaccess

[66] Comentário enviado por lucksxe em 26/03/2009 - 09:56h

:) Ja achei i templates Br :) ja fiz tudo Ok meu mysar esta funcionando perfeitamente Parabens FIlipe :)

[67] Comentário enviado por aikonjunior em 16/01/2010 - 12:10h

bom dia

adicionei as linhas que vc passou no crontab e não está puxando o log em tempo real.
o que pode estar acontecendo?

[68] Comentário enviado por whyper em 18/02/2010 - 09:59h

Viva,
antes de mais, parabéns pelo óptimo artigo.
também estou a ter este problema do crontab, não está a actualizar em tempo real...

quando corro o ./mysar-importer.php recebo esta mensagem:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs/msql.so' - /usr/lib/php5/20060613+lfs/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0

os registos são importados na mesma, o php5 está instalado e tenho o extension=mysql.so descomentado no /etc/php5/cli/php.ini

onde poderei corrigir este problema?
Obrigado a todos.

[69] Comentário enviado por daleffe em 03/05/2010 - 07:59h

Olá pessoal,

Estou tendo a seguinte mensagem, após alguns dias de uso do MySAR, na página inicial: Warning: date() expects parameter 2 to be long, string given in /usr/local/mysar/www/index.php on line 43

Alguém teve o mesmo problema?

Valeu!

[70] Comentário enviado por leonardo.dss em 19/07/2010 - 14:32h

Muito bom artigo Felipe parabéns,

Mais tenho uma pergunta, seguinte ao colocar aquelas três linhas no crontab atualizando o tempo todo percebi uma demora nas máquinas pra obter a resposta do servidor, as páginas agora carregam mais lentas, ainda mais durante o a variação de minuto a minuto. Por exemplo, quando o marcador chega a XX(horas):XX(minutos):59(segundos) o cron atualiza as informações do MySar nesse mesmo tempo se tiver acessando de uma máquina percebo nitidamente uma grande lerdeza....após essa virada de minuto XX(horas):X1(minutos):10(segundos), ou seja, 10 segundos após o tempo de atualização das informações o acesso volta ao normal......então minha dúvida é porque isso? Pode ser alguma coisa no squid?
As outras duas linhas mysar-resolver.php e mysar-maintence.php executam o que?

Aqui está as informações do meu crontab;

17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
* * * * * root /var/www/cedimagem/bin/mysar-importer.php > /var/log/mysar/mysar-importer.log 2>&1
* * * * * root /var/www/cedimagem/bin/mysar-resolver.php > /var/log/mysar/mysar-resolver.log 2>&1
0 1 * * * root /var/www/cedimagem/bin/mysar-maintenance.php /var/log/mysar/mysar-maintenance.log 2>&1


[71] Comentário enviado por arthur1990 em 09/09/2010 - 10:49h

Bom primeiramente eu gostaria de parabenizar pelo artigo..
Mas eu estou tendo certa dificuldade... Pois eu não manjo nada de Linux...
Meu relatório não esta atualizando automaticamente .
Para min atualizar ele eu tenho que fazer manualmente
Alguém pode me ajudar?

[72] Comentário enviado por ADelphini em 24/09/2010 - 13:09h

FMENDES!!!! Cara Parabéns excelente artigo!!!! Cara muito bom!!!! precisei instalar aqui na empresa e não encontrei nada na WEB!!!! Valeu parabéns!!!

[73] Comentário enviado por knighttux em 09/12/2010 - 12:18h

Olá, estou com dificuldade na instalação, no momento nao passa da criação do diretorio smarty-tmp, ele existe, tem todas as permissões pedidas pelo mysar setadas corretamente, mas simplesmente não avança, fica em "try again" direto. Estou testando em CentOS 5.3

Obrigado.

[74] Comentário enviado por knighttux em 09/12/2010 - 16:52h

Galera, consegui resolver este problema, simplesmente desabilite o firewall e o SElinux do CentOS e as permissões no diretorio poderão ser setadas corretamente, penei pra descobrir, mas achei rsrsrs...

[75] Comentário enviado por vaner em 16/12/2010 - 22:37h

no meu aqui deu certo, mais so aparece o relatorio do ip 127.0.0.1 que é meu servidor de internet, como faço para aparecer das maquinas de toda minha rede.

Grato

[76] Comentário enviado por knighttux em 29/12/2010 - 16:23h

Vaner,

vc deve ter o squid instalado em seu servidor para o mysar analisar os logs gerados por ele, no meu caso, o servidor de squid é outro, entao eu jogo o log por ftp num diretório do meu servidor mysar e mando o mysar analisa-lo, automatizei essas tarefas pelo cron, e os logs sao analisados de 30 em 30 minutos. Qualquer duvida estou a disposição.

Flw!

[77] Comentário enviado por matheuskamphorst em 06/01/2011 - 09:23h

Tem como fazer aquele esquema de top sites?

[78] Comentário enviado por leandrofv em 13/01/2011 - 05:37h

Bom dia,


Depois de seguir todo o tutorial esbarrei com um problema na importação do log, quando tento com o comando ./mysar-importer.php aparece a seguinte mensagem: -bash: ./mysar-importer.php: Arquivo ou diretório não encontrado, instalei seguindo uma orientação o php-cli e mesmo assim o problema persiste.

Se executo o script direto no diretório onde esta localizado o arquivo (/usr/local/mysar/bin/) a mensagem é a seguinte: -bash: mysar-importer.php: command not found.

Agradeço pela ajuda,


Leandro

[79] Comentário enviado por jgama em 04/02/2011 - 17:17h

Por acaso o desenvolvimento do mysar parou no tempo?

Também não consegui passar para português, mesmo seguindo a dica:

Achei na net que já existe os templates em português na própria instalação, então após o MySar instalado basta mudar o nome dos diretórios conforme a página do Sr. Tiago (http://tiagodurante.wordpress.com/nerd-stuff/mysar-installconfigure/):

-------------------------------------------------------------------------------------------
Caso você queira colocar o MySAR em português brasileiro basta fazer o seguinte:

# mv /var/www/htdocs/$SITE/www-templates /var/www/htdocs/$SITE/www-templates.en
# mv /var/www/htdocs/$SITE/www-templates.pt_BR/ /var/www/htdocs/$SITE/www-templates
# chown nobody /var/www/htdocs/$SITE/www-templates
# chmod o+rwx /var/www/htdocs/$SITE/www-templates
--------------------------------------------------------------------------------------------

No meu caso os "templates" ficam em: /usr/local/mysar

Assim os comandos que utilizei foram:

# cd /usr/local/mysar
Vai ao diretório da instalação do MySar.


# mv www-templates www-templates.en
Muda o nome do diretório www-templates para www-templates.en


# cp www-templates.pt_BR www-templates
Copia o www-templates.pt_BR para www-templates


# chown -R apache www-templates
Altera o dono do diretório www-templates e os arquivos contidos no diretório. No meu caso o usuário que tem que ser o dono do diretório é o usuário apache (vai depender da instalação feita do servidor HTTP)

Uso Ubuntu-server, fiz as alterações e continua mostrando em Inglês.

abraço

[80] Comentário enviado por joserf em 28/04/2011 - 00:19h

segue o meu erro amigo , se puder dar uma força agrdeço.

Reading config.ini file...Found!
Array ( [dbuser] => mysar [dbPass] => mysar [dbHost] => localhost [dbName] => mysar )

Testing database connection...
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'www-data'@'localhost' (using password: YES) in /usr/local/mysar/www/install/index.php on line 736
Failed...
Access denied for user 'www-data'@'localhost' (using password: YES)

Click here to try again!

Sorry, but I couldn't verify your database setup!
If you think it is safe to ignore this step, click here to continue.

[81] Comentário enviado por danillorc em 05/04/2012 - 13:29h

E aí galera do vol, blz o artigo,

uma coisa pra lembrar q o colega não comentou é necessário criar os arquivos de log e dá permissões para os mesmos

sudo touch /var/log/mysar/mysar-importer.log
sudo touch /var/log/mysar/mysar-resolver.log
sudo touch /var/log/mysar/mysar-maintenance.log

sudo chown server.server /var/log/mysar/mysar-importer.log

acho q isso faz funfar.

vi q tinha uns com dificuldade com o mysql talvez isso ajude:

#SE NÃO TIVER SENHA
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('senha') WHERE User='root';
mysql> FLUSH PRIVILEGES;

#SE TIVER SENHA
mysql -u root -p
mysql> use mysql
mysql> UPDATE user SET Password=PASSWORD('senha') WHERE User='root';
mysql> FLUSH PRIVILEGES;

#TIRANDO A SENHA
mysql -u root -p
grant all privileges on *.* to 'root'@'%';
flush privileges ;





[82] Comentário enviado por xflavio em 17/05/2012 - 08:55h

Felipe, belo tutorial, porém o mysar tem alguma falha na hora de atualzar de um dia para o outro? pois o meu está tudo configurado nos conformes, porém, ele está atualizando os sites com uma data anterior ao do dia atual.

você sabe por que isso?

[83] Comentário enviado por marceloviana em 22/08/2012 - 17:30h

Por acaso tem algum jeito de pegar os logs da data anterior da instalação do mysarg?
Por exemplo, instalei o mysarg depois de trinta dias que o squid estava rodando. Então tem como eu resgatar estes logs anteriores?

[84] Comentário enviado por JardelRodrigues em 17/11/2015 - 16:53h


Alias /mysar /usr/local/mysar/www

<Directory "/usr/local/mysar/www">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>


A configuração no Apache 2.2 fica desta forma :

Order allow,deny
Allow from all

A configuração no Apache 2.4 fica desta forma :

Require all granted


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts