AWStats (Импорт логов)

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Matveev
рядовой
Сообщения: 31
Зарегистрирован: 2011-08-02 10:12:26

AWStats (Импорт логов)

Непрочитанное сообщение Matveev » 2011-10-20 8:51:29

1 - имеется сайт site001.ru на FreeBSD 8.2
Сайт складывает файлы логов по следующему формату:

Код: Выделить всё

/var/log/httpd/site001/localhost_access_log.%YYYY-%MM-%DD
В папке имеются логи за предыдущие дни (пару лет).

2 - недавно установил и настроил AWStats.
в конфиге

Код: Выделить всё

/usr/local/www/awstats/cgi-bin/awstats.site001.ru.conf
В качестве параметра отвечающего за путь к лог файлу указал:

Код: Выделить всё

LogFile="/var/log/httpd/site001/localhost_access_log.%YYYY-%MM-%DD"
На данный момент AWStats считывает лог текущего числа.

Поставил себе задачу считать все имеющиеся логи за предыдущие дни.

Поэкспериментировал так:
- Изменил параметр на конкретное значение:

Код: Выделить всё

LogFile="/var/log/httpd/site001/localhost_access_log.2010-01-01"
- Перегрузил конфиг

Код: Выделить всё

/usr/local/www/awstats/cgi-bin/awstats.pl -config="site001.ru"
Два итога:
1) если база пуста он импортирует данные
2) если база уже чем-нибудь забита к примеру уже внесены данные за 2010-01-02, то он данные считает старыми и не импортирует их

У меня 2 вопроса.
1) можно ли в качестве параметра в

Код: Выделить всё

/usr/local/www/awstats/cgi-bin/awstats.pl -config="site001.ru"
указывать путь к логу - не изменяя при этом начальный конфиг?
(хочу написать скрипт выполняющий по порядку эту команду но с разным параметром LogFile - не меняя сам конфиг)

2) как исправить "итог 2" в случае описанном выше?

P.S.: man читал :(

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

PYO
сержант
Сообщения: 187
Зарегистрирован: 2011-08-18 12:46:45

Re: AWStats (Импорт логов)

Непрочитанное сообщение PYO » 2011-10-20 9:37:46

-LogFile=x to change log to analyze whatever is 'LogFile' in config file
Be care to process log files in chronological order when updating statistics.

Matveev
рядовой
Сообщения: 31
Зарегистрирован: 2011-08-02 10:12:26

Re: AWStats (Импорт логов)

Непрочитанное сообщение Matveev » 2011-10-20 10:37:23

PYO писал(а):-LogFile=x to change log to analyze whatever is 'LogFile' in config file
Be care to process log files in chronological order when updating statistics.
Упростило мне жизнь СПС!!! (сам до знака "=" не додумался :( )

Вопрос о том как принудительно подгрузить старые логи остался не решённым.

Пример:

Код: Выделить всё

serv# /usr/local/www/awstats/cgi-bin/awstats.pl -config="192.168.151.246" -LogFile="/var/log/httpd/site001/localhost_access_log.2011-09-05.txt"
Create/Update database for config "/usr/local/www/awstats/cgi-bin/awstats.site001.ru.conf" by AWStats version 7.0 (build 1.971)
From data in log file "/var/log/httpd/site001/localhost_access_log.2011-09-05.txt"...
Phase 1 : First bypass old records, searching new record...
Direct access to last remembered record has fallen on another record.
So searching new records from beginning of log file...
Jumped lines in file: 0
Parsed lines in file: 51893
 Found 1 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 0 corrupted records,
 Found 51892 old records,
 Found 0 new qualified records.
serv#

PYO
сержант
Сообщения: 187
Зарегистрирован: 2011-08-18 12:46:45

Re: AWStats (Импорт логов)

Непрочитанное сообщение PYO » 2011-10-20 16:03:19

PYO писал(а):Be care to process log files in chronological order when updating statistics.
Удаляешь файл со статистикой, парсишь месяц по порядку.

Matveev
рядовой
Сообщения: 31
Зарегистрирован: 2011-08-02 10:12:26

Re: AWStats (Импорт логов)

Непрочитанное сообщение Matveev » 2011-10-21 8:38:18

PYO писал(а):Удаляешь файл со статистикой, парсишь месяц по порядку.
Походу так и буду делать с помощью своего скрипта.
Всем СПС!!!

Matveev
рядовой
Сообщения: 31
Зарегистрирован: 2011-08-02 10:12:26

Re: AWStats (Импорт логов)

Непрочитанное сообщение Matveev » 2011-10-25 5:58:10

Вот рабочий скриптик. (сервер не нагружен, поэтому скрипт не стал оптимизировать)

Код: Выделить всё

#!/bin/sh

#paws=$1
#cnfg=$2
#plog=$3

paws=/usr/local/www/awstats/cgi-bin/awstats.pl
cnfg=192.168.151.246
plog=/var/log/site01

echo ""
echo "AWStats path: " $paws
echo "Site name: " $cnfg
echo "Logs path: " $plog
echo ""

#
# Искать файлы в каталоге пока не будем, а просто берём начало от даты-1 до даты-2
# ведь формат лога мы знаем:
# localhost_access_log.%YYYY-%MM-%DD
#
# $paws -config=$cnfg -LogFile=$plog/localhost_access_log.%YYYY-%MM-%DD
#

START_Y=2010
START_M=12
START_D=23

DATE1=`date -v${START_Y}y -v${START_M}m -v${START_D}d +%F`
DATE2=`date +%F`

let i=0
while [ $DATE1 != $DATE2 ]
do
        DATE1=`date -v${START_Y}y -v${START_M}m -v${START_D}d -v+${i}d +%F`;
        echo "Date1 = "$DATE1;
        let i=i+1;

        $paws -config=$cnfg -LogFile=$plog/localhost_access_log.$DATE1.txt;
        echo
done

echo "Done";