Problema com download de logSquid (Fatal error: Allowed memory..) (RESOLVIDO)



  • Olá!

    Estou com um problema em gerar relatórios no logSquid pois ele não está gravando os logs no banco de dados e consequentemente o arquivo de log ficou gigante com o tempo.

    Agora estou tentando baixar o arquivo de log (/var/squid/logs/logSquid.log) pra ver se consigo separar o arquivo manualmente.

    Ou se alguém souber como consigo gravar os logs no banco de dados.. O problema acredito é que o arquivo já está com 2.081.863 linhas e com mais de 300 MB.

    Ao tentar baixar o log, recebo a seguinte mensagem:

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 389414912 bytes) in /usr/local/www/diag_command.php on line 89

    Call Stack:
        0.0000    234088  1. {main}() /usr/local/www/diag_command.php:0
        0.0072    779384  2. fpassthru() /usr/local/www/diag_command.php:89

    PHP ERROR: Type: 1, File: /usr/local/www/diag_command.php, Line: 89, Message: Allowed memory size of 134217728 bytes exhausted (tried to allocate 389414912 bytes)



  • Mande print de suas configurações de chace.



  • Eu acabei desistindo do logsquid. Nem sempre ele rotaciona os logs e se o arquivo ficar muito grande só é possível rotacionar na força bruta. Apesar de tudo ele tem futuro é entrega relatórios interessantes.

    COm relação ao seu problema, já ocorreu isso comigo e o que fiz foi dar um echo > access.log.. Porém com isso vc irá perder o histórico desse log.



  • Fiz alguns testes e acabei baixando o logSquid.log através do WinSCP e alterando-o para que fique bem pequeno. Por algum motivo, quando clicava para "Gravar Logs no Banco de Dados", mesmo o arquivo do logSquid.log com apenas 20 linhas, ocorria o seguinte erro:

    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 367 bytes) in /usr/local/www/logsquid/class/logsquid.inc on line 66
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP Stack trace:
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  1. {main}() /usr/local/www/logsquid/functions/conectclass.php:0
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  2. writelogs() /usr/local/www/logsquid/functions/conectclass.php:55
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  3. require_once() /usr/local/www/logsquid/functions/conectclass.php:273
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  4. logdaemon->__construct() /usr/local/www/logsquid/daemon/logdaemon.inc:69
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  5. logdaemon->readLog() /usr/local/www/logsquid/daemon/logdaemon.inc:18
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  6. logsquid->readTypeLog() /usr/local/www/logsquid/daemon/logdaemon.inc:58
    [17-Jan-2017 12:04:45 America/Sao_Paulo] PHP  7. exec() /usr/local/www/logsquid/class/logsquid.inc:66

    Então tentei fazer algumas alterações como inserir o ini_set("memory_limit", "512M"); no logsquid.inc e também no Graph.inc e no logdaemon.inc e nenhuma dessas opções funcionaram.

    A única maneira de fazer funcionar foi alterando o /etc/rc.php_ini_setup e adicionando memory_limit = 512M logo abaixo da linha ; File generated from /etc/rc.php_ini_setup.

    Consegui gravar no banco de dados mas depois tive que aumentar o memory_limit para 1024M. Parece que o logSquid está usando muito mais recursos do que o necessário para realizar esse procedimento.

    Enfim, depois de fazer essa alteração vou verificar se vai gravar automaticamente, mas pelo menos manualmente voltou a funcionar.


Log in to reply