URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 2042
[ Назад ]

Исходное сообщение
"Подскажите аналог sarg!!!"

Отправлено Shaman2003 , 14-Апр-04 16:12 
У меня sarg падает в кору с сообщением
segmentation fault - core dumped
Подскажите чем можно заменить sarg

Содержание

Сообщения в этом обсуждении
"Подскажите аналог sarg!!!"
Отправлено Fes , 14-Апр-04 18:43 
Я сам недавно искал прогу для учёта траффика юзверей. Облазил весь инет в поисках, думал что получше найти... а потом взял и глянул на свой дистрибутив (RedHat 9.0) и поставил Webalizer. Он работает с логами как апача так и с логами сквида, тока конфиг нуна подкорявить... И выдаёт всевозможную инфу и графики и диаграмы... вообщем красиво очень. Как раз то, что нужно начальству :). Если не найдёшь его, пиши...

"Подскажите аналог sarg!!!"
Отправлено ipmanyak , 15-Апр-04 06:43 
>У меня sarg падает в кору с сообщением
>segmentation fault - core dumped
>Подскажите чем можно заменить sarg
сарг не причем, запусти sarg -m, покажет последнюю порченую запись в access.log сквида , после чего испрвь ее или удали и будет тебе счастье

"Подскажите аналог sarg!!!"
Отправлено NewComer , 19-Апр-04 11:32 
>>У меня sarg падает в кору с сообщением
>>segmentation fault - core dumped
>>Подскажите чем можно заменить sarg
>сарг не причем, запусти sarg -m, покажет последнюю порченую запись в access.log
>сквида , после чего испрвь ее или удали и будет тебе
>счастье

С саргом счастия не будет никогда - такое глюкало еще поискать нужно...

От него я отказался практически сразу, как только увидел, насколько криво он сделан... Например, взять хотя бы разбор конфигов: достаточно по ошибке поставить пробел после параметра, и сарг идет лесом (похоже, автор ни разу не слышал, что есть специальные функции разбора строк, напр, strtoc()). И потом, генерить html на Си - это мазохизм.

Вот поэтому я сделал свой логанализатор, состоящий из
переливалки ассесс.лога в БД (постгрес), набора sql-скриптов для генерации различного вида отчетов, группировки информации и пр.
И все это по функциональности и надежности делает сарг как тузик грелку :)

Если кого такой подход заинтересовал, можно замутить опен-сорс проект, этакий сарг-киллер :)


"Подскажите аналог sarg!!!"
Отправлено logka , 22-Апр-04 11:00 
>>>У меня sarg падает в кору с сообщением
>>>segmentation fault - core dumped
>>>Подскажите чем можно заменить sarg
>>сарг не причем, запусти sarg -m, покажет последнюю порченую запись в access.log
>>сквида , после чего испрвь ее или удали и будет тебе
>>счастье
>
>С саргом счастия не будет никогда - такое глюкало еще поискать нужно...
>
>
>От него я отказался практически сразу, как только увидел, насколько криво он
>сделан... Например, взять хотя бы разбор конфигов: достаточно по ошибке поставить
>пробел после параметра, и сарг идет лесом (похоже, автор ни разу
>не слышал, что есть специальные функции разбора строк, напр, strtoc()). И
>потом, генерить html на Си - это мазохизм.
>
>Вот поэтому я сделал свой логанализатор, состоящий из
>переливалки ассесс.лога в БД (постгрес), набора sql-скриптов для генерации различного вида отчетов,
>группировки информации и пр.
>И все это по функциональности и надежности делает сарг как тузик грелку
>:)
>
>Если кого такой подход заинтересовал, можно замутить опен-сорс проект, этакий сарг-киллер :)
>
еще и как заинтересовало ;) давай обсуждать подробней или тут или logka@di.com.ua или ICQ 130231442


"Подскажите аналог sarg!!!"
Отправлено Fes , 22-Апр-04 13:00 
Мой ICQ UIN: 276044966.
Давай чё-ньть придумаем с твоим лог-анализатором.

"Подскажите аналог sarg!!!"
Отправлено NewComer , 22-Апр-04 17:48 
ОК, давайте обсудим.

