Як проаналізувати кілька журнальних файлів gz для Awstats?


21

Я доволі новий для астатів і налаштував Awstats на своєму веб-сервері apache для аналізу журналів доступу до nginx (веб-сервер nginx призначений для мого додатка django), я можу взяти статистику, LogFile=/var/log/nginx/access.logале як я аналізую декілька журналів, що мають формат gzip. Такі як access.log.1.gz ... access.log.40.gz. У мене дуже багато журналів для аналізу.

Відповіді:


29

Що ви, мабуть, хочете тут зробити, це проаналізувати всі ці логіни один раз, а потім продовжуйте аналізувати лише поточні логіни, а потім.

Найпростіша річ - розпакувати всі ці файли в один файл, після чого запустити один раз за допомогою нього, а потім навести вказівки на файл access.log.

У програмі awstats зазвичай є скрипт під назвою logresolvemerge.pl, який може читати стиснуті файли і об'єднувати їх належним чином для астратів для аналізу.

Щоб об’єднати всі наявні, запустіть

perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog

Це, мабуть, займе певний час.

Тоді ви можете мати один раз запускати файли над цим файлом (встановити LogFile належним чином).

З цього моменту у вас повинні бути запущені астатки над самим останнім лог-файлом - ось що робить ваша поточна конфігурація.

Залежно від того, як часто ви використовуєте астати та обертові логістичні файли nginx, ви можете прочитати як поточний файл, так і попередній. (наприклад, якщо ви обертаєте файли nginx щодня о 12, але астати виконуються щодня о 1, тоді, коли запустіть awstats, журнальний файл буде містити лише те, що було написано з моменту останнього обертання). Ви можете використовувати logresolvemerge.pl всередині вашої команди LogFile таким чином:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"

Це повідомляє awstats запустити команду logresolvemerge.pl з двома журналами як параметри, а awstats буде прочитати у висновку цього сценарію (саме це робить "pipe")


Я не знав, що сценарій awstats може обробляти труби у конфігураційному файлі. Ніцца + 1.
d -_- b

Погоджено - трубопровідний logresolvemerge.plвисновок до астатів - чудове рішення.
Jez

про трубопроводах см stackoverflow.com/questions/13832701 / ...
brauliobo

7

Крім того, ви можете використовувати аналізатор журналу реального часу, наприклад, GoAccess. Це дуже швидко, і вам не потрібно розпаковувати жоден журнал.apache & nginx

http://goaccess.prosoftcorp.com/

zcat -f access.log* | goaccess -a -s -b

АБО

zcat access.log.*.gz | goaccess -a -s -b
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.