Документация по ОС FreeBSD Среда, 24.04.2024, 06:30
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Squid

Анализатор статистики Free-SA [2009]
Про анализаторы журналов прокси сервера Squid, на этом сайте, было сказано
достаточно много. В основном, рассматривались две программы: Sarg и Lightsquid.
Мне на глаза попалась еще одна программа, выполняющая функции, аналогичные
вышеперечисленным программам - Free-SA.
Привлек тот факт, что программа отечественная. "Отечественное - значит лучшее",
однажды изрек lissyara. Тезис, конечно, спорный, но в данном случае, он оказался прав.

Сначала обновим порты, процедура стандартна и уже не раз описана на этом сайте,
поэтому повторяться не буду. Итак, идем в директорию с портами и устанавливаем
программу:
cd /usr/ports/www/free-sa/ && make install clean

Опции конфигурирования при сборке во FreeBSD отсутствуют, да и сама программа
довольно маленькая.

После установки перечитаем пути:
rehash

Либо, если у вас sh или bash
hash -r

По адресу /usr/local/etc/free-sa/free-sa.conf.sample находится образец
файла конфигурации Free-SA. Его необходимо скопировать по тому же пути,
только с именем free-sa.conf. Небольшое пояснение по формату
конфигурационного файла Free-SA: его булевы опции могут принимать значения:
true/false,yes/no,
enable/disable, 1/0. Конфигурационный файл
должен обязательно заканчиваться пустой строкой.

Ниже приведено краткое описание опций конфигурационного файла free-sa.conf,
более подробную информацию можно посмотреть в руководстве
на данный файл (man free-sa.conf).

#
# Sample configuration file for free-sa(1)
#
# copy to /usr/local/etc/free-sa/free-sa.conf
#

#########
# FILES #
#########

#Полный путь к журналу. В нашем примере рассматриваем журнал Squid.
log="/var/log/squid/logs/access.log"

#Полный путь к файлу-таблице преобразования имен пользователей. 
#В этом файле назначаются соответствия отображаемых в отчетах имен 
#пользователей указанным в журнале именам пользователей 
#или ip адресам.
usertab="/usr/local/etc/free-sa/usertab"

#Полный путь к файлу, содержащему расширения для отчета "Закачки".
#В комплекте идет несколько образцов таких файлов, включая образцы с 
#расширениями аудио, видео, исполняемых файлов и файлов CD/DVD-образов.
downloads="/usr/local/etc/free-sa/downloads.sample"

#Полный путь к файлу локального фильтра. Локальный фильтр позволяет с 
#использованием специальных выражений добавить еще один отчет, причем 
#пользователь может сам определять, что должно отображаться в 
#этом отчете.
local_filter=""

#Полный путь к файлу глобального фильтра. Глобальный фильтр имеет 
#синтаксис подобный локальному (некоторые опции локального не 
#доступны для глобального). Он позволяет пользователю указать 
#критерии, при помощи которых фильтруется содержимое почти 
#всех отчетов.
global_filter=""

###############
# DIRECTORIES #
###############

#Полный путь к директории, в которую Free-SA должен разместить 
#директорию и файлы отчета за определенный период.
targetdir="/usr/local/www/data/free-sa"

#Полный путь к директории, в которой Free-SA хранит рабочие файлы 
#во время генерации очередного отчета. Этому параметру лучше не 
#присваивать значения /tmp, так как при старте Free-SA его полностью 
#очищает, к тому же небезопасно хранить в общедоступной директории 
#вполне читаемые файлы со статистикой всех пользователей.
tmpdir="/var/cache/free-sa"

#####################
# REPORTS SELECTION #
#####################

#Формировать отчет "Популярные сайты".
ts="true"

#Формировать отчет "Ошибки аутентификации на прокси" (код 407).
paf="true"

#Формировать отчет "Ошибки аутентификации на сайтах" (код 401).
saf="true"

#Формировать отчет "Запрет на прокси" (код 403). Сюда попадут только 
#URL блокированные прокси при помощи списков контроля доступа (ACL).
pdn="true"

#Формировать отчет "Запрет на сайтах" (код 403).
sdn="true"

#Формировать отчет "Метод прямого соединения CONNECT".
cct="true"

#Формировать отчет "Метод отправки данных PUT/POST".
pst="true"

#Формировать отчет "Закачки". Закачки определяются согласно файла 
#расширений, указываемого через опцию downloads.
dld="false"

#Создавать подробный отчет на каждого пользователя, в котором будут 
#отображаться только URL посещенных пользователем сайтов.
users="true"