Система состоит из парсера, таблиц БД и набора sql- и шелл-скриптов. Вызывается по крону (кронтаб прилагается)

Парсер сделан на С++. Запускается периодически по крону.
Вкратце алгоритм парсера:
1. Считать параметры конфигурации из файла (параметры подключения к БД, место расположения access.log'a)
2. Открыть ассесс.лог;
3. Установить соединение с БД, открыть транзакцию;
4. Для каждой записи ассесс лога:
4.1 Считать поля;
4.2 Укоротить, если нужно, поля, превышающие макс. длину (переполнение буфера не пройдет :);
4.3 Записать данные в БД ("insert into access_log...")
5. Если все ок, то:
5.1 commit transaction
5.2 close database connection
5.3 обнулить файл ассесс.лог
6. В случае ошибки, откатить транзакцию назад (rollback), закрыть ассесс.лог

При возникновении ошибок (нет доступа к ассесс.лог, нет доступа к БД и тд) парсер валит сообщения в syslog

Теперь, о базе. База состоит из следующих таблиц:
access_log - приемник информации из access.logа
daily_logs - "уплотненный" лог
proxy_users - таблица соответствия ip и имен хостов клиентов прокси
friendly_nets - адреса "дружественных" сетей, трафик из которых бесплатный.

Парсер запускается периодически из крона, валит информацию в таблицу access_log.
Раз в сутки (опять же, по крону) вызывается скрипт logrotate, который переливает с информацию в из таблицы access_log  в daily_logs, уплотняя ее при этом (отсечение поля url и некоторых других, отсечка хитов, группировка трафика по дате, peerhost, remotehost...). Кроме этого, в таблицу proxy_users добавляются IP новых, ранее не работавших с прокси, пользователей. Им автоматически присваиваются имена "NO_NAME".

для формирования отчетов созданы следующие views:
- users_today - статистика по клиентам за текущие сутки;
- sites_today - статистика по посещенным сайтам за текущие сутки;
- users_daiy, sites_daily - статистика за вчера;
- users_weekly, sites_weekly - статистика за последние 7 дней;
- users_monthly, sites_monthly - статистика c начала месяца.

при формировании отчетов производится фильтрация трафика от "дружественных" сетей. Таблица friendly_nets содержит поле типа inet, может быть наполнена любым количеством записей типа "адрес/маска сети", "адрес хоста" и др. Для того, чтобы организовать фильтрацию, парсер резолвит адрес удаленного хоста (gethostbyname()) и сохраняет его в поле "peerhost_ip" таблицы access.log

Формирование отчетов производится шелл-скриптами run.daily, run.weekly, run.monthly. Отчеты могут быть высланы на указанный в этих скриптах мэйл, а также могут быть опубликованы на локальном http-сервере.


Что есть на сегодняшний день:
- сборка и установка компонент отчасти автоматизированы (make;make install). Почему отчасти - потому что нет проверки наличия требуемых компонент (libpq) и требуется заточка Makefile-а под свое программное окружение;
- создание базы и ее инициализация выполняются вручную (createdb squidlog; psql squidlog< initdb.sql);
- конфиг по-умолчанию и кронтаб прилагаются;
- конфигурирование системы производится вручную, путем правки кронтаба, шелловских скриптов run.* и наполнения таблиц фильтрации и списка клиентов.

Что нужно, на мой взгляд, для "продвижения" продукта в массы:
- запустить проект (sourceforge?)
- полностью автоматизировать процесс сборки и установки, задействовав autoconf, automake;
- разработать тулзы для конфигурирования системы;
- разработать frontend к базе (java?), "подмарафетить" внешний вид публикуемых на http-сервере отчетов;
- организовать сборку бинарных пакетов (deb, rpm...)
- ну и, конечно же, разработать пользовательскую документацию.

Эта система уже набрала приличный опыт боевого применения - работает почти 2 года, обслуживает сеть из ~50 клиентов, "переваривая" в месяц до 10Гиг трафика. Может это и не очень внушительные цифры, но есть возможность для масштабирования, например, за счет размещения БД на выделенном сервере.

Да и вот еще какая мысль: с помощью данной системы легко организовать централизованный учет статистики с нескольких кэшей.


PS:  Есть и вариант названия проекта: SALO - Squid Access LOg analyzer (привет землякам :))



