вторник, 10 марта 2009 г.

MySAR

MySAR - анализатор лога squid с поддержкой mysql

Необходимость заставила поискать анализатор лога для сквида который всё своё барахло хранит в мускуле....
После нескольких проб (squid2mysql, sams)
Остановился на MySAR http://giannis.stoilis.gr/software/mysar/
Вид имеет практически идентичный sarg`у фугкционал тоже.

Итак...
Имеем freebsd 7.1
mysql 5.0
php 5.0 with CLI
Apache 2.2
Squid 2.7
access.log 78mb
Приступаем
make -C /usr/ports/www/mysar install
В процессе установки встанет еще и bash как неизбежное зло
После этого добавляем алиас в конф апача
Alias /mysar "/usr/local/mysar/www/"
AllowOverride All
Order allow,deny
Allow from all
Копируем темплейты и папки /usr/local/mysar/www-templates.ru_RU в www-templates
Рестартим апач (apachectl restart)
создаём в папке /usr/local/mysar/etc/ файл config.ini со следующим содержимым
dbUser = mysar
dbPass = mysar
dbHost = localhost
dbName = mysar
Далее идем веб морду
http://Ваш_ip/mysar
Следуем инструкциям по установке.
Настраиваем пути к логу и количество дней на сохранение

После этого мне как владельцу большого по мнению авторов программы лога надо ухитриться перенести его в базу....
Если просто запускать скрипт переноса в базу
/usr/local/mysar/bin/mysar-importer.php
То я получаю сообщение - Exceeded run time
что меня дико не устраивает

Итак редактируем /usr/local/mysar/bin/mysar-importer.php
На строки с 109 по 114 комментим
debug('Now timestamp is: '.$timestampNow.'. Script start was at: '.$startTime,40,__FILE__,__LINE__);
// debug('Checking if run time exceeded '.$maxRunTime.' seconds...',40,__FILE__,__LINE__);
// if(($timestampNow-$startTime ) > $maxRunTime) {
// debug('YES',40);
// debug('Exceeded run time',30,__FILE__,__LINE__);
// my_exit(0);
// }
debug('NO',40);

потом запускаем скрипт -
php /usr/local/mysar/bin/mysar-importer.php
Ждем....
после окончания проверяем наличие информации в веб морде...
если все ОК то
crontab -e

И добавляем задания
* * * * * /usr/local/bin/php /usr/local/mysar/bin/mysar-importer.php > /usr/local/mysar/log/mysar-importer.log 2>&1
0 0 * * * /usr/local/bin/php /usr/local/mysar/bin/mysar-maintenance.php > /usr/local/mysar/log/maintenance.log 2>&1

Усе.

Комментариев нет: