URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 4023
[ Назад ]

Исходное сообщение
"Sarg - ежемесячный отчет"

Отправлено idw , 25-Апр-06 19:36 
Как можно сделать отчет за месяц с помощью Sarg 2.1

Я запускаю скрипт sarg.monthly:

YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
MONTHAGO=$(date --date "1 month ago" +%d/%m/%Y)
/usr/sbin/sarg -o /var/www/html/squid/monthly -d $MONTHAGO-$YESTERDAY
/usr/sbin/squid -k rotate
exit 0

Но он не формирует отчет. Я думаю это из-за того что обрабатывется файл access.log в котором данные уже за следующий месяц. А как сделать так, чтобы сарг обрабатывал и эти файлы access.log.0.gz, access.log.1.gz, ....

Полагаю, что надо копать здесь logfile_rotate у сквида и lastlog у сарга. Но какие значения здесь ставить и когда запускать скрипт sarg.monthly? У меня сейчас в сквиде закоментирована строчка с logfile_rotate, а lastlog=0.


Содержание

Сообщения в этом обсуждении
"Sarg - ежемесячный отчет"
Отправлено vec135 , 26-Апр-06 04:14 
>Как можно сделать отчет за месяц с помощью Sarg 2.1

sarg -d 01/04/2006-30/04/2006

>
>Я запускаю скрипт sarg.monthly:
>
>YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
>MONTHAGO=$(date --date "1 month ago" +%d/%m/%Y)
>/usr/sbin/sarg -o /var/www/html/squid/monthly -d $MONTHAGO-$YESTERDAY
>/usr/sbin/squid -k rotate
>exit 0
>
>Но он не формирует отчет. Я думаю это из-за того что обрабатывется
>файл access.log в котором данные уже за следующий месяц. А как
>сделать так, чтобы сарг обрабатывал и эти файлы access.log.0.gz, access.log.1.gz, ....
>
>
>Полагаю, что надо копать здесь logfile_rotate у сквида и lastlog у сарга.
>Но какие значения здесь ставить и когда запускать скрипт sarg.monthly? У
>меня сейчас в сквиде закоментирована строчка с logfile_rotate, а lastlog=0.



"Sarg - ежемесячный отчет"
Отправлено idw , 26-Апр-06 08:27 
>sarg -d 01/04/2006-30/04/2006

Эта команда не формирует отчет, так как в access.log храняться данные только за день.


"Sarg - ежемесячный отчет"
Отправлено PavelR , 28-Апр-06 22:02 
Посмотри этот скрипт: http://termex-2.tsk.ru/sarg/sarg-reports

Я его использую для построения отчетов.
Запускается кроном:
0       0       *       *       *       root    /usr/local/etc/sarg-scripts/sarg-reports daily
15      0       *       *       1       root    /usr/local/etc/sarg-scripts/sarg-reports weekly
20      1       1       *       *       root    /usr/local/etc/sarg-scripts/sarg-reports monthly

Также можно этот скрипт вызывать ежечасно для построения отчета о текущей активности.

Конфигурация директорий (откуда что брать, что запускать, куда класть отчет) осуществляется в скрипте, при его беглом просмотре быстро найдете что и как.

В этом скрипте также происходит и указание сквиду ротировать лог, тоесть отдельно это делать не надо.

К недостаткам скрипта можно  отнести то, что возможна потеря информации если запускать скрипт позже момента перехода между днями (тоесть не в 00:00:00) или в этот момент будет активность на прокси. В этом случае информация нового месяца может попасть в файл прошлого месяца и соответственно некорректно отобразиться в отчете.
Мне кажется, что эту проблему надо решать методом отправки лога сквида в pipe, иначе никак, поскольку сквид всеравно не сделает моментальную ротацию лога, а даже одна строчка может оказаться критичной.


В моем случае это не критично, по ночам в офисе никого не бывает )


"Sarg - ежемесячный отчет"
Отправлено idw , 29-Апр-06 07:34 
>Посмотри этот скрипт: http://termex-2.tsk.ru/sarg/sarg-reports
>
Спасибо попробую.