Separa o log de acesso à pasta no Apache

1

Existe alguma maneira de fazer o Apache criar um log de acesso para uma única pasta?

Os arquivos nesta pasta serão acessados com muita frequência e eu preferiria evitar o uso de qualquer tipo de script para gerar o registro.

Um exemplo seria algo como:

/folder
/folder/often_access.txt 
/folder/often_access.exe

Idealmente, gostaria que o Apache mantivesse um registro de acesso desses arquivos em rotação, por exemplo:

/folder/log/often_access.May2012.log

Se isso for possível, eu poderia criar um script para ler o log on demand.

Não consigo usar um subdomínio, pois esses arquivos precisam passar por HTTPS e não temos um certificado de wildcart.

Alguma idéia?

UPDATE: Espero que alguns desses arquivos sejam acessados com mais frequência do que 10 a 20 vezes por segundo. É um notificador de atualização. Um desses arquivos é um enorme arquivo binário e o outro apenas um texto contendo a versão mais recente.

    
por WooDzu 14.05.2012 / 21:53

1 resposta

1

Você poderia usar variáveis de ambiente com mod_setenvif .

Mas por que você não deveria? É um enorme risco de segurança ! Por exemplo, essa função embutida no Apache abriria uma oportunidade DoS sobrecarregando o número de identificadores de arquivo. Para este exemplo, suponha que você só pode ter 16 arquivos abertos em seu servidor de uma só vez. Agora posso eliminar esses descritores de arquivos, percorrendo /1 , /2 , /16 - agora há 16 registros que o Apache deve manter.

A maneira mais segura (mas não a mais adequada a recursos) seria canalizar cada solicitação para um script:

CustomLog "|/some/script/for/parsing/logs" combined

Isso não eliminará as opções acima - mas permitirá que você tenha muito mais flexibilidade em relação a onde os logs vão, além de aliviar a responsabilidade do Apache em manter a estabilidade do seu servidor.

Finalmente, o que você deve estar fazendo é exatamente o que você não quer fazer - processando isso depois do fato. O que você está procurando é algum tipo de análise agregada - ou seja, quais linhas lidam com alguns conjuntos exclusivos de diretórios. Com que frequência isso é realisticamente usado? Se não é frequente, o que há de errado com apenas grep ing os logs e exibir sua saída? Estes são os tipos de perguntas que você deve fazer primeiro.

    
por 14.05.2012 / 22:23