Eu começaria com mod_log_config . Defina um ou mais LogFormat
/ CustomLog
setups em httpd.conf
apenas com as estatísticas que você está interessado e quaisquer metadados sobre as solicitações que você deseja filtrar e, em seguida, você pode gerar rapidamente estatísticas comparativas desses arquivos de log. Por exemplo:
LogFormat "%t %v %B %D %h %r" statlog
CustomLog "|/usr/bin/cronolog logs/stat.log.%Y-%m-%d" statlog
%t
é o registro de data e hora, %v
é o nome do host do servidor virtual, %B
é bytes enviados (excluindo cabeçalhos), %D
é gasto em microssegundos, %h
é o endereço IP do cliente e %r
é a primeira linha da solicitação HTTP real enviada pelo cliente. Assim, você pode deixar qualquer outra informação, dependendo do que está procurando, ou ter um registro para cada estatística, ou o que você quiser. (Eu gosto de usar cronolog para girar logs em uma base diária. Tack em -%H
se você quiser rotação horária.)
Depois, você pode executar as colunas apropriadas por meio de qualquer processamento de números que você queira para obter totais, médias, identificar páginas particularmente lentas ou abusivas ou o que você tiver.
Além disso, se você tiver mod_logio ativado, poderá obter exatidão contagens de bytes (após criptografia / compactação / tudo) para largura de banda de entrada e saída para cada solicitação usando %I
e %O
, respectivamente, na sua string LogFormat
.