У себя в офисе для мониторинга расхода трафика проходящего через squid я использую free-sa
Идём на первоисточник качаем последнюю версию.
распаковываем.
заходим в каталог, находим файл global.mk
редактируем его
нам нужно указать свою ОС
[cc lang=”bash”]# Operating system profile
#OSTYPE = generic-any-cc
#OSTYPE = altlinux-i586-gcc4
#OSTYPE = altlinux-x86_64-gcc4
#OSTYPE = cygwin-native-gcc3
#OSTYPE = freebsd-i386-gcc3
#OSTYPE = freebsd-native-gcc4
#OSTYPE = hpux-64_2.0W-cc
#OSTYPE = netbsd-i386-gcc4
#OSTYPE = openbsd-i386-gcc3
#OSTYPE = opensuse-native-gcc4
#OSTYPE = redhat-native-gcc4
#OSTYPE = slackware-native-gcc4
#OSTYPE = solaris-native-cc
OSTYPE = ubuntu-i586-gcc4[/cc]
Снимаем комментарий с нужного нам.
Дальше
[cc lang=”bash”] make install[/cc]
ах, кто ещё ниразу ничего не компилировал ставим всё что нужно
[cc lang=”bash”]apt-get install build-essential[/cc]
потом компилируем
пример конфига копируем как новый конфиг
[cc lang=”bash”]cp /etc/free-sa/free-sa.conf.sample /etc/free-sa/free-sa.conf[/cc]
Дальше идём правим его.
#
# Sample configuration file for free-sa(1)
#
# copy to /etc/free-sa/free-sa.conf
###################
# GLOBAL OPTIONS #
##################
configuration_name=”/etc/free-sa/free-sa.conf”
#cache_directory=”/var/cache/free-sa”
target_directory=”/var/www/free-sa”
#locale=””####################
# LOG FILE OPTIONS #
####################
log_file=”/var/log/squid3/access.log”
#log_format=”0″
#log_skip_errors=”no”
#log_time_zone_shift=”0″##########################
# NAMES HANDLING OPTIONS #
##########################
#recipient_tolower=”no”
username_file=”/etc/free-sa/usertab”
#username_is_preferred=”yes”
username_resolve_ip=”yes”
#username_unescape=”no”###################
# FILTERS OPTIONS #
###################
#global_filter=””# users_filter is enabled by default to keep default value of obsolete fulltraffic=”false” 1.x.y option
users_filter=”/etc/free-sa/users.filter.sample”# HTTP related filter reports
local_filter=”/etc/free-sa/HTTP_proxy_auth_failures.filter.sample”
local_filter=”/etc/free-sa/HTTP_site_auth_failures.filter.sample”
local_filter=”/etc/free-sa/HTTP_proxy_denied.filter.sample”
local_filter=”/etc/free-sa/HTTP_site_denied.filter.sample”
local_filter=”/etc/free-sa/HTTP_CONNECT_method.filter.sample”
local_filter=”/etc/free-sa/HTTP_PUT+POST_method.filter.sample”
local_filter=”/etc/free-sa/HTTP_downloads.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_archives.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_audio.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_cddvd.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_code.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_office.filter.sample”
#local_filter=”/etc/free-sa/HTTP_downloads_video.filter.sample”
#local_filter=”/etc/free-sa/HTTP_unusual_methods.filter.sample”
#local_filter=”/etc/free-sa/HTTP_unusual_codes.filter.sample”# SMTP related filter reports
#local_filter=”/etc/free-sa/SMTP_delivery_rejected.filter.sample”
#local_filter=”/etc/free-sa/SMTP_receiving_rejected.filter.sample”##########################
# GLOBAL REPORTS OPTIONS #
##########################
#reports_bytes_divisor=”b”
#reports_indicators=”yes”
#reports_logo=””
# чтоб можно было за день несколько раз генерировать отчёт.
reports_overwrite=”1″
#reports_privacy_mode=”0″
#reports_privacy_username=””
#reports_rotate=””
#reports_show_info=”yes”
#reports_site_name=””
#reports_url_limit=”50″##############################
# PARTICULAR REPORTS OPTIONS #
##############################
#email_address=””#real_time_timeout=”5000″
#server_efficiency_report=”yes”
#server_efficiency_bytes_divisor=”no”#top_sites_report=”yes”
#top_sites_limit=”0″#users_graphics_svg=”no”
#users_graphics_svg_mode=”yes”
#users_graphics_svg_pie=”no”#users_report=”yes”
#users_fullurl_report=”yes”
#users_fullurl_split=”no”
отмечены пункты что надо либо раскоментировать, либо изменить.
Дальше нам нужен скрипт, который с крона будет запускать генератор отчётов
[cc lang=”bash”]touch /etc/free-sa/free-sa_day[/cc]
В него вот такое содержимое
[cc lang=”bash”]
#!/bin/bash
# Приложение создания отчетов по журналам SQUID
#set -x
umask 0022
#Важный момент для кодировки
#У меня по крону получался Английский отчёт
#А при ручном запуске Русский
export LANG=ru_RU.UTF-8
export LC_ALL=
free_sa=/usr/bin/free-sa
date1=`date +%x`
$free_sa -d $date1-[/cc]
Делаем его исполняемым
[cc lang=”bash”]chmod u+x /etc/free-sa/free-sa_day[/cc]
и запускаем.
после чего заходим на http://ip_proxy/free-sa
И узреем статистику на сегодня.
идём дальше в крон
[cc lang=”bash”]crontab -e[/cc]
И добавляем
[cc lang=”bash”]*/30 * * * * /etc/free-sa/free-sa_day[/cc]
В результате отчёт будет обновляться раз в пол часа.
PS Да забыл, в файле usertab через пробел
[cc lang=”bash”]192.168.100.6 Иванов И.И.
192.168.100.7 Сидоров С.С.[/cc]
PPS Обнаружен злой баг в этой версии, я думаю что скоро его профиксят,
Дело в том, что при генерировании “topsites” файл отчёта может легко весить 5-10гб!!! собсвенно выключем эту функцию от греха подальше.
отключаем topusers:
Раскомментируем и поставим no
top_sites_report=”no”
Спасибо за статью!
Чтоб по крону был русский язык, нужно в free-sa.conf
подправить строчку
locale=”ru_RU.UTF-8″
Ошибка в задании crontab.
Правильно будет так:
*/30 * * * * root /etc/free-sa/free-sa_day
Всем привет. ДЕлаю так как написано, но когда выхожу на сайт то у меня нет графиков, а просто список файлов. Что может быть не так?
Index of /free-sa
[ICO] Name Last modified Size Description
[DIR] Parent Directory –
[IMG] c.png 14-Jan-2014 14:01 329
[DIR] cgi-bin/ 14-Jan-2014 14:01 –
[IMG] d.png 14-Jan-2014 14:01 294
[IMG] g.png 14-Jan-2014 14:01 322
[TXT] gsa.css 14-Jan-2014 14:01 293
[TXT] lsa.css 14-Jan-2014 14:01 81
[TXT] rsa.css 14-Jan-2014 14:01 1.9K
[IMG] s.png 14-Jan-2014 14:01 227
[ ] sa.js 14-Jan-2014 14:01 15K
[DIR] themes/ 14-Jan-2014 14:01
наверное надо запустить скрипт генерации отчётов?
Евгений, если у вас 64 разрядная система, то решение вот по этой ссылочке можете увидеть: http://www.linux.org.ru/forum/admin/10078741?lastmod=1390307197634#comment-10080358
Создал я файл скрипта вписал вашу строчку и получил ошибку
error conveting “date” to time
уже что только не пробовал
система ubuntu 14.04
Создал я файл скрипта вписал вашу строчку и получил ошибку
error conveting «date» to time
уже что только не пробовал
система ubuntu 14.04 x 86
Поднял ubuntu 14.04 + dhcp+ dns+ SQUID3 – все это отлично работает
free-sa осталось
в общем сделал все по вашему гайду но получаю следующие ошибки
“error converting “date” to time_t” – и в интернете не нашел ответа как ее решить
на другой виртуалке попробовал с нуля поднять
“Can’t convert date” – вот такая ошибка на всех форумах пишут сделать date +%x
я вижу ответ 9.12.2015
и что тогда дальше с этим делать((( Извините за если туплю. новичок в этом пока что.