From: Коробанов Сергей <ksi_korobanov@mail.ru.>
Newsgroups: email
Date: Mon, 19 Nov 2006 18:21:07 +0000 (UTC)
Subject: Обработка логов squid при помощи sarg
squid + sarg или "у нас все ходы записаны!"
Оригинал статьи находится на http://ksimute.trancom.ru/squid-sarg.shtml
Исходная задача
Cделать обработчик логов сквида c web интерфейсом, поставить под крон и
забыть о нем на пару лет :).
Обработчик - sarg
Хранить логи лучше всего на прокси, чтобы небыло проблем с переносом на
удаленные файловые системы. Можно хранить где угодно smb,nfs,на ftp
выкладывать, rsync через ssh тонель гонять, вариантов масса. Но чем
сложнее решение, тем больше вероятность сбоя.
Лучше поднять web сервер на проксе без всяких mod-ов (т.к. логи хранятся
в plain html), прикрыть фаерволом, access листами, и обновлять по мере
обнаружения уязвимостей.
Формат странички логов:
Подключений - кол-во обращений к сквиду с этого ip
Байт - кол-во переданных байт с прокси.
% Байт - процент от общего трафика сквида в байтах, приходящихся на этого абонента.
IN-CACHE-OUT IN - процент байт, которые клиент получил из кэша OUT-процент байт,
которые были стянуты снаружи. только чего-то результирующий процент
не сходится :). Буду думать. в доке нет. Возможно они просто берут
среднее арифметическое, а не считают сложный процент.
(не знаю, как алгоритм реализован).
Общее время - сколько пользователь в онлайне прообитал
миллисек - Сколько всего миллисекунд потратил сквид на обработку его запросов.
Самое интересное поле это IN-CACHE-OUT поле IN это эффективность прокси.
Можно уменьшить его на пару процентов и получаем реальную эффективность.
P.S. Эффективность моей прокси выходит около 8%. По миру сейчас 4-10 %.
Задумайтесь, за сколько прокси себя окупит и есть ли смысл ее вообще
устанавливать для экономии трафика.
Разумеется, для контроля контента, резки банеров и блокировки
нежелательных сайтов прокси - идеальное решение.
Если Вы ISP, то прокси нужен только для экономии трафика (считаем
эффективность, считаем деньги, считаем окупаемость...).
Приступим:
логи сквида хранятся в /var/log/squid/
sarg парсит access.log.x
Скрипт:
proxy ~ # cat /usr/local/bin/sarg_gen.sh
#!/bin/bash
#generate current month report
PATH=$PATH:/usr/sbin
#squid logs
LOG_DIR=/var/log/squid
#current month(jun,feb.jul....... etc) need for grep
CUR_MONTH=`date +%b`
#-- last day of month i.e. 28 30 31
function end_month {
typeset ym=$1 y m ld
(( y = ym / 100 ))
(( m = ym % 100 ))
for ld in $(cal $m $y); do :; done
echo $ld
}
DOM=`end_month `date +%Y%m``
#------
FROM=`date +01/%m/%Y`
TO=`date +$DOM/%m/%Y`
#files to parse all log files changed in current month
Время парсинга логов прокси обрабатывающей 50 Гб трафика в месяц около 20 минут.
Пусть скрипт ночью шуршит, пока пользователи спят :).
Размер результата (за месяц.) - 800 Mb html файлов!
Логи дороже места и если работаете в сфере ISP, их желательно хранить
года 2-3. Десятки раз логи трафика помогали в разрешении "патовых" ситуаций с абонентами.
1305 Прочтений • [Обработка логов squid при помощи sarg (squid statistic)] [08.05.2012] [Комментариев: 0]