Установка free-sa на ubuntu ( Статистика для Squid3 )

У себя в офисе для мониторинга расхода трафика проходящего через squid я использую free-sa

Настройка free-sa

Идём на первоисточник качаем последнюю версию.

распаковываем.

заходим в каталог, находим файл global.mk
редактируем его

нам нужно указать свою ОС

# 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

Снимаем комментарий с нужного нам.

Дальше

 make install

ах, кто ещё ниразу ничего не компилировал ставим всё что нужно

apt-get install build-essential

потом компилируем

пример конфига копируем как новый конфиг

cp /etc/free-sa/free-sa.conf.sample /etc/free-sa/free-sa.conf

Дальше идём правим его.

#
# 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»

отмечены пункты что надо либо раскоментировать, либо изменить.

Дальше нам нужен скрипт, который с крона будет запускать генератор отчётов

touch /etc/free-sa/free-sa_day

В него вот такое содержимое

#!/bin/bash
# Приложение создания отчетов по журналам SQUID
#set -x
umask 0022
#Важный момент для кодировки
#У меня по крону получался Английский отчёт
#А при ручном запуске Русский
export LANG=ru_RU.UTF-8
export LC_ALL=
free_sa=/usr/bin/free-sa
date1=<code>date +%x</code>
$free_sa -d $date1-

Делаем его исполняемым

chmod u+x /etc/free-sa/free-sa_day

и запускаем.
после чего заходим на http://ip_proxy/free-sa
И узреем статистику на сегодня.

идём дальше в крон

crontab -e

И добавляем

*/30 * * * * /etc/free-sa/free-sa_day

В результате отчёт будет обновляться раз в пол часа.

PS Да забыл, в файле usertab через пробел

192.168.100.6 Иванов И.И.
192.168.100.7 Сидоров С.С.

PPS Обнаружен злой баг в этой версии, я думаю что скоро его профиксят,
Дело в том, что при генерировании «topsites» файл отчёта может легко весить 5-10гб!!! собсвенно выключем эту функцию от греха подальше.

отключаем topusers:
Раскомментируем и поставим no
top_sites_report=»no»

  1. Спасибо за статью!
    Чтоб по крону был русский язык, нужно в free-sa.conf
    подправить строчку
    locale=»ru_RU.UTF-8″

  2. Ошибка в задании crontab.
    Правильно будет так:
    */30 * * * * root /etc/free-sa/free-sa_day

  3. Всем привет. ДЕлаю так как написано, но когда выхожу на сайт то у меня нет графиков, а просто список файлов. Что может быть не так?

  4. 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

  5. наверное надо запустить скрипт генерации отчётов?

  6. Евгений, если у вас 64 разрядная система, то решение вот по этой ссылочке можете увидеть: http://www.linux.org.ru/forum/admin/10078741?lastmod=1390307197634#comment-10080358

  7. Создал я файл скрипта вписал вашу строчку и получил ошибку
    error conveting «date» to time
    уже что только не пробовал
    система ubuntu 14.04

  8. Создал я файл скрипта вписал вашу строчку и получил ошибку
    error conveting «date» to time
    уже что только не пробовал
    система ubuntu 14.04 x 86

  9. Поднял ubuntu 14.04 + dhcp+ dns+ SQUID3 — все это отлично работает
    free-sa осталось
    в общем сделал все по вашему гайду но получаю следующие ошибки
    «error converting «date» to time_t» — и в интернете не нашел ответа как ее решить

    на другой виртуалке попробовал с нуля поднять
    «Can’t convert date» — вот такая ошибка на всех форумах пишут сделать date +%x

    я вижу ответ 9.12.2015
    и что тогда дальше с этим делать((( Извините за если туплю. новичок в этом пока что.

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">