На данный момент имеем полностью настроенный Squid, но расслабляться пока еще рано. В одно прекрасное утро начальство захочет узнать, на каких сайтах бывают сотрудники компании, и сколько времени они там проводят.
Всю нужную информацию можно найти в логах сквида, но считать вручную вроде:
$ sudo tail -f /var/log/squid/access.log | awk ‘{print$3 » » $8 » » $7}’
Хотя и вполне реально, но уж очень не удобно, да и не нужно. Для этого прокси-сервера написано невероятное количество анализаторов логов. Одним из самых популярных решений является SARG (Squid Analysis Report Generator), который выдает подробную статистику по пользователям. На сайте проекта
$ sudo apt-get install sarg apache2
В Ubuntu настройки Apache можно не трогать, все будет работать с параметрами по умолчанию. В различных дистрибутивах и операционных системах файлы могут быть помещены в разные каталоги. В Ubuntu место дислокации — /etc/squid, конфигурационный файл называется sarg.conf.
$ sudo mcedit /etc/squid/sarg.conf
# Указываем язык, возможные значения: Russian-koi8,
# Russian_UTF-8, Russian-windows1251
language Russian_UTF-8
charset Cyrillic
# Файл со статистикой, обрати внимание, что в некоторых
# дистрах каталоги для Squid 3.0 называются squid3
access_log /var/log/squid3/access.log
# Включаем построение графиков
graphs yes
graph_days_bytes_bar_color green
# При необходимости можно ограничить просмотр отчетов
# password /etc/squid/sarg.passwd
# Каталог, в который помещаются отчеты
output_dir /var/www/squid-reports
# Сортировка юзеров в выводе по USER CONNECT BYTES TIME
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
# Установка лимита в мегабайтах, пользователи, превысившие его, попадают в файл блокировок
# per_user_limit /etc/squid/sarg.user-deny 300
# Тип отчета, включаем все
report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
# Для удобства можно конвертировать логины и IP-адреса в реальные имена
# (файл должен содержать записи вида «userid/IP-address имя»)
usertab /etc/squid/sarg.usertab
Если output_dir находится вне корневого каталога Apache, в apache2.conf необходимо создать алиас с указанием пути и дать нужные права. К сожалению, при помощи per_user_limit можно указать лимит один на всех, без учета пользователей и групп.
Создание отчетов производится при помощи скрипта /usr/sbin/sarg-reports, который запускается при помощи cron:
$ sudo crontab –e
00 08-18/1 * * * sarg-reports today
00 00 * * * sarg-reports daily
00 01 * * 1 sarg-reports weekly
30 02 1 * * sarg-reports monthly
Теперь открываем браузер и заходим на страницу отчетов.
В последнее время вместо SARG многие рекомендуют использовать Free-SA
Он более легок, имеет большую скорость создания отчетов, в перспективе кроме Squid, Postfix, Qmail и CGP будут поддерживаться журналы других серверов. Еще один быстрый конкурент —
Permalink
//
ребят, сделал все поинструкции, но в конце пишет это:
matrix@matrix:~$ sudo crontab -e
no crontab for root — using an empty one
No modification made
matrix@matrix:~$
//
кстати стоит xubuntu 9.10
что я не так сделал?
//
Уважаемый Sacred!
Данные строки необходимо записать в файле /etc/crontab
$ sudo crontab –e
00 08-18/1 * * * sarg-reports today
00 00 * * * sarg-reports daily
00 01 * * 1 sarg-reports weekly
30 02 1 * * sarg-reports monthly
Также можете попробовать такую запись
# — BEGIN ROOT CRONTAB —
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
00 09-21/1 * * * sarg-reports today
30 21 * * * sarg-reports daily
00 22 * * 1 sarg-reports weekly
30 23 1 * * sarg-reports monthly
# — END ROOT CRONTAB —