Установка и настройка Sarg на Squid
Sarg (Squid Analysis Report Generator) – парсер, анализатор логов Squid и генератор отчётов по ним (отчёты создаются в формате html). В этой статье я расскажу об установке Sarg на Squid3 и настройке Apache для авторизации и просмотра логов через браузер. Трафик SARG считает вместе с инфой отданной из кэша – т.е. всегда будет врать в большую сторону. Операционная система – Debian 6 Squeeze.
Sarg выдает отчеты в формате HTML и для работы с ними потребуется установленный веб-сервер. Для установки самого парсера необходимо в список репозиториев (/etc/apt/sources.list) внести строчку с бэкпортами:
1 |
deb http://backports.debian.org/debian-backports squeeze-backports main |
Устанавливаем:
1 |
apt-get install php5 libapache2-mod-php5 sarg |
Изменяем настройки в файле /etc/sarg/sarg.conf:
charset UTF-8
resolve_ip yes
access_log /var/log/squid3/access.log
output_dir /var/www/stat
и аналогичные настройки в /etc/sarg/sarg-reports.conf
Создаем папку для отчетов:
1 |
mkdir /var/www/stat |
Настроим авторизацию доступа к отчетам через веб – в apache2.conf добавьте:
1 |
AllowOverride All |
Апач увидит .htaccess’ы, укажем путь к файлу с логинами и паролями для просмотра сгенерированной информации – в /var/www/stat/.htaccess пишем:
1 2 3 4 5 |
AuthName "Restricted Area" AuthType Basic AuthUserFile /home/rooslan/.htpasswd AuthGroupFile /dev/null require valid-user |
Добавим первого пользователя и зададим ему пароль (логин/пасс, естественно, можете придумать свои):
1 |
htpasswd -cm /home/rooslan/.htpasswd root |
Редактируем /usr/sbin/sarg-reports:
1 2 3 4 |
<title>$PAGETITLE</title>\n\ \n\ \n\ \n\ |
В скрипте /usr/sbin/sarg-reports видим комментарий автора:
„REMEMBER: if you use logrotate, configure it to rotate the logs within MONTHLY basis, AFTER sarg-reports created the monthly html report.“
Поэтому в файле /etc/logrotate.d/squid3 вместо daily пропишем monthly – то есть, как только sarg сделает отчет за месяц, logrotate.d выполнит свою работу:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/var/log/squid3/*.log { monthly compress delaycompress rotate 2 missingok nocreate sharedscripts prerotate test ! -x /usr/sbin/sarg-reports || /usr/sbin/sarg-reports monthly endscript postrotate test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate endscript } |
Так как prerotate в конце месяца создаст отчет MONTHLY – закомментируем все строчки в файле /etc/cron.monthly/sarg
А чтобы ежедневно и еженедельно sarg запускался раньше, чем logrotate переименуем в 0sarg:
mv /etc/cron.daily/sarg /etc/cron.daily/0sarg
(run-parts –list /etc/cron.daily покажет очередность выполнения скриптов)
mv /etc/cron.weekly/sarg /etc/cron.weekly/0sarg
И, в окончание настройки, рестартим cron и apache.
Чтобы сформировать для проверки отчет вручную, наберите sarg-reports today (или manual, daily, weekly, monthly).
P.S. Для удобства можно воспользоваться модулем webmin для управления SARG.
a854
30.04.2010 @ 23:16
Прикрутил LightSquid. Советую.
Askony
17.05.2010 @ 23:45
Мсье знает толк в извращниях
a854
18.05.2010 @ 23:48
Где вы там увидели?
Nick3y
29.05.2010 @ 23:48
Может, имеется в виду использование sed’a
Монгол
01.10.2010 @ 23:16
Ставил SARG в прошлом году, папка с html-отчетами быстро пухнет до 10к файлов, помучался и удалил ее потом
Uchla
02.10.2010 @ 10:10
Что удалили? SARG?
ubuntu
06.12.2010 @ 22:16
[b]uhla[/b] Сделал все по вашему мануалу, но вместо букв почему-то кракозябры?
Гость
19.01.2011 @ 11:22
Спасибо за статью. Подскажите, пожалуйста, как из отчета исключить некоторые домены
Дмитрий
11.02.2011 @ 03:16
Спасибо огромное все получилось.
Админ
06.06.2011 @ 15:55
Посмотрите в сторону Free-SA (free-sa.sf.net) вместо sarg
Uchla
08.06.2011 @ 18:01
Спасибо, есть такая мысль
Гость
03.09.2011 @ 08:22
ставьте winroute и не партесь :-D
:mrgreen:
SergeySL
09.02.2012 @ 13:17
Выложил статью про интеграцию SARG и AD –
sergeysl.ru/freebsd-insert-information-about-users-of-active-directory-to-sarg-reports
Вадим
18.11.2013 @ 10:17
все сделал как написано , в итоге апач сервер не открывается а при создании отчета вручную пишет
/etc/sarg/sarg-reports.conf: line 1: charset: command not found
/etc/sarg/sarg-reports.conf: line 2: resolve_ip: command not found
/etc/sarg/sarg-reports.conf: line 3: access_log: command not found
/etc/sarg/sarg-reports.conf: line 4: output_dir: command not found
SARG: Period covered by log files: 18/11/2013-18/11/2013
как исправить ?
Uchla
20.11.2013 @ 14:57
Вы сам Squid установили? Какой Linux и какой версии?
Что у вас выдает
Покажите конфиг сквида?
Uchla
17.05.2014 @ 19:00
Описание трех софтин на Хабрахабре – SqStat, Sarg и SquidView –
Squid для самых маленьких. Часть 3 Статистика: habrahabr.ru/post/56886
Samir
27.02.2015 @ 00:08
юзайте опенсурс POUND PROXY SERVER