Настройка программы отображения статистики free-sa: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая: ==Описание== Представлены первые релизы нового проекта Free-SA, занимающегося разработкой программы, кот...)
 
м (Откат правок Reliaka (обсуждение) к версии Misha)
 
(не показано 25 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
==Описание==
 
==Описание==
Представлены первые релизы нового проекта Free-SA, занимающегося разработкой программы, которая является хорошей заменой устаревшего SARG. Версия Free-SA, использованная для написания данной статьи: '''1.4.0'''<br/>
+
Представлены первые релизы нового проекта Free-SA, занимающегося разработкой программы, которая является хорошей заменой устаревшего SARG. Версия Free-SA, использованная для написания данной статьи: '''1.6.2'''<br/>
 
Из особенностей Free-SA автор выделяет:
 
Из особенностей Free-SA автор выделяет:
 
* более внятная архитектура и код (C/HTML/CSS);
 
* более внятная архитектура и код (C/HTML/CSS);
Строка 16: Строка 16:
 
==Установка программы==
 
==Установка программы==
 
Итак идем на [http://free-sa.sourceforge.net/ | сайт программы], потом на '''download''' и выкачиваем последний релиз программы<br/>
 
Итак идем на [http://free-sa.sourceforge.net/ | сайт программы], потом на '''download''' и выкачиваем последний релиз программы<br/>
Допустим, что это файл '''free-sa-1.4.0.tar.gz''':
+
Допустим, что это файл '''free-sa-2.0.0b4p8.tar.gz''':
<pre># cp free-sa-1.4.0.tar.gz /usr/local/src
+
<pre># cp free-sa-2.0.0b4p8.tar.gz /usr/local/src
 
# cd /usr/local/src
 
# cd /usr/local/src
# tar -zfx free-sa-1.4.0.tar.gz
+
# tar -zfx free-sa-2.0.0b4p8.tar.gz
# cd free-sa-1.4.0</pre>
+
# cd free-sa-2.0.0b4p8</pre>
Теперь редактируем файл '''global.mk'''. В нем нужно установить путь к директории '''free-sa''' для Web интерфейса, обычно:
+
Теперь редактируем файл '''global.mk'''. В нем нужно установить Вашу операционную систему, а в файле конфигурации Вашей операционной системы в каталоге '''/usr/local/free-sa-2.0.0b4p8/configs/OS.mk''' - те параметры, которые нужны Вам.<br>
 +
Я, например, использовал файл redhat-native-gcc4.mk и поменял в нем путь к директории '''free-sa''' для Web интерфейса, обычно:
 
<pre> WWWDIR = /var/www/html/$(PROGLNAME)</pre>
 
<pre> WWWDIR = /var/www/html/$(PROGLNAME)</pre>
 +
Находим и исправляем путь по команды sort.
 +
<pre># Sort utility
 +
SORT = /bin/sort</pre>
 
Далее компилируем и устанавливаем free-sa:
 
Далее компилируем и устанавливаем free-sa:
<pre># make
+
<pre>#make install</pre>
# make install</pre>
+
===Ошибка компиляции===
 +
При компиляции вылезла ошибка
 +
<pre>gcc: ошибка: unrecognized option «--relax»</pre>
 +
'''Решение:''' Нужно убрать эту опцию из файлов
 +
#Насторйки (В моем случае  /usr/local/free-sa-2.0.0b4p8/configs/redhat-native-gcc4.mk).
 +
#Из файла /usr/local/free-sa-2.0.0b4p8/src/config.h
  
 
==Настройка программы==
 
==Настройка программы==
Все файлы настройки лежат в директории '''/usr/local/etc/free-sa'''<br />
+
Все файлы настройки, в зависимости от OC,  лежат в директории, установленной в переменной '''$ETCDIR''' файла  '''/usr/local/etc/free-sa/configs/OC.mk'''<br />
 +
В моем случае это /etc/free-sa/. Поэтому дальше буду рассматривать только его.
 
:1. Копируем файл '''free-sa.conf.sample''' в '''free-sa.conf''' и редактируем его.<br />
 
:1. Копируем файл '''free-sa.conf.sample''' в '''free-sa.conf''' и редактируем его.<br />
Все переменные в этом файле закомментированы знаком '''#''' и выставлены в значения по-умолчанию. Не должно быть раскомментированных переменных без значения, например:<br/>
+
:2. Выкладываю тут файл настроек, далее идут коментарии
<pre>#global_filter=""</pre>
+
<pre>
:2. Проверяем настройку следующих переменных:
+
#
 +
# 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/html/free-sa"
 +
#locale=""
 +
 
 +
 
 +
####################
 +
# LOG FILE OPTIONS #
 +
####################
 +
log_file="/var/log/squid/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/users"
 +
#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="M"
 +
reports_indicators="yes"
 +
#reports_logo=""
 +
reports_overwrite="1"
 +
#reports_privacy_mode="0"
 +
#reports_privacy_username=""
 +
reports_rotate="month"
 +
#reports_show_info="yes"
 +
#reports_site_name=""
 +
#reports_svg_width="960"
 +
reports_url_limit="50"
 +
 
 +
 
 +
##############################
 +
# PARTICULAR REPORTS OPTIONS #
 +
##############################
 +
#email_address=""
 +
 
 +
#index_show_calendar="yes"
 +
#index_sort="DATETIME"
 +
 
 +
#real_time_timeout="5000"
 +
 
 +
#server_efficiency_report="yes"
 +
server_efficiency_bytes_divisor="yes"
 +
#server_efficiency_svg=""
 +
 
 +
top_sites_report="yes"
 +
#top_sites_limit="0"
 +
#top_sites_svg=""
 +
 
 +
#top_users_svg=""
 +
 
 +
#users_excess=""
 +
#users_excess_limit="0"
 +
 
 +
#users_graphics_svg=""
 +
 
 +
#users_report="yes"
 +
 
 +
#users_fullurl_report="yes"
 +
#users_fullurl_split="no"
 +
</pre>
 +
:3. Проверяем настройку следующих переменных:
 
* log - полный путь к анализируемому журналу сервера, в примере ниже к журналу squid-а:
 
* log - полный путь к анализируемому журналу сервера, в примере ниже к журналу squid-а:
 
<pre>log="/var/log/squid/access.log"</pre>
 
<pre>log="/var/log/squid/access.log"</pre>
 
* usertab - полный путь к файлу преобразования имен, в примере ниже он размещен в директории с конфигурационными файлами free-sa:
 
* usertab - полный путь к файлу преобразования имен, в примере ниже он размещен в директории с конфигурационными файлами free-sa:
<pre>usertab="/usr/local/etc/free-sa/users"</pre>
+
<pre>usertab="/etc/free-sa/users"</pre>
 
* targetdir - корневая директория для размещения отчетов (ранее, на этапе сборки программы, она была определена как WWWDIR), изменять стоит если вы ее хотите переопределить:
 
* targetdir - корневая директория для размещения отчетов (ранее, на этапе сборки программы, она была определена как WWWDIR), изменять стоит если вы ее хотите переопределить:
 
<pre>targetdir="/var/www/html/free-sa"</pre>
 
<pre>targetdir="/var/www/html/free-sa"</pre>
:3. Создаем и редактируем файл преобразования имен '''/usr/local/etc/free-sa/users'''. Если этого файла нет, то надо закоментировать соответствующую строку в '''free-sa.conf'''. Пример такого файла:
+
:3. Создаем и редактируем файл преобразования имен '''/usr/local/etc/free-sa/users'''. Пример такого файла:
 
<pre>172.16.140.10 Копылова Елена Александровна
 
<pre>172.16.140.10 Копылова Елена Александровна
 
172.16.140.11 Трофимова Людмила Николаевна</pre>
 
172.16.140.11 Трофимова Людмила Николаевна</pre>
Строка 45: Строка 167:
 
:4. Я установил дополнительно еще следующие параметры
 
:4. Я установил дополнительно еще следующие параметры
 
{| border=1
 
{| border=1
 +
| dld="true"
 +
| Включить отчет о загрузках файлов
 +
|-
 +
| dld_min=512000
 +
| для исключения ссылок меньших по размеру, чем указанное в этой опции значение. Влияет на индикаторы (и
 +
соответственно на отчет "Закачки" (downloads)). В данном случае 512Кб
 +
|-
 +
| ts_limit=30
 +
|для ограничения количества сайтов в отчете "Популярные сайты" (top sites).
 +
|-
 
  | overwrite="1"
 
  | overwrite="1"
 
  | Для перезаписи отчетов совпадающие по своему периоду, например, с точностью в 1 день (У меня таким образом каждые пол часа считается статистика и при этом на 1 день всегда один отчет)
 
  | Для перезаписи отчетов совпадающие по своему периоду, например, с точностью в 1 день (У меня таким образом каждые пол часа считается статистика и при этом на 1 день всегда один отчет)
Строка 59: Строка 191:
 
Из консоли запускаем
 
Из консоли запускаем
 
<pre>free-sa -d 26.06.2007-27.06.2007</pre>
 
<pre>free-sa -d 26.06.2007-27.06.2007</pre>
Где 26.06.2007-27.06.2007 - это диаппазон за который надо собрать статистику<br />
+
Где 26.06.2007-27.06.2007 - это диапазон за который надо собрать статистику<br />
 
Остальные параметры командной строки можно посмотреть в '''man free-sa'''<br />
 
Остальные параметры командной строки можно посмотреть в '''man free-sa'''<br />
 
И если нет никаких ошибок, то в директории '''/var/www/html/free-sa''' должен появиться каталог '''26.06.2007-27.06.2007''', и значит программа работает нормально.
 
И если нет никаких ошибок, то в директории '''/var/www/html/free-sa''' должен появиться каталог '''26.06.2007-27.06.2007''', и значит программа работает нормально.
 +
 
==Автоматический запуск из cron==
 
==Автоматический запуск из cron==
 
Создаем файл '''/etc/scripts/free-sa_day.sh''' (Путь может быть любым, в некоторых системах достаточно будет поместить скрипт в директорию /etc/cron.daily '''(например!)''' без изменения crontab)
 
Создаем файл '''/etc/scripts/free-sa_day.sh''' (Путь может быть любым, в некоторых системах достаточно будет поместить скрипт в директорию /etc/cron.daily '''(например!)''' без изменения crontab)
Строка 67: Строка 200:
 
# Программа создания отчетов по журналам SQUID
 
# Программа создания отчетов по журналам SQUID
 
#set -x
 
#set -x
 +
umask 0022
 
export LANG=ru_RU.UTF-8
 
export LANG=ru_RU.UTF-8
 
export LC_ALL=
 
export LC_ALL=
path1=/var/www/html/volmed/free-sa
+
free_sa=/usr/bin/free-sa
free_sa=/usr/local/bin/free-sa
 
 
date1=`date +%x`
 
date1=`date +%x`
 
$free_sa -d $date1-
 
$free_sa -d $date1-
Строка 82: Строка 215:
 
<pre>service crond restart</pre>
 
<pre>service crond restart</pre>
 
И наслаждаемся статистикой по адресу '''http://adress_server/free-sa'''
 
И наслаждаемся статистикой по адресу '''http://adress_server/free-sa'''
 +
 +
==Просмотр " Эффективность сервера"==
 +
{| border=1
 +
!Тип трафика||Описание
 +
|-
 +
|Обработанный||Это весь трафик.
 +
|-
 +
|Запрет на прокси (ACL)||Это трафик заблокированный на прокси (его списками контроля доступа), чаще всего - вырезание баннеров или блокирование запрещенных сайтов или файлов.
 +
|-
 +
|Закэшированный||То, что было отдано из кэша и не скачивалось извне (обычно из Internet)
 +
|-
 +
|Другой локальный||Запросы аутентификации и запросы, которые прокси обработать не смог (некорректно сформированные, чаще всего червяками)
 +
|-
 +
|Актуальный||Из обработанного вычесть все 3 предыдущие (закэшированный, другой локальный и актуальный). Т.е. это тот трафик, который пришел извне (обычно из Internet)
 +
|}
 +
 +
==Зависает на команде sort==
 +
*'''Проблема''' После запуска скрипта он зависает, и если с другой консоли посмотреть командой '''top''', то виснет на выполнении программы '''sort'''.
 +
*'''Решение''' Можно решить двумя способами
 +
Проблема рассмотрена в [http://www.opennet.ru/openforum/vsluhforumID3/37681.html#25 форуме]<br />
 +
1. Берем и качаем пакет [http://www.slackware.at/data/slackware-12.0/slackware/a/coreutils-6.9-i486-1.tgz slackware coreutils]. Это почти обычный tar.gz, в mc он открывается, нужно взять из него только '''/bin/sort'''. Переписываем его в '''/usr/local/bin''' и переименовываем в '''sort.correct'''<br />
 +
Далее в файле global.mk исходника fre-sa меняем.
 +
<pre>SORT = /usr/local/bin/sort.correct</pre>
 +
И пересобираем fre-sa
 +
<pre># make clean
 +
# make
 +
# make install</pre>
 +
2. Пересобираем пакет coreutils от Mandriva без '''coreutils-6.9-new-i18n.patch'''. Для этого качаем и устанавливаем coreutils-6.9-5mdv2008.0.src.rpm<br />
 +
Идем в '''/usr/src/rpm/SPECS''' и правим файл '''coreutils.spec'''<br />
 +
Коментируем 36 строку
 +
<pre>#Patch800: coreutils-6.9-new-i18n.patch</pre>
 +
118 строку
 +
<pre>#%patch800 -p1 -b .i18n</pre>
 +
и 149
 +
<pre>#chmod a+x tests/sort/sort-mb-tests</pre>
 +
И вводим команду для пересборки пакета
 +
<pre>rpm -bb coreutils.spec</pre>
 +
Если попросит, доустанавливаем нужные пакеты, а потом снова пробуем.<br />
 +
После нормального завершения сборки идем в '''/usr/src/rpm/RPMS/i586'''. Там и будут лежать три файла. Открываем в mc файл  '''coreutils-6.9-5mdv2008.0.i586.rpm'''. Идем в папку '''CONTENTS.cpio/bin''' и переписываем файл '''sort''' в '''/usr/local/bin/sort.correct'''.<br />
 +
Далее, как написано в первом пункте
 +
*Второй способ я бы использовал, только, если первый по каким-то причинам не заработал

Текущая версия на 22:15, 5 марта 2013

Описание

Представлены первые релизы нового проекта Free-SA, занимающегося разработкой программы, которая является хорошей заменой устаревшего SARG. Версия Free-SA, использованная для написания данной статьи: 1.6.2
Из особенностей Free-SA автор выделяет:

  • более внятная архитектура и код (C/HTML/CSS);
  • скорость формирования отчетов в 7-20 раз выше по сравнению с SARG (7х — для файла access.log объемом в 50 Мб, 20x — для 1 Гб);
  • все отчеты успешно проходят проверку W3C HTML/CSS validator;
  • потенциальная поддержка различных форматов файлов журналов (сейчас только Squid, CLF, Postfix, QMail, CommuniGate Pro);
  • дополнительные отчеты (в т.ч. для оценки эффективности сервера);
  • изменяемые «на-лету» темы оформления (сейчас 5).

Цели Free-SA:

  • контроль расхода трафика по пользователям;
  • контроль выполнения политик безопасности (в части доступа к ресурсам сети Internet) и информационная поддержка при служебных расследованиях некоторых инцидентов;
  • оценка эффективности работы серверов.

Сайт программы находится | тут

Установка программы

Итак идем на | сайт программы, потом на download и выкачиваем последний релиз программы
Допустим, что это файл free-sa-2.0.0b4p8.tar.gz:

# cp free-sa-2.0.0b4p8.tar.gz /usr/local/src
# cd /usr/local/src
# tar -zfx free-sa-2.0.0b4p8.tar.gz
# cd free-sa-2.0.0b4p8

Теперь редактируем файл global.mk. В нем нужно установить Вашу операционную систему, а в файле конфигурации Вашей операционной системы в каталоге /usr/local/free-sa-2.0.0b4p8/configs/OS.mk - те параметры, которые нужны Вам.
Я, например, использовал файл redhat-native-gcc4.mk и поменял в нем путь к директории free-sa для Web интерфейса, обычно:

 WWWDIR = /var/www/html/$(PROGLNAME)

Находим и исправляем путь по команды sort.

# Sort utility
SORT = /bin/sort

Далее компилируем и устанавливаем free-sa:

#make install

Ошибка компиляции

При компиляции вылезла ошибка

gcc: ошибка: unrecognized option «--relax»

Решение: Нужно убрать эту опцию из файлов

  1. Насторйки (В моем случае /usr/local/free-sa-2.0.0b4p8/configs/redhat-native-gcc4.mk).
  2. Из файла /usr/local/free-sa-2.0.0b4p8/src/config.h

Настройка программы

Все файлы настройки, в зависимости от OC, лежат в директории, установленной в переменной $ETCDIR файла /usr/local/etc/free-sa/configs/OC.mk
В моем случае это /etc/free-sa/. Поэтому дальше буду рассматривать только его.

1. Копируем файл free-sa.conf.sample в free-sa.conf и редактируем его.
2. Выкладываю тут файл настроек, далее идут коментарии
#
# 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/html/free-sa"
#locale=""


####################
# LOG FILE OPTIONS #
####################
log_file="/var/log/squid/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/users"
#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="M"
reports_indicators="yes"
#reports_logo=""
reports_overwrite="1"
#reports_privacy_mode="0"
#reports_privacy_username=""
reports_rotate="month"
#reports_show_info="yes"
#reports_site_name=""
#reports_svg_width="960"
reports_url_limit="50"


##############################
# PARTICULAR REPORTS OPTIONS #
##############################
#email_address=""

#index_show_calendar="yes"
#index_sort="DATETIME"

#real_time_timeout="5000"

#server_efficiency_report="yes"
server_efficiency_bytes_divisor="yes"
#server_efficiency_svg=""

top_sites_report="yes"
#top_sites_limit="0"
#top_sites_svg=""

#top_users_svg=""

#users_excess=""
#users_excess_limit="0"

#users_graphics_svg=""

#users_report="yes"

#users_fullurl_report="yes"
#users_fullurl_split="no"
3. Проверяем настройку следующих переменных:
  • log - полный путь к анализируемому журналу сервера, в примере ниже к журналу squid-а:
log="/var/log/squid/access.log"
  • usertab - полный путь к файлу преобразования имен, в примере ниже он размещен в директории с конфигурационными файлами free-sa:
usertab="/etc/free-sa/users"
  • targetdir - корневая директория для размещения отчетов (ранее, на этапе сборки программы, она была определена как WWWDIR), изменять стоит если вы ее хотите переопределить:
targetdir="/var/www/html/free-sa"
3. Создаем и редактируем файл преобразования имен /usr/local/etc/free-sa/users. Пример такого файла:
172.16.140.10 Копылова Елена Александровна
172.16.140.11 Трофимова Людмила Николаевна

IP адреса и имена должны разделяться пробелом. В случае использования аутентификации в squid можно использовать имена пользователей.

4. Я установил дополнительно еще следующие параметры
dld="true" Включить отчет о загрузках файлов
dld_min=512000 для исключения ссылок меньших по размеру, чем указанное в этой опции значение. Влияет на индикаторы (и

соответственно на отчет "Закачки" (downloads)). В данном случае 512Кб

ts_limit=30 для ограничения количества сайтов в отчете "Популярные сайты" (top sites).
overwrite="1" Для перезаписи отчетов совпадающие по своему периоду, например, с точностью в 1 день (У меня таким образом каждые пол часа считается статистика и при этом на 1 день всегда один отчет)
rotate="month" Стирать всю статистику старше 1 месяца
divisor="M" Отображать статистику в Мб

Остальные параметры файла конфигурации можно посмотреть в man free-sa.conf

Проверка работы

Из консоли запускаем

free-sa -d 26.06.2007-27.06.2007

Где 26.06.2007-27.06.2007 - это диапазон за который надо собрать статистику
Остальные параметры командной строки можно посмотреть в man free-sa
И если нет никаких ошибок, то в директории /var/www/html/free-sa должен появиться каталог 26.06.2007-27.06.2007, и значит программа работает нормально.

Автоматический запуск из cron

Создаем файл /etc/scripts/free-sa_day.sh (Путь может быть любым, в некоторых системах достаточно будет поместить скрипт в директорию /etc/cron.daily (например!) без изменения crontab)

#!/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-

Где ru_RU.UTF-8 кодировка локали.
Данный скрипт обновляет статистику каждые полчаса и удаляет статистику месячной давности.
Добавляем строки в /etc/crontab

# Статистика SQUID
29,59  *  *  *  *       root    /etc/scripts/free-sa_day.sh

Далее перезапускаем cron

service crond restart

И наслаждаемся статистикой по адресу http://adress_server/free-sa

Просмотр " Эффективность сервера"

Тип трафика Описание
Обработанный Это весь трафик.
Запрет на прокси (ACL) Это трафик заблокированный на прокси (его списками контроля доступа), чаще всего - вырезание баннеров или блокирование запрещенных сайтов или файлов.
Закэшированный То, что было отдано из кэша и не скачивалось извне (обычно из Internet)
Другой локальный Запросы аутентификации и запросы, которые прокси обработать не смог (некорректно сформированные, чаще всего червяками)
Актуальный Из обработанного вычесть все 3 предыдущие (закэшированный, другой локальный и актуальный). Т.е. это тот трафик, который пришел извне (обычно из Internet)

Зависает на команде sort

  • Проблема После запуска скрипта он зависает, и если с другой консоли посмотреть командой top, то виснет на выполнении программы sort.
  • Решение Можно решить двумя способами

Проблема рассмотрена в форуме
1. Берем и качаем пакет slackware coreutils. Это почти обычный tar.gz, в mc он открывается, нужно взять из него только /bin/sort. Переписываем его в /usr/local/bin и переименовываем в sort.correct
Далее в файле global.mk исходника fre-sa меняем.

SORT = /usr/local/bin/sort.correct

И пересобираем fre-sa

# make clean
# make 
# make install

2. Пересобираем пакет coreutils от Mandriva без coreutils-6.9-new-i18n.patch. Для этого качаем и устанавливаем coreutils-6.9-5mdv2008.0.src.rpm
Идем в /usr/src/rpm/SPECS и правим файл coreutils.spec
Коментируем 36 строку

#Patch800: coreutils-6.9-new-i18n.patch

118 строку

#%patch800 -p1 -b .i18n

и 149

#chmod a+x tests/sort/sort-mb-tests

И вводим команду для пересборки пакета

rpm -bb coreutils.spec

Если попросит, доустанавливаем нужные пакеты, а потом снова пробуем.
После нормального завершения сборки идем в /usr/src/rpm/RPMS/i586. Там и будут лежать три файла. Открываем в mc файл coreutils-6.9-5mdv2008.0.i586.rpm. Идем в папку CONTENTS.cpio/bin и переписываем файл sort в /usr/local/bin/sort.correct.
Далее, как написано в первом пункте

  • Второй способ я бы использовал, только, если первый по каким-то причинам не заработал