"RE: SALO."
Отправлено Fes , 23-Апр-04 19:13 
Ну что ж. Я "ЗА" то чтобы уделить своё машинное и мозговое время доработке этого проэкта.
В принципе, он стал бы совсем не плох если кроме анализа логов сквида прикрутить к нему анализ логов qmail, sendmail и других MTA. Если сделать фичу, которая будет лепить http и mail трафиик в кучу, это будет ваще очень рулеззз. К тому же это может превратится в неки

"RE: SALO."
Отправлено Fes , 23-Апр-04 19:15 
Ну что ж. Я "ЗА" то чтобы уделить своё машинное и мозговое время доработке этого проекта.
В принципе, он стал бы совсем не плох если кроме анализа логов сквида прикрутить к нему анализ логов qmail, sendmail и других MTA. Если сделать фичу, которая будет лепить http и mail трафиик в кучу, это будет ваще очень рулеззз. К тому же это может превратится в некий универсальный анализатор логов.
Вообщем мой ICQ UIN: 276044966.
Пишитесь.

"RE: SALO."
Отправлено logka , 24-Апр-04 00:16 
>Ну что ж. Я "ЗА" то чтобы уделить своё машинное и мозговое
>время доработке этого проекта.
>В принципе, он стал бы совсем не плох если кроме анализа логов
>сквида прикрутить к нему анализ логов qmail, sendmail и других MTA.
>Если сделать фичу, которая будет лепить http и mail трафиик в
>кучу, это будет ваще очень рулеззз. К тому же это может
>превратится в некий универсальный анализатор логов.
>Вообщем мой ICQ UIN: 276044966.
>Пишитесь.
тоже абсолютно ЗА!!!! сборку пакетов под дистры линуха полюбом смогу взять на себя...

Также идея выставлять лимиты трафика.... можно по байтам можно деньгами...

Ввести разделение трафика на зарубежный и отечественный (тоесть либо в таблице либо в файле список сетей , по которым трафик дежевле)

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

Плюс нужно автоотрубаловку... Или понижаловку скорости %) тут уж без фаервола наверно не обойтись..... А учитывая что неизвесно каким фаерволом будет юзатся пользователь (ipfw ipchains iptables или там еще что - то, то тут мои мозги упираются в стенку)


"Подскажите аналог sarg!!!"
Отправлено logka , 26-Апр-04 21:04 
>>>У меня sarg падает в кору с сообщением
>>>segmentation fault - core dumped
>>>Подскажите чем можно заменить sarg
>>сарг не причем, запусти sarg -m, покажет последнюю порченую запись в access.log
>>сквида , после чего испрвь ее или удали и будет тебе
>>счастье
>
>С саргом счастия не будет никогда - такое глюкало еще поискать нужно...
>
>
>От него я отказался практически сразу, как только увидел, насколько криво он
>сделан... Например, взять хотя бы разбор конфигов: достаточно по ошибке поставить
>пробел после параметра, и сарг идет лесом (похоже, автор ни разу
>не слышал, что есть специальные функции разбора строк, напр, strtoc()). И
>потом, генерить html на Си - это мазохизм.
>
>Вот поэтому я сделал свой логанализатор, состоящий из
>переливалки ассесс.лога в БД (постгрес), набора sql-скриптов для генерации различного вида отчетов,
>группировки информации и пр.
>И все это по функциональности и надежности делает сарг как тузик грелку
>:)
>
>Если кого такой подход заинтересовал, можно замутить опен-сорс проект, этакий сарг-киллер :)
>

Что то обсуждалово заглохло..... Поделись скриптами плз... на logka@colocall.net


"Подскажите аналог sarg!!!"
Отправлено миха , 27-Апр-04 05:06 
Брателло !! твоя проблема  в том, что исходный файл битый ( с ошибками ) или твой сквид некорректно инфо туда ложит...

у меня подобная проблема вылечилась простым убиванием файла access.log


"Подскажите аналог sarg!!!"
Отправлено diggerzz , 26-Авг-04 16:08 
>У меня sarg падает в кору с сообщением
>segmentation fault - core dumped
>Подскажите чем можно заменить sarg
SRG.