#Создавать расширенный отчет на каждого пользователя, в котором будут 
#отображаться полные URL посещенных пользователем ссылок. При 
#включении этой опции общее время генерации отчета за период 
#увеличивается.
fullurl="true"

#Создавать отчет "Пользователи" в текстовом формате и отправлять его
#на e-mail адрес указанный в строке. При указании '-' в качестве 
#e-mail адреса, отчет будет выведен на stdout.
#email=""

##################
# REPORTS LIMITS #
##################

#Ограничить количество отображаемых URL на одного пользователя в 
#соответствующих отчетах. См. секцию REPORTS SELECETION с описанием 
#отчетов.
#0 - отсутствие лимита. По умолчанию: 50.
#paf_limit="50"
#saf_limit="50"
#pdn_limit="50"
#sdn_limit="50"
#cct_limit="50"
#pst_limit="50"
#dld_limit="50"
#lcf_limit="50"

#Ограничить количество символов в видимой части URL для всех отчетов. 
#Это полезно, чтобы таблицы отчетов не расползались в ширину из-за 
#присутствия слишком длинных URL. При клике по такой укороченной URL 
#ссылке или наведении на нее курсора мышки вы соответственно или 
#перейдете на полную URL или увидите ее в строке статуса браузера.
#0 - отсутствие лимита. По умолчанию: 50.
#url_limit="50"

#Ограничить количество сайтов в отчете "Популярные сайты".
#0 - отсутствие лимита. По умолчанию: 0.
#ts_limit="0"

#Отображать справа индикаторы соответствующие присутствие ссылок в 
#paf/saf/и.т.п. отчетах к пользователям, URL сайтов и полным URL.

#Минимальный размер файла по URL, который необходимо отображать в 
#отчете 
#"Закачки".
#0 - отсутствие лимита. По умолчанию: 0.
#dld_min="0"

#Интервал обновления страницы для отчета реального времени 
#(free-sa.cgi),указывается в миллисекундах. По умолчанию: 5000, 
#т.е. 5 секунд.
#rtr_timeout="5000"

####################
# OTHER PARAMETERS #
####################

#Имя отчета за период, которое будет отображено в списке всех отчетов 
#за период.По умолчанию: полный путь к файлу конфигурации.
name="My report"

#Формат журнала. 0 соответствует родному формату журнала Squid.
logformat="0"

#Пропускать ошибочные записи в журнале и продолжать его анализ со 
#следующей записи. По умолчанию, при обнаружении ошибочной записи, 
#Free-SA остановит анализ журнала и начнет генерировать отчеты.
#skip_errors="false"

#Создать отчет за период с полной информацией, то есть в отчет будут
#включены и попадания в кэш и локальный трафик и реальный трафик, 
#который ушел/пришел в/из сети Internet.
fulltraffic="true"

#Отображать в отчетах имена пользователей, когда в журнале есть и 
#имена пользователей и IP адреса.
inameuser="true"

#Экранировать имена пользователей в локали UTF-8. Это полезно при
#использовании Squid с NTLM аутентификацией, когда имена 
#пользователей содержат не ASCII символы.
#user_unescape="false"

#Отображать справа индикаторы соответствующие присутствие ссылок в 
#paf/saf/и.т.п. отчетах к пользователям, URL сайтов и полным URL.
indicators="true"

#При создании нового файла отчетов, удалять старые файлы, согласно 
#следующего правила:
#2 - означает удалять все старые отчеты, диапазон дат которых лежит 
#внутри диапазона нового отчета с точностью в 1 секунду.
#1 - означает удалять все старые отчеты, диапазон дат которых 
#соответствует диапазону нового отчета с точностью в 1 день.
#Удаление происходит после создания нового отчета или при запуске 
#Free-SA с опцией -F.
overwrite="2"

#Пытаться преобразовывать IP адрес из журнала в имя, и использовать 
#это имя в качестве имени пользователя в отчетах. Данная опция может 
#сильно замедлить создание отчета.
#resolveip="false"

#Отображение информации о Free-SA внизу страницы каждого отчета 
#"a la" Squid.
showinfo="true"

#Для определенных журналов строка ниже будет использоваться как 
#префикс для адреса сайта.
#site=""

#Картинка или логотип, отображаемая наверху страницы каждого отчета.
#Можно использовать как относительные, так и абсолютные URL.
#logo=""

#Переключать локаль на указанную ниже после разбора опций командной 
#строки. Это полезно, когда необходимо запускать Free-SA через 
#crond. При этом в самом crontab опции командной строки следует 
#указывать в формате локали, в которой произойдет запуск Free-SA 
#(это замечание критично для дат в опции -d).
#locale=""

