Как заставить AWstats анализировать старые файлы журналов?

У меня есть много старых файлов журнала (apache), и они охватывают 3 разных VPS-сервера, которые у меня были, поэтому есть разные наборы с одинаковыми именами:

старый vps 1 (янв. 2012 - март 2012) -> access.log.1.gz

старый vps 2 (апрель 2012 г. - октябрь 2012 г.) -> access.log.1.gz

и т.д..

Существует ли команда awstats, которая проанализирует ВСЕ старые файлы журналов и создаст отчеты с правильными датами? И нужно ли мне архивировать файлы или переименовывать их, прежде чем я смогу запустить команду?


person Zachary Uram    schedule 12.12.2012    source источник
comment
Можете ли вы просто объединить их все в один файл? Также у awstats есть собственный форум по адресу sourceforge.net/p/awstats/discussion/43428.   -  person Apprentice Queue    schedule 13.12.2012


Ответы (4)


Вы можете использовать инструмент logresolvemerge.pl (см. FAQ-COM350). Либо вы меняете параметр LogFile в файле .conf, либо (для одноразового запуска) используете его в качестве аргумента при обновлении.

LogFile="/path/to/logresolvemerge.pl access.log* |"

Пример (в системе на основе Debian) для обновления командной строки:

/usr/lib/cgi-bin/awstats.pl -update -config="example.com" -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/apache2/access.log* |"

Примечание: Возможно, вам нужно очистить существующие статистические данные. См. FAQ-COM500.

person redimp    schedule 13.02.2013
comment
Для получения дополнительной информации: старая информация не может быть включена в более новую информацию, которая уже проанализирована. В этом случае удалите предыдущую информацию (каталог DirData) и обработайте все заново. awstats.sourceforge.io/docs/awstats_faq.html#FAQ-COM500 - person Tom; 21.08.2019
comment
@ Zachary Uram, пожалуйста, отметьте этот ответ (или другой) как решение? - person zypro; 13.01.2021

Если вам нужна версия Windows для командной строки или файла конфигурации сайта, вы можете использовать точно такой же стиль синтаксиса:

LogFile="C:/WebRoot/MYSITE~1/traffic/aws/tools/logresolvemerge.pl C:/MYPROG~1/Apache24/logs/access/access_log.* |"

Обратите внимание на использование коротких имен DOS для папок с пробелами. Вы можете получить короткие имена DOS для файла или папки с помощью dir /x из командной строки (подсказка DOS).

person Anaksunaman    schedule 08.03.2014
comment
Как указать конфигурацию, для которой он предназначен? - person PeterX; 30.10.2015
comment
@PeterX Если я правильно вас понимаю, вам нужно сделать копию или копии awstats.model.conf из каталога awstats-7.x\wwwroot\cgi-bin в Windows и изменить его (их) под свои нужды для каждого набор журналов, которые вы хотите обработать. Это первая строка в этом файле. Это предполагает, что вы уже каким-то образом разделяете свои лог-файлы (в целом или для каждого сайта, скажем, через свой сервер) и вам нужно объединить их, чтобы awstats обрабатывал их как единое целое. Таким образом, второй оператор предполагает предварительно сгруппированный набор файлов. Обратите внимание, что в awstats.model.conf также есть переменная SiteDomain. - person Anaksunaman; 30.10.2015
comment
Ах, я неправильно понял, настройка конфигурации выше уже есть в соответствующем файле конфигурации. Спасибо. - person PeterX; 12.11.2015
comment
Какой LogFormat вы используете? По-видимому, logresolvemerge не будет работать с настройкой 2, и вам нужно использовать длинный формат, однако мне не удалось заставить работать какие-либо образцы. - person PeterX; 12.11.2015

В Windows мне пришлось использовать следующую запись: (добавил «PERL», путь к моей папке установки и включил *.log перед каналом)

LogFile="PERL C:/AWSTATS/tools/logresolvemerge.pl C:/AWSTATS/wwwroot/cgi-bin/stats/logFiles/*.log |"

person dhaworth    schedule 07.04.2014
comment
Как сказать для какой конфигурации? - person PeterX; 30.10.2015

Для установки IIS в Windows вы можете запустить в командной строке следующее:

perl "D:/Websites/My Website/Stats/cgi-bin/awstats.pl" -update -config="mywebsite.com" -LogFile="perl \"D:/Websites/My Website/Stats/tools/logresolvemerge.pl\" C:\inetpub\logs\LogFiles\W3SVC1\*.log |"

На основе:

  1. perl находится в вашей переменной окружения PATH
  2. Ваш веб-сайт хранится в D:/Websites/My Website
  3. Содержимое папки wwwroot AWStats хранится в папке с именем Stats на один уровень глубже.
  4. Папка AWStats tools хранится в этой папке (вы можете сделать это только временно, чтобы к ним нельзя было получить доступ через веб-браузер)
  5. Ваш файл конфигурации называется awstats.mywebsite.com.conf
person Danny Beckett    schedule 12.09.2020