#Удалять отчеты, старше указанного времени в секундах. Можно также 
#использовать ключевые слова: year, quarter, month, week, day.
#Удаление происходит после создания нового отчета или при запуске 
#Free-SA с опцией -F.
#rotate=""

#Единицы измерения, используемые в файле отчета (байты, килобайты, 
#магабайты и т. д.). При указании единицы измерения "v" будет 
#использован адаптивный механизм: 1 байт отобразится как "1", 
#а 1024 байт уже как "1к".
#По-умолчанию: байты.
divisor="b"

А теперь, небольшое сравнение скорости журналов при помощи Sarg'а и Free-SA.

Использовался следующий лог файл:

powercharge# free-sa -s

Log file information:
File name: /home/andy/squid.log
File size: 9 606 098 556
Start date and time: 01.01.2009 00:01:25
End date and time: 01.02.2009 00:01:07

Переходим в обычный POSIX shell, ибо csh отказывается принимать
ключ -h у команды time:
sh

Запускаем Free-SA:
# time -h free-sa -l /home/andy/squid.log -o /home/andy/reports/
1h14m23,19s real 37m21,60s user 2m34,73s sys

Теперь попробуем Sarg:
# time -h sarg -l /home/andy/squid.log -o /home/andy/reports/

/usr: create/symlink failed, no inodes free
SARG: (report) Не могу открыть файл: 
 /home/andy/reports//01Jan2009-01Feb2009/mni
kolaev/ttmnikolaev-qip_ru_images_bg_left__gif.html
4h57m42,64s real 1h37m34,65s user 1h36m51,98s sys

К сожалению, тест не удалось провести до конца, потому, что закончились
свободные иноды. Использовался следующий конфиг Sarg'а:
cat /usr/local/etc/sarg/sarg.conf
language Russian_koi8
access_log /DOWNLOADS/logsamples/squid.log.hmb
graphs yes
title "My test report"
temporary_dir /home/andy/sarg/
output_dir /home/andy/reports/
date_format e
use_comma yes

topsites_num 100000
topsites_sort_order BYTES D
max_elapsed 0
report_type topusers topsites sites_users \ 
users_sites date_time denied auth_failures \
site_user_time_date downloads
long_url yes
date_time_by bytes
charset Koi8-r
user_invalid_char ""
show_successful_message no
show_read_statistics no
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES\
TOTAL AVERAGE 
user_report_fields CONNECT BYTES %BYTES TOTAL AVERAGE
bytes_in_sites_users_report yes
topuser_num 0
show_sarg_info yes
show_sarg_logo no
displayed_values bytes
authfail_report_limit 50
denied_report_limit 50
siteusers_report_limit 500000
user_report_limit 500000
external_css_file /usr/local/etc/sarg/css.tpl
download_suffix "000,3gp,7z,aac,ace,amr,ape,arj,asf,avi,\
b5i,bat,bin,bwi,bwt,bz2,bzip,c2d, сab,ccd,cdi,cgz,cif,cmd,\
com,cpio,cue,daa,dao,dll,dmg,exe,flac,flv,gcd,gi,gz,gz,ha,\
ha,img,iso,lcd,lha,lnk,lz,lzh,m2v,mdf,mds,mkv,mod,mov,\
movie,mp3,mp4,mpe,mpeg,mpg,mxu,ncd,nrg,ogg,pdi,pif,psx,\
ra,rar,raw,scr,sh,shs,src,sys,tao,tar,tgz,tta,vc4,vcd,vdi,\
vob,wav,wma,wmv,wv,xbx,Z,zip"

Небольшое отступление. Free-SA версий с 1.4.5 до 1.5.1 некорректно
работали во FreeBSD 7.0, вылетая с ошибкой sh environment corrupt.
Эта ошибка устранена в версии 1.5.1.

Картинка с внешним видом Free-SA по умолчанию:
 
 
Детальный отчет выглядит так:
 
 
P.S: Порт можно изменить для повышения производительности.
Для этого необходимо заменить имеющийся патч в
/usr/ports/www/free-sa/files/patch-global.mk на такой:

файл скачан размер размещён примечание
Скачать
11 1.9kb 2009-02-18 измененный патч файл

p.S: Патч повесил в pr: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/131709
P.P.S: Дополнительная оптимизация не будет работать во FreeBSD 6 ветки,
потому, что в имеющимся там gcc, нет опции native.



Источник: http://www.lissyara.su/?id=1495
Категория: Squid | Добавил: oleg (19.02.2009) | Автор: Andy
Просмотров: 2479 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024