Отличия анализатора лог файлов Free-SA (http://free-sa.sourceforge.net) от SARG:
- более внятная архитектура и код (C/HTML/CSS);- скорость формирования отчетов от 7 до 20 раз выше по сравнению с SARG (7х - для 50Мб файла access.log, 20x - для 1Гб); - все отчеты успешно проходят проверку W3C validator; - потенциальная поддержка различных форматов файлов журналов (сейчас только Squid, CLF, Postfix, Qmail, CGP); - дополнительные отчеты (в т.ч. для оценки эффективности сервера); - изменяемые "на-лету" темы оформления (сейчас всего 3).
Цели Free-SA: - контроль расхода трафика по пользователям; - контроль выполнения политик безопасности (в части доступа к ресурсам сети Internet) и информационная поддержка при служебных расследованиях некоторых инцидентов; - оценка эффективности работы серверов.
URL: http://free-sa.sourceforge.net
Новость: https://www.opennet.ru/opennews/art.shtml?num=10210
lightsquid рулит и точка. Free-SA - ещё оочень примитив по сравнению с доработанностями сарга или лайт-сквида.
> по сравнению с доработанностями сарга
Я надеюсь, что lightsquid был "доработан" не так же, как SARG. Потому что я сам, в течение 2-х лет писал и отправлял автору патчи для SARG-а. Обилие ошибок, которые никто не исправляет (или не видит), и при этом добавляется функционал - вот это то, что я думаю по поводу SARG.Про Lightsquid ничего не могу сказать, в свое время он не устроил меня тем, что требовал perl (и кажется скоростью работы).
полгода использую - один только баг непонятный - вместо одного юзера подставляет хост самой прокси в отчёте, что-то с днс там, наверное.. Во всём остальном проблем нет, только с одним юзером тем. А так - красиво всё, понятно и без излишеств.
lightsquid - общего от сарга, только тема оформления
ну и самый первый - делался по мотивам конечно
но с тех пор МНОГО воды утекло ;)
да и перл позволяет от кучи проблемм уйти которые хорошо видны ниже в постахда и сейчас он умеет много удобных вещей которых в сарге нет
группы
получени имени пользователя через функцию
(т.е. рельно это проблемма админа как из набора
IP, AUTHNAME, TIME
получить учетное имяуже образовалось КУЧА вариантов
хочь из SQL базы
хочь из файла как в сарге
хочь dns
хочь из SMB имени;)
ну про темплейты оформления эт само собой
очень легко интегрировать в собственный портал ;)ну и остальное ;)
в принципе не плох только почемуто вместо разделителя разрядов вылазит 'Б─┌'
> вместо разделителя разрядов вылазит 'Б─┌'
Эта функция реализована через штатный printf. Постараюсь разобраться. Локаль у вас UTF-8?
> вместо разделителя разрядов вылазит 'Б─┌'
"Разобрался", это проблема локали, в которой определен этот странный символ в качестве разделителя. У меня при ru_RU.UTF8 такой же набор появляется, если кодировку отчета выставить в KOI8-R, но она должна быть в UTF8 (так и есть). И кстати для локали ru_RU.UTF8 нужно использовать перекодированный Russian файл (например через iconv -f KOI8-R -t UTF8 < Russian > Russian.UTF8, прописать потом в sa.conf параметр localisation на этот файл).Т.е. пока локаль не пофиксят эта ошибка не исчезнет. Возможно в каком то шрифте для этого символа и есть картинка, но у меня ни Aria, ни OpenSymbol, ни *dings не знают ничего о нем.
Как временное решение, при сильном желании использовать ru_RU.UTF8 можно переопределить заново локаль, где в качестве символа разделителя разрядов указать что то попроще.
>Как временное решение, при сильном желании использовать ru_RU.UTF8 можно переопределить заново локаль,
>где в качестве символа разделителя разрядов указать что то попроще.
Думаю, Вы понимаете, что это не решение. Перекраивать системную локаль, которая более нигде проблем не создаёт, ради анализатора логов -- неконструктивно.Если честно, то вместе с отношением к /tmp у меня пока пропало желание _проверять_ результат на пригодность, хотя подсказать про возможность выставления LC_NUMERIC у себя в коде в C или POSIX -- подсказываю.
> Думаю, Вы понимаете, что это не решение. Перекраивать системную локаль, которая более нигде проблем не создаёт, ради анализатора логов -- неконструктивно.
Да понимаю и согласен с вами, поэтому сейчас буду разбираться что он там пишет и если это проблема libc, то извините - баг отпишу разработчикам libc, а не программу переделывать буду. Если хотите отпишу о результатах тут.> Если честно, то вместе с отношением к /tmp у меня пока пропало желание _проверять_ результат на пригодность
Я ниже ответил куском кода, вам то решение не подходит?
>если это проблема libc, то извините - баг отпишу разработчикам libc,
>а не программу переделывать буду. Если хотите отпишу о результатах тут.
Разумно; как удобно.Только впервые слышу о проблеме с разделителями в ru_RU.* (при том, что активно применяются все три имеющие распространение вариации по кодировкам -- KOI8-R, CP1251 и UTF-8).
>> Если честно, то вместе с отношением к /tmp у меня пока пропало желание _проверять_
>>результат на пригодность
>Я ниже ответил куском кода, вам то решение не подходит?
Нет, я боюсь /tmp [*]. В данном разе не устраивает DoS, который элементарно организовывается пользователем заранее и чуточку сложнее -- в процессе функционирования (поскольку классический race condition: загружаем систему в округе возможного рестарта сервиса до повышения вероятности вклиниться между -- кстати, нерекомендуемым -- system() и mkdir(), создаём /tmp/sa и срываем работу анализатора).* правило большого пальца -- /tmp кусается и не предназначен для постоянных или "надёжных" объектов непредсказуемого объёма. И вообще чем дальше, тем чаще наблюдается на tmpfs. А это ещё гораздо лучше, чем если угораздит остаться на корне.
По FHS подходящим местом для рабочих данных программы является подкаталог в /var/lib или /var/spool; при этом не стоит забывать, что "sa" -- очень короткий идентификатор (например, в ALT /usr/lib/sa и /var/log/sa принадлежат пакету sysstat и лично я бы слегка удивился, когда-то обнаружив /var/lib/sa из другого пакета...).
PS: я не являюсь ни разработчиком на C, ни специалистом по разработке защищённых программ, хотя принимаю некоторое участие в ALT Security Team и смежных вопросах по нашей конторе (включая поддержку нескольких серверов и выбор вариантов для того, что поставляем клиентам -- например, lightsquid, а не sarg, в качестве спутника прокси). Просьба воспринимать в таком контексте.
>Только впервые слышу о проблеме с разделителями в ru_RU.* (при том, что
>активно применяются все три имеющие распространение вариации по кодировкам -- KOI8-R, CP1251 и UTF-8).
Я не про все ru_RU, а только про ru_RU.UTF8 например, в Slackware (но видимо в ALTLinux тоже).>Нет, я боюсь /tmp [*]. В данном разе не устраивает DoS,
>который элементарно организовывается пользователем заранее и чуточку сложнее -- в процессе
>функционирования (поскольку классический race condition: загружаем систему в округе возможного рестарта
>сервиса до повышения вероятности вклиниться между -- кстати, нерекомендуемым -- system()
>и mkdir(), создаём /tmp/sa и срываем работу анализатора).
Натянутый DoS получается. Администратор при желании легко от этого защитится. В конце концов TMPDIR в Makefile можно переопределить куда душе угодно. Умолчание, выставленное в /tmp - это скорее для удобства понимания конечным пользователем free-sa, чем для безопасности. Кто то такие программы с libsafe собирает ;-)>По FHS подходящим местом для рабочих данных программы является подкаталог в /var/lib
>или /var/spool; при этом не стоит забывать, что "sa" -- очень
>короткий идентификатор (например, в ALT /usr/lib/sa и /var/log/sa принадлежат пакету sysstat
>и лично я бы слегка удивился, когда-то обнаружив /var/lib/sa из другого
>пакета...).
Спасибо, sa заменю на free-sa. Это от того, что раньше было несколько версий *-sa, сейчас решили оставить и развивать только одну: free-sa.>PS: я не являюсь ни разработчиком на C, ни специалистом по разработке
>защищённых программ, хотя принимаю некоторое участие в ALT Security Team и
>смежных вопросах по нашей конторе (включая поддержку нескольких серверов и выбор
>вариантов для того, что поставляем клиентам -- например, lightsquid, а не
>sarg, в качестве спутника прокси). Просьба воспринимать в таком контексте.
Да примерно также.
Итак, все три локали штатно в системе, никто их не менял и не переопределял:
$ ls -ld /usr/lib/locale/en_US.utf8 /usr/lib/locale/zh_CN.utf8 /usr/lib/locale/ru_RU.utf8
drwxr-xr-x 3 root root 4096 Дек 21 22:55 /usr/lib/locale/en_US.utf8/
drwxr-xr-x 3 root root 4096 Дек 21 22:58 /usr/lib/locale/ru_RU.utf8/
drwxr-xr-x 3 root root 4096 Дек 21 23:01 /usr/lib/locale/zh_CN.utf8/Составим простую программу:
$ cat x.c
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>int main(int argc, char **argv) {
int a = 65535;
setlocale(LC_ALL, "");
fprintf(stderr, "\n[ %'d ]\n", a);
return 0;
}$ LANG=zh_CN.UTF8;LC_ALL=zh_CN.UTF8;./x
[ 65,535 ]
$ LANG=en_US.UTF8;LC_ALL=en_US.UTF8;./x
[ 65,535 ]
$ LANG=ru_RU.UTF8;LC_ALL=ru_RU.UTF8;./x
[ 65Б─┌535 ]
$ LANG=ru_RU.UTF8;LC_ALL=ru_RU.UTF8;./x 2>/zxc
$ LANG=ru_RU.KOI8-R;LC_ALL=ru_RU.KOI8-R;iconv -f UTF-8 -t KOI8-R < /zxc
[ 65iconv: недопустимая входная последовательность в позиции 5Убедил? Кстати те 3 байта (0xE2, 0x80, 0x82), которые записаны в zxc соответствуют Unicode 4.0. Это можно проверить тут: http://www.unicode.org/versions/Unicode4.0.0/ch03.pdf (выполнить поиск "Table 3-5").
Это если вывод в UTF-8 созерцать в терминале с кодировкой локали и шрифта KOI8-R. В utf'ной -- нормально.$ LC_NUMERIC=ru_RU.UTF8;./x
[ 65 535 ]Поскольку сам предпочитаю на сегодня KOI8, то юникодный терминал, прицепленный на комбинацию клавиш, запускается так:
#!/bin/sh
G_FILENAME_ENCODING=utf-8 LC_ALL=ru_RU.UTF-8 LC_COLLATE=uk_UA.UTF8 LC_CTYPE=uk_UA.UTF8 exec urxvt +sb -fn '-*-terminus-bold-*-*-*-20-*-*-*-*-*-iso10646-*' -rv -cr yellow -tn xterm &Вывод: или всё-таки синхронизировать кодировки, или (может оказаться проще и практичнее) делать что-то вроде setlocale (LC_NUMERIC,"C");
>$ LC_NUMERIC=ru_RU.UTF8;./x
>[ 65 535 ]Да, с вашими параметрами запуска терминала у меня тоже пробел вставляет. В общем эта проблема немного странная для меня. Потому что OpenOffice вывод программы открывает с квадратиком на месте того символа (при открытии как "кодированный текст (*.txt)").
Однозначно Lightsquid! Всё остальное пока либо кривое, либо сырое.
Жаль только, lightparser прожорлив. Совсем не light...
А на выходе неплохо.(манагерское) Было бы здорово совместить быстрый парсер free-sa и уже существующую толковую морду lightsquid, не?
> (манагерское) Было бы здорово совместить быстрый парсер free-sa и уже существующую толковую морду lightsquid, не?Легкий интерфейс (CGI) к Free-SA уже в разработке.
От perl-зависимостей хочется избавиться.
> Жаль только, lightparser прожорлив. Совсем не light...
не понял ???
это как, в каком месте он прожорлив ????
по памяти ?
какие параметры ?
размер лога
сколько юзеров в день
пускается ли с параметром today
какой стоит ip2name ?
Хм. А как оно в сравнении с SAMS?
>Хм. А как оно в сравнении с SAMS?
Да никак. SAMS ставиться одной левой, быстро исправляется что надо в коде - и вуаля ;)
Хм, а зачем, "скорость работы", у меня он ночью статистику генерирует?!
> зачем, "скорость работы", у меня он ночью статистику генерирует
Это у кого какие цели. Кому то нужно оперативно узнать, кто сейчас закачку запустил, кому то просто построить выборочный отчет (например, по другому периоду) - тут тоже 1 час ждать против 3 минут - существенно...
в lightsquidс параметром today
пускаеться раз в 15 минут
лог - один файл с начала месяца
приблизительно 1 гиги лога в день добавляются ....
какие вопросы по скорости ?
Читаем INSTALL, затем# make
"Makefile", line 56: Missing dependency operator
"Makefile", line 69: Need an operator
make: fatal errors encountered -- cannot continue
# uname -a
FreeBSD proxy 4.9-RELEASE FreeBSD 4.9-RELEASE #4: Fri Jan 28 09:23:37 SAMT 2005 shrdlu@cl2-74:/usr/src/sys/compile/mykernel i386Продукт нуждается в доработке напильником.
Млять. :) Ну неужели есть люди, которые по характерным "Missing Dependency Operator" при компиляции софта под FreeBSD автоматически не начинают набирать "gmake" вместо "make"?!
Да, представьте, такие люди есть. А еще есть люди, которые, например, умеют по характерному шелесту купюр определять их количество в пачке - а вы так умеете?Тем паче, что от использования gmake легче не становится.
# gmake
gmake[1]: Entering directory `/usr/home/shrdlu/free-sa-1.00.0000/src'
gmake[2]: Entering directory `/usr/home/shrdlu/free-sa-1.00.0000/src/logformats'
gcc -pipe -O3 -march=i486 -fomit-frame-pointer -m32 -I. -I.. -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -std=c99 -DLOGFILE=\"/var/log/squid/access.log\" -DTMPDIR=\"/tmp\" -DETCDIR=\"/usr/local/sa/etc/free-sa\" -DWWWDIR=\"/usr/local/sa/var/www/htdocs/free-sa\" -DPREFIX=\"/usr/local/sa\" -DDEBUG=0 -DPROGNAME=\"Free-SA\" -DPROGVERSION=\"1.0.0000\" -DPROGURL=\"http://free-sa.sourceforge.net\" -c -o l_squid_native.o l_squid_native.c
cc1: Invalid option `32'
cc1: unknown C standard `c99'
In file included from ../global.h:14,
from l_squid_native.c:1:
/usr/include/arpa/inet.h:89: warning: parameter has incomplete type
/usr/include/arpa/inet.h:92: warning: parameter has incomplete type
/usr/include/arpa/inet.h:96: warning: parameter has incomplete type
gmake[2]: *** [l_squid_native.o] Ошибка 1
gmake[2]: Leaving directory `/usr/home/shrdlu/free-sa-1.00.0000/src/logformats'
gmake[2]: Entering directory `/usr/home/shrdlu/free-sa-1.00.0000/src/reports'
gcc -pipe -O3 -march=i486 -fomit-frame-pointer -m32 -I. -I.. -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -std=c99 -DLOGFILE=\"/var/log/squid/access.log\" -DTMPDIR=\"/tmp\" -DETCDIR=\"/usr/local/sa/etc/free-sa\" -DWWWDIR=\"/usr/local/sa/var/www/htdocs/free-sa\" -DPREFIX=\"/usr/local/sa\" -DDEBUG=0 -DPROGNAME=\"Free-SA\" -DPROGVERSION=\"1.0.0000\" -DPROGURL=\"http://free-sa.sourceforge.net\" -c -o r_efficiency.o r_efficiency.c
cc1: Invalid option `32'
cc1: unknown C standard `c99'
In file included from ../global.h:14,
from r_efficiency.c:1:
/usr/include/arpa/inet.h:89: warning: parameter has incomplete type
/usr/include/arpa/inet.h:92: warning: parameter has incomplete type
/usr/include/arpa/inet.h:96: warning: parameter has incomplete type
r_efficiency.c: In function `ReportProxyEfficiency':
r_efficiency.c:161: warning: unknown conversion type character `'' in format
r_efficiency.c:161: warning: unknown conversion type character `'' in format
r_efficiency.c:161: warning: unknown conversion type character `'' in format
r_efficiency.c:161: warning: unknown conversion type character `'' in format
r_efficiency.c:161: warning: unknown conversion type character `'' in format
r_efficiency.c:161: warning: double format, different type arg (arg 4)
r_efficiency.c:173: warning: unknown conversion type character `'' in format
r_efficiency.c:173: warning: unknown conversion type character `'' in format
r_efficiency.c:173: warning: unknown conversion type character `'' in format
gmake[2]: *** [r_efficiency.o] Ошибка 1
gmake[2]: Leaving directory `/usr/home/shrdlu/free-sa-1.00.0000/src/reports'
gmake[2]: Entering directory `/usr/home/shrdlu/free-sa-1.00.0000/src/work'
gcc -pipe -O3 -march=i486 -fomit-frame-pointer -m32 -I. -I.. -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -std=c99 -DLOGFILE=\"/var/log/squid/access.log\" -DTMPDIR=\"/tmp\" -DETCDIR=\"/usr/local/sa/etc/free-sa\" -DWWWDIR=\"/usr/local/sa/var/www/htdocs/free-sa\" -DPREFIX=\"/usr/local/sa\" -DDEBUG=0 -DPROGNAME=\"Free-SA\" -DPROGVERSION=\"1.0.0000\" -DPROGURL=\"http://free-sa.sourceforge.net\" -c -o w_config.o w_config.c
cc1: Invalid option `32'
cc1: unknown C standard `c99'
In file included from ../global.h:14,
from w_config.c:1:
/usr/include/arpa/inet.h:89: warning: parameter has incomplete type
/usr/include/arpa/inet.h:92: warning: parameter has incomplete type
/usr/include/arpa/inet.h:96: warning: parameter has incomplete type
gmake[2]: *** [w_config.o] Ошибка 1
gmake[2]: Leaving directory `/usr/home/shrdlu/free-sa-1.00.0000/src/work'
gmake[1]: *** [allobjs] Ошибка 2
gmake[1]: Leaving directory `/usr/home/shrdlu/free-sa-1.00.0000/src'
gmake: *** [all] Ошибка 2
>cc1: unknown C standard `c99'
gcc-то обновите чтоль, а то со времени freebsd-4.9 мноого воды утекло...И не за чем почём зря ругать нормальный софт пинать....
>>cc1: unknown C standard `c99'
>gcc-то обновите чтоль, а то со времени freebsd-4.9 мноого воды утекло...И неда была б сильная необходимость... а из-за поглядеть на новый генератора отчетов сквида - ну нафиг, лень. сдохнет винт - поставлю шестерку.
>за чем почём зря ругать нормальный софт пинать....
Да упаси боже. Респект автору за труды.
>cc1: unknown C standard `c99'
gcc-то обновите чтольДа можно смело убрать из Makefile std=c99. Это скорее для лишней проверки кода.
Спасибо. Это я обязательно исправлю. Хочется Free-SA сделать кроссплатформенным (хотя я Makefile писал по какой то Unix-овой книжке, а не Linux-овой).
>Продукт нуждается в доработке напильником.Это доисторическая бздя нуждается в напильнике... да и админу её не помешало бы :-)
>>Продукт нуждается в доработке напильником.
>Это доисторическая бздя нуждается в напильнике... да и админу её не помешало
>бы :-)Чушь. В напильнике нуждается именно Free-SA. Судя по двум причинам. Во-первых, весь остальной софт на этой, как Вы выразились, "доисторической бзде" собирается и работает абсолютно нормально. Вторую причину, думаю, Вы сами способны были заметить - количество других обнаруженных граблей, упомянутых в треде.
Автора, впрочем, вполне извиняет номер версии программы. Москва не сразу строилась.
>Во-первых, весь остальной софт на этой, как Вы выразились, "доисторической бзде"
Ну строго говоря, 4.x уже не поддерживается. Остальные причины согласиться с доисторичностью опущу, тут они несущественны.>собирается и работает абсолютно нормально.
Не думаю, что там соберётся многое из того, что без напильника собирается и работает у меня на linux-2.6/glibc-2.5. Впрочем, как пакеты, так и порты склонны включать патчи for a good reason, и не так много софта без лишних подгибаний способно собираться на диапазоне выпусков операционного окружения пятилетней, скажем, длины (как вон pdksh из того, что поддерживаю).>Автора, впрочем, вполне извиняет номер версии программы. Москва не сразу строилась.
Ага. Возможность собрать проект на широком диапазоне систем -- хорошая штука, но вообще-то этим принято озадачиваться тем, для кого они актуальны, а не валить всё на автора.Хотя шеллом на доисторической бзде тоже можно помочь, думаю. :)
>Ну строго говоря, 4.x уже не поддерживается. Остальные причины согласиться сНу с этим можно согласиться.
>>собирается и работает абсолютно нормально.
>Не думаю, что там соберётся многое из того, что без напильника собирается
>и работает у меня на linux-2.6/glibc-2.5. Впрочем, как пакеты, такПардон, у меня там не полигон для экспериментов, а прокси-сервер. Там нужны squid/squidguardian, апач и sarg. Все это прекрасно собирается и работает. Остальное меня уже мало интересует.
>Хотя шеллом на доисторической бзде тоже можно помочь, думаю. :)
"этим принято озадачиваться тем, для кого оно актуально" (с) Вы :)
Меня пока и саргом устраивает, чтобы убивать моск на настройку сомнительного продукта.
>>Хотя шеллом на доисторической бзде тоже можно помочь, думаю. :)
>"этим принято озадачиваться тем, для кого оно актуально" (с) Вы :)
Ну так предложение-то автору.>Меня пока и саргом устраивает, чтобы убивать моск на настройку сомнительного продукта.
Судя по реакции ходивших внутрь sarg коллег вроде raorn@, в своё время пока получалось -- сидел на webalizer, а как появился и заработал lightsquid -- съехали на него.Просто сейчас у одного из клиентов, которому требуется близкая к онлайновой статистика, lightparser и является основным потребителем Athlon 850. Соответственно некоторый практический интерес в улучшении есть (хотя там это будет решено переездом на двухъядерник), но -- повторюсь -- цели выкинуть перл любой ценой вообще-то нет. Сишные cgi тоже проходили когда-то...
>Просто сейчас у одного из клиентов, которому требуется близкая к онлайновой статистика,
>lightparser и является основным потребителем Athlon 850. Соответственно некоторый практический
>интерес в улучшении есть (хотя там это будет решено переездом на
>двухъядерник), но -- повторюсь -- цели выкинуть перл любой ценой вообще-то
>нет. Сишные cgi тоже проходили когда-то...ух ты, надеюсь today - стоит
тип лога - native
и версия 1.7.1 ?в lightsquid - паресер и веб часть это две разнные части
одна показывает то что нагенерила втораяможно в теории для слабых машин написать свой парсер, отдельный
ну или под спец задачи ...
>>Просто сейчас у одного из клиентов, которому требуется близкая к онлайновой статистика,
>>lightparser и является основным потребителем Athlon 850.
>ух ты, надеюсь today - стоит
>тип лога - native
$squidlogtype = 0;>и версия 1.7.1 ?
1.6beta :) Что было на момент взгромождения -- то и взгромоздили, сейчас-то да в альтовском unstable -- 1.7.1.А что, парсер был здорово разогнан?
>в lightsquid - паресер и веб часть это две разнные части
>одна показывает то что нагенерила вторая
Эт понятно.>можно в теории для слабых машин написать свой парсер, отдельный
>ну или под спец задачи ...
Я ж вот и подумал: да если оба ещё и нормальные хлопцы, да ещё и тут пересеклись -- может, получится спровоцировать какое взаимодействие по той же парсерной части... :-)
>>и версия 1.7.1 ?
>1.6beta :) Что было на момент взгромождения -- то и взгромоздили,
>сейчас-то да в альтовском unstable -- 1.7.1.
>
>А что, парсер был здорово разогнан?
>
да, очень сильно ускорен пропуск строк при фильтровании по дате
особо важно если большой лог и режим today
ну или несколько дней в логе, и не очень быстрая машина ;)думаю раз в 5 ;)
>Я ж вот и подумал: да если оба ещё и нормальные хлопцы,
>да ещё и тут пересеклись -- может, получится спровоцировать какое взаимодействие
>по той же парсерной части... :-)а это идея !
ау !
автор, может сделаеш режим такой ;)
> а это идея !
> ау !
> автор, может сделаеш режим такой ;)
А поподробнее, я не очень понял, чего хотят :)
>>Просто сейчас у одного из клиентов, которому требуется близкая к онлайновой статистика,
>>lightparser и является основным потребителем Athlon 850.
>ух ты, надеюсь today - стоит
?>тип лога - native
$squidlogtype = 0;>и версия 1.7.1 ?
1.6beta :) Что было на момент взгромождения -- то и взгромоздили, сейчас-то да в альтовском unstable -- 1.7.1.А что, парсер был здорово разогнан? (собсно где-то в течение месяца там всё равно будет плановое обновление)
>в lightsquid - паресер и веб часть это две разнные части
>одна показывает то что нагенерила вторая
Эт понятно.>можно в теории для слабых машин написать свой парсер, отдельный
>ну или под спец задачи ...
Я ж вот и подумал: если оба автора вроде как нормальные хлопцы, да ещё и тут пересеклись -- может, получится спровоцировать какое взаимодействие по той же парсерной части :-)Пользуясь случаем -- позвольте поблагодарить за хорошую вещь, не раз уже пригождалась.
Вместе со сквидом единственное, чего людям порой не хватало -- отстреливать сессии на скаку, ну да это уже к сквиду или хитрой врезке до или после, вроде ж ICP такого не умеет...
Под 4-ю ветку FreeBSD не собирается.
А можно поподробее и лучше в Bugs на http://free-sa.sf.net
Тестировал.Прогнал его на моём стандартном логе за месяц, обьём гиг, 900 пользователей, получаю ошибку:
SAERROR: [SAfopenI] /tmp/sa/u_st-010306.uns. Too many open files
>Тестировал.
>
>Прогнал его на моём стандартном логе за месяц, обьём гиг, 900 пользователей,
>получаю ошибку:
>
>SAERROR: [SAfopenI] /tmp/sa/u_st-010306.uns. Too many open filesМаксимальное количество одновременно открытых файлов определяется настройками ОС.
Обратитесь к документации на ваш тип ОС.
Я посмотрел, количество созданных файло 1020, очевидно ограничение 1024 файла.
На сайте проекта висит единственный баг - как раз эта ошибка, открыт 30 дней назад.
Насчёт ограничения проверю.
> На сайте проекта висит единственный баг - как раз эта ошибка, открыт 30 дней назад.Не 30 ;-)
Вы правы,
# ulimit -n
1024Буду увеличивать
Но под Solaris это не срабатывает... ;(
fopen не может открыть больше 256 файлов. только open()...Цитата:
"The number of the file descriptor used by the fopen(3C) must be less than 256."см. http://access1.sun.com/technotes/01406.html
bash-2.05# uname -a
SunOS mozart 5.9 Generic_117171-17 sun4u sparc SUNW,Sun-Fire-V210
bash-2.05# ulimit -n
65536
bash-2.05# free-sa
SAERROR: [SAfopenI] /tmp/sa/u_192.168.30.103.uns. Too many open files
bash-2.05# cd /tmp/sa
bash-2.05# ls -l | wc -l
254
bash-2.05#
А еще в Solaris'е версий ниже 10 нет функции round();
Так что, либо floor() | ceil(), либо включать в дистрибутив исходник round().
man round: CONFORMING TO C99 :-\
С количеством файлов разобрался.
Ещё одна проблема:SAERROR: [SAfopenI] /tmp/sa/u_%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.uns. Слишком длинное имя файла
В логе была вот такая строчка:
1173864545.755 1 192.168.1.1 TCP_DENIED/407 1678 GET http://www.yandex.ru/ %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20 NONE/- text/html
т.е. кто-то пытался залогинится с длиииинным именем пользователя, сквид его конечно не пустил, но free-sa эту строчку пыталась обработать и не смогла создать файл с таким длинным именем...
=/
> Слишком длинное имя файла
Постараюсь исправить сегодня в новой версии.
>SAERROR: [SAfopenI] /tmp/sa/%20%20
> Слишком длинное имя файла
>т.е. кто-то пытался залогинится с длиииинным именем пользователя, сквид его конечно не
>пустил, но free-sa эту строчку пыталась обработать и не смогла создать файл с таким длинным именем...Ого ! Проверьте где будет создан временный файл, если попробовать залогинится под пользователем "../test", "\.\.\/test", "test\0../test", "..%2Ftest" и подобными ?
А если до запуска Free-SA другим пользователем сделать симлинк /tmp/sa допустим в /var/log, сругается или съест ?
>Ого ! Проверьте где будет создан временный файл, если попробовать залогинится под
>пользователем "../test", "\.\.\/test", "test\0../test", "..%2Ftest" и подобными ?
Разве squid пишет в журнал '/' без замены на %2F? Что касается touch "..%2Ftest", то замечательно работает ;-) '\' и '%' заменяются на '_'.>А если до запуска Free-SA другим пользователем сделать симлинк /tmp/sa
>допустим в /var/log, сругается или съест ?
А это зачем?
>>А если до запуска Free-SA другим пользователем сделать симлинк /tmp/sa
>>допустим в /var/log, сругается или съест ?
>А это зачем?Например, один из сценариев. Пользователь пупкин делает от своего имени в /tmp симлинк /tmp/sa на /home/pupkin/sa - в которой создает симлинк u_bosslogin.uns на /etc/passwd. Если парсер запускается от рута, можно серьезно напакостить, если не из-под рута - тихо удалять свой файл с логом, выждав момент обработки лога, и на халяву пользоваться сетью.
Файл reports/r_reports.c/* Remove and create temporary directory */
SAsystem("rm", "rm", "-rf", cfg.TempDir, NULL);
if (mkdir(cfg.TempDir, 0750)) SAexit(F_INITREPORTS, "%s. %s", cfg.TempDir, strerror(errno));Так что Пупкину не повезло.
>Разве squid пишет в журнал '/' без замены на %2F? Что касаетсяУ вас же универсальная система, может squid и эскейпит, а вдруг какой-нибудь CGP не будет эскейпить. Не нужно в таких случаях доверять логу, строчку могут в лог дописать вручную, воспользовавшись недосмотром админа или кривым скриптом.
> вдруг какой-нибудь CGP не будет эскейпить.
1. С чего вдруг?
2. Про состояние поддержки CGP в man-е написано: VERY EXPERIMENTAL.> Не нужно в таких случаях доверять логу, строчку могут в лог дописать вручную, воспользовавшись недосмотром админа или кривым скриптом.
Если у админа пользователи строчку в логи дописывают вручную, то этому админу уже/еще не должно быть страшно :)Но я с вами полностью согласен, код, который парсит имена пользователей присутствует, буду совершенствовать. Сейчас основная цель программы была функционал и скорость, хотя программа проектировалась с учетом требований безопасности.
>>А если до запуска Free-SA другим пользователем сделать симлинк /tmp/sa
>>допустим в /var/log, сругается или съест ?
>А это зачем?
Вы и впрямь не в курсе symlink attacks в этом веке?С /tmp и другими публично доступными местами вообще стоит крайне осторожно, а уж держать там что-то псевдопостоянное вроде каталогов с состоянием -- смерти подобно.
Например, http://lists.grok.org.uk/pipermail/full-disclosure/2005-Dece...
Я в курсе большинства атак, по работе положено.Файл reports/r_reports.c из этой самой Free-SA 1.0.0, можете еще скачать для проверки с http://free-sa.sourceforge.net (это у которого счетчики большие).
/* Remove and create temporary directory */
SAsystem("rm", "rm", "-rf", cfg.TempDir, NULL);
if (mkdir(cfg.TempDir, 0750)) SAexit(F_INITREPORTS, "%s. %s", cfg.TempDir, strerror(errno));
попробуй мой lightsquid.sf.netнет зависимости от кол-ва файлов ;)
один пайп для лога
один файл длязаписи
;)
временных файлов - нет.
Скорость действительно намного выше, чем в SARG'e, проверял на суточном логе размером 1 гигабайт.
Однако непонятно, почему около половины значений Requests отрицательно? :)
4 http://wap.sasisa.ru -28048 2 548 054 040 213.58.126.66
5 http://wap.wab.ru -29524 1 586 003 313 213.58.126.66
6 http://icq.wab.ru -19454 1 366 200 144 213.58.126.66
7 http://d.fank.ru 17928 1 296 607 537 213.58.126.66
8 http://wapos.ru 28560 1 212 907 975 213.58.126.66
Ещё плохо, что между полями Bytes и Users нет разделителя, и цифры сливаются, если они больше 1 миллиарда байт.
Ещё иногда в поле Users дублируются IP-адреса29 http://virginss.net 28920 350 941 116 213.58.126.66, 213.58.126.66
>Ещё иногда в поле Users дублируются IP-адреса
>29 http://virginss.net 28920 350 941 116 213.58.126.66, 213.58.126.66Так и не смог воспроизвести этот случай. Нет ли кусочка access.log, на котором можно это проверить?
> Однако непонятно, почему около половины значений Requests отрицательно? :)
Чорт :) Исправление этого известного бага не вошло в релиз. Исправлю в новой версии, постараюсь сегодня.> между полями Bytes и Users нет разделителя, и цифры сливаются, если они больше 1 миллиарда байт
А это в каком отчете? Возможно стоит (как временное решение) попробовать другую тему оформления (либо я исправлю одну из существующих)?
с postfix совсем не дружитSAWARNING: [PFSLReadRecordI] Unknown stat: b, please contact developers
SAWARNING: [PFSLReadRecordI] Unknown stat: b, please contact developers
SAWARNING: [PFSLReadRecordI] Unknown stat: b, please contact developers
Postfix по идее самый проработанный формат из экспериментальных. Не могли бы вы выслать (в почту или в Bugs на http://free-sa.sf.net журнал на котором возникает такая ошибка или строчку, на которой она возникает? К сожалению достать больших журналов postfix не удалось. Учтите также, что без фильтрации через global_filter количество пользователей может быть очень большим, поэтому в самое начало скрипта запуска free-sa можно добавить ulimit -n 32768 или больше...Строчку можно отловить так:
cat maillog|grep "status=b"
Журнал выслать сложновато будет около 400Мб а ругаеться он на примерно такие строки:
Mar 22 13:34:56 mail postfix/pipe[3491]: 17D584DD362: to=<user@domain.ru>, relay=cyrus, delay=0, status=bounced (data format error. Command output: user: Mailbox does not exist )
Везьде где status=bounced
Поправлю в новой версии, постараюсь сегодня зарелизить со всеми исправлениями. Для почтовых форматов лучше предварительно решить вопрос с ulimit (см. FAQ в следующей версии).
FreeBSD-6.2, amd64, с напильником собрал, теперь:# free-sa -s
Log file information:
File name: /usr/local/squid/logs/access.log
File size: 17 645 452
Start date and time: 06.07.4461664 11:59:21
End date and time: 01.08.4461664 16:08:14Что с датами? И далее, на том же файле:
# free-sa
SAERROR: [SAsystem] Can't execute rm
SAERROR: [CollectLog] No records foundsarg его обрабатывает нормально.
lightsquid - плафтформенно независимый
только перл ;)
хоть x32 xonm 64 ;)
>lightsquid - плафтформенно независимый
>только перл ;)
>хоть x32 xonm 64 ;)Всем хорош lightsquid, но только вот нету как у сарга exclude_codes
Как считать фактически потребленный юзерами трафик, без вот этого:
NONE/400
NONE/411
TCP_NEGATIVE_HIT/404
TCP_NEGATIVE_HIT/403
TCP_DENIED/400
TCP_DENIED/403
TCP_DENIED/407
TCP_MISS/503
TCP_MISS/403
TCP_MISS/301
TCP_HIT/200
TCP_HIT/301
TCP_HIT/302
TCP_IMS_HIT/200
TCP_IMS_HIT/301
TCP_IMS_HIT/302
TCP_IMS_HIT/304
TCP_MEM_HIT/200
TCP_MEM_HIT/301
TCP_MEM_HIT/302
TCP_REFRESH_HIT/200
TCP_REFRESH_MISS/403
TCP_REFRESH_MISS/504
TCP_CLIENT_REFRESH_MISS/403?
У Free-SA есть опция fulltraffic, которая позволяет гарантированно не учитывать в пользовательских отчетах только локальный трафик (т.е. до прокси, но не далее его). При этом она не смотрит на коды, которые вы привели, есть более простой алгоритм: смотреть на препоследнее поле, по-простому: если там NONE/-, то трафик локальный.
>У Free-SA есть опция fulltraffic, которая позволяет гарантированно не учитывать в пользовательских
>отчетах только локальный трафик (т.е. до прокси, но не далее его).
>При этом она не смотрит на коды, которые вы привели, есть
>более простой алгоритм: смотреть на препоследнее поле, по-простому: если там NONE/-,
>то трафик локальный.Версия 1.4 плевать хотела на этот параметр .. строит все .. что none что hit приходитца отфильмтровывать по этим признакам чтобы построить боле менее не завышенный трафик
> Версия 1.4 плевать хотела на этот параметр .. строит все .. что none что hit приходитца отфильмтровывать по этим признакам чтобы построить боле менее не завышенный трафикУточните, проверил 1.4.0, fulltraffic работает корректно. Можете привести пример
> Версия 1.4 плевать хотела на этот параметр .. строит все .. что none что hit приходитца отфильмтровывать по этим признакам чтобы построить боле менее не завышенный трафикУточните, проверил с 1.4.0, fulltraffic работает корректно. Можете привести пример строчки или нескольких строчек access.log, когда опция fulltraffic некорректно работает?
сейчас он считает все что не HIT
сделать такую табличку - 10 минут делов (если с файлами конфига)
странно что не написали письмо по этому ?можно боле подробно почему именно эти коды ??
а по поводу "фактичесски потребленного"
имхо его ВООБЩЕ НЕОВОЗМОЖНО посчитать
Так что все-таки с датами и невозможностью запуска rm?
> Так что все-таки с датами и невозможностью запуска rm?Free-SA пока не тестировался на 64-битных платформах, хотя и разрабатывался с прицелом на работу с ними. 64-битной платформы у меня сейчас нет, поэтому попробую разобратся поиском в google.com подобных ошибок. Хотя обе мне не понятны, т.к. для хранения даты и времени используются штатные типы C, а rm вызывается system (возможно путь к rm не прописан в PATH???).
Я был бы рад связаться с кем-нибудь, кто хотел бы помочь отладить free-sa на 64-битной платформе, хотя справлюсь и сам, только не быстро.
>Я был бы рад связаться с кем-нибудь, кто хотел бы помочь отладить
>free-sa на 64-битной платформе, хотя справлюсь и сам, только не быстро.
Можно предоставить контейнер с 64-битным ALT Linux, Debian или CentOS. Если к выходным будет актуально -- пишите почтой.
С датами и немного с 64-битными архитектурами разобрался, в 1.0.2 исправлено.
>Так что все-таки с датами и невозможностью запуска rm?Исправлено в 1.2.0b.
> Что с датами? И далее, на том же файле:> # free-sa
> SAERROR: [SAsystem] Can't execute rm
> SAERROR: [CollectLog] No records foundПопробуйте Free-SA 1.0.2 там практически вслепую внес некоторые изменения. Что касается rm, то эта программа присутствует в путях (переменной PATH)?
>> Что с датами? И далее, на том же файле:
>
>> # free-sa
>> SAERROR: [SAsystem] Can't execute rm
>> SAERROR: [CollectLog] No records found
>
>Попробуйте Free-SA 1.0.2 там практически вслепую внес некоторые изменения. Что касается rm,
>то эта программа присутствует в путях (переменной PATH)?
Попробовал. С датами все в порядке:# free-sa -s
Log file information:
File name: /usr/local/squid/logs/access.log
File size: 17 920 551
Start date and time: 24.02.2007 13:05:29
End date and time: 23.03.2007 10:30:49Но с rm тот же затык:
# free-sa
SAERROR: [SAsystem] Can't execute rm
SAERROR: [SAsystem] Can't execute sort
SAERROR: [SAfopenI] /tmp/sa/saf. No such file or directoryЕстественно, и тот и другой в путях она присутствуют :)
# rm
usage: rm [-f | -i] [-dIPRrvW] file ...
unlink file
# which rm
/bin/rm
>Но с rm тот же затык:
># free-sa
>SAERROR: [SAsystem] Can't execute rm
Проще и безопаснее звать /bin/rm, а вот где, кроме /bin, может оказаться sort -- не знаю.
>>Но с rm тот же затык:
>># free-sa
>>SAERROR: [SAsystem] Can't execute rm
>Проще и безопаснее звать /bin/rm, а вот где, кроме /bin, может оказаться
>sort -- не знаю.По большей части в 1.1.0 учтены пожелания по части безопасности, в том числе с путями и символами в названиях файлов.
Интересно, с rm ошибки у меня одного?
Повторюсь, FreeBSD-6.2-p2, amd64, Free-SA 1.0.2.
Кто то еще писал об этом. Буду разбираться с вызовом system...
>Интересно, с rm ошибки у меня одного?
>Повторюсь, FreeBSD-6.2-p2, amd64, Free-SA 1.0.2.Все ошибки с переносом с платформы на платформу исправлены в 1.2.0b.
То что товарищу перл не нравится это "не зачёт", но то, что реагирует вежливо и оперативно - молодец!
В порты его
>В порты егоToxa занимается FreeBSD.
Ага, порт уже готов и отправлен в PR-базу а также на рассмотрение порт-коммиттерам :)
>Ага, порт уже готов и отправлен в PR-базу а также на рассмотрение
>порт-коммиттерам :)
Вот лучше бы это из pkg-plist убрали: etc/free-sa/sa.conf. Для этого есть ж sa.conf.dist или sa.conf.sample. :)
В 1.1.1 будет убрано.
Скачал версию 1.2.1, программа понравилась, вот только у меня при использовании префикса она все равно ищет conf в директории по умолчанию. На страничке популярные сайты, образовалась длинная ссылка, http://www.687474703a2f2f742e776170632e72752f4852462f3961353.../
и ее просмотр несколько затрудняется.
Вы считаете стоит укорачивать даже URL сайтов, если они длинные?
Это совсем не сложно исправить в коде, но стоит ли? У вас некоторого рода исключение с такой длинной ссылкой.
>Вы считаете стоит укорачивать даже URL сайтов, если они длинные?
>Это совсем не сложно исправить в коде, но стоит ли?
Скорее стоит, если больше каких ~64 символов. Или пробелами разбивать внутри <a>.. ..</a>.
Скажите пожалуйста, при установке Free-Sa сообщение:
"global.mk", line 75: Unassociated shell command "-AC99 +w1 +M2"
make: fatal errors encountered -- cannot continue
что значит?
спасибо
>Скажите пожалуйста, при установке Free-Sa сообщение:
>"global.mk", line 75: Unassociated shell command "-AC99 +w1 +M2"
>make: fatal errors encountered -- cannot continue
>что значит?
>спасибо
Версия FreeBSD 6.1, Free-Sa 1.3.2b
В global.mk нужно закомментировать (символ # в самом начале строки) строки 74 и 75, хотя это странно, т.к. строки 73-75 - это одна разнесенная строка и в других системах эта ошибка не возникает :-\
Понравилась программка :)
Только какие-то проблемы с чтением логов Postfix есть.
Отказывается признавать его лог, как лог :)
Если стоит "автораспознавание" типа лога, то вообще не признаёт за лог.
Если ставлю принудительно "3", то говорит, что нет записей.
Я грешу на то, что настроена авторизация TLS в Postfix-е.
Без неё, на прошлой системе было нормально, в смысле после принудительного указания
типа лог-файла. А на "автомате" так-же - не распознавал.
Есть идеи как это побороть?
И хочется, чтобы usertab-файл работал не только с логами прокси-сервера,
но и с почтовыми. А также понимал разные варианты подстановки для пользователя,
например:
user@mail.com Василий Петров
user@gmail.com Василий ПетровТакже и с прокси-сервисом:
root Иван Сидоров
192.168.0.1 Иван СидоровМожет это у меня только так не работает?
>Понравилась программка :)
>Только какие-то проблемы с чтением логов Postfix есть.
>Отказывается признавать его лог, как лог :)
>Если стоит "автораспознавание" типа лога, то вообще не признаёт за лог.
>Если ставлю принудительно "3", то говорит, что нет записей.
>Я грешу на то, что настроена авторизация TLS в Postfix-е.
>Без неё, на прошлой системе было нормально, в смысле после принудительного указания
>
>типа лог-файла. А на "автомате" так-же - не распознавал.
>Есть идеи как это побороть?
>И хочется, чтобы usertab-файл работал не только с логами прокси-сервера,
>но и с почтовыми. А также понимал разные варианты подстановки для пользователя,
>
>например:
>user@mail.com Василий Петров
>user@gmail.com Василий Петров
>
>Также и с прокси-сервисом:
>root Иван Сидоров
>192.168.0.1 Иван Сидоров
>
>Может это у меня только так не работает?С usertab разобрался :) Теперь так забавно - несколько пользователей с одинаковыми именами.
А можно добавить опцию, чтобы суммировался трафик или отправляемые письма в отчёте,
если это один пользователь полученный в usertab?
Пусть бы это было даже опционально реализовано.
>Только какие-то проблемы с чтением логов Postfix есть.
>Отказывается признавать его лог, как лог :)Не могли бы выслать образец журнала Postfix, который не определяется программой как Postfix log?
>А можно добавить опцию, чтобы суммировался трафик или отправляемые письма в отчёте,
>если это один пользователь полученный в usertab?
>Пусть бы это было даже опционально реализовано.Да, уже не раз думал, но мне кажется неправильным такая смешанная схема, когда и IP и имена (готов дискутировать, мне кажется это востребовано только в определенный переходный период). Если вас устроит учёт только по IP, то установите в free-sa.conf опцию inameuser="false", после этого не будет двух разных "Иван Сидоров"-ых в отчетах.
P.S. Я оч. прошу писать об ошибках и пожеланиях на сайт программы, трудно уследить за всеми форумами, делаю это периодически, когда есть время. Лучше писать сюда (можно и анонимно, и на русском): http://sourceforge.net/tracker/?group_id=191513
А что за ошибка такая?SAERROR: [ShowLogI] Can't read log
Как ее лечить?
>А что за ошибка такая?
>
>SAERROR: [ShowLogI] Can't read log
>
>Как ее лечить?Так, вроде read log заработал, тольво вот теперь это вылазиет:
free-sa -d 12.09.2009-12.09.2009
SAERROR: [main] No records foundхотя это работает:
free-sa -s
Log file information:
File name: /var/log/squid/access.log
File size: 1563394
Start date and time: 11.01.2009 20:16:52
End date and time: 12.01.2009 14:30:05чо делать???
>[оверквотинг удален]
>free-sa -s
>Log file information:
>File name:
> /var/log/squid/access.log
>File size:
> 1563394
>Start date and time: 11.01.2009 20:16:52
>End date and time: 12.01.2009 14:30:05
>
>чо делать???О! А так заработало...
free-sa -f /usr/local/etc/free-sa/free-sa.conf -d 12.01.2009-12.09.2009:))
>>free-sa -d 12.09.2009-12.09.2009
>>SAERROR: [main] No records found
>>
>>Start date and time: 11.01.2009 20:16:52
>>End date and time: 12.01.2009 14:30:05
>О! А так заработало...
>free-sa -f /usr/local/etc/free-sa/free-sa.conf -d 12.01.2009-12.09.2009Разумно, ведь вы его в предыдущем сообщении просили обработать записи за сентябрь 2009 года :-)
>>>free-sa -d 12.09.2009-12.09.2009
>>>SAERROR: [main] No records found
>>>
>>>Start date and time: 11.01.2009 20:16:52
>>>End date and time: 12.01.2009 14:30:05
>>О! А так заработало...
>>free-sa -f /usr/local/etc/free-sa/free-sa.conf -d 12.01.2009-12.09.2009
>
>Разумно, ведь вы его в предыдущем сообщении просили обработать записи за сентябрь
>2009 года :-)Точно! :)))
Здравствуйте! Столкнулся с проблемой: поставил free-sa на freebsd 7.0
Во время запуска
free-sa -d 09/01/2009-09/30/2009
Вылетает с ошибкой
Illegal instruction (core dumped)
Что можно сделать& Процессор VIA C3 Samuel
>Здравствуйте! Столкнулся с проблемой: поставил free-sa на freebsd 7.0
>Во время запуска
>free-sa -d 09/01/2009-09/30/2009
>Вылетает с ошибкой
>Illegal instruction (core dumped)
>Что можно сделать& Процессор VIA C3 SamuelТ.к. проблему вижу впервые, не могли бы вы скачать Free-SA 1.6.2, исправить в free-sa-1.6.2/configs/freebsd-native-gcc4.mk переменную SARCH с native на c3 и собрать программу. После этого, без make install (!) запустите полученный бинарный файл в директории src: src/free-sa
Если будет работать - отпишите, я сообщу мэйнтейнеру порта.
Прошу прощения, с free-bsd -недавно.
Можно пояснить как собрать программу без make install
Не тупой просто сложно после MS понять логику.
>Прошу прощения, с free-bsd -недавно.
>Можно пояснить как собрать программу без make install
>Не тупой просто сложно после MS понять логику.Не набирая make install наберите просто make, после этого появится бинарник в директории исходников src.
>Не набирая make install наберите просто make, после этого появится бинарник в
>директории исходников src.Сделал так. Удалил каталог /usr/local/src/free-sa-1.6.2
распаковал заново скачаный дистриб free-sa-1.6.2
поправил в global.mk (раскоментил freebsd-nativ, закоментил ост)
в configs в файле freebsd-native-gcc4.mk SARCH = c3
затем make при этом все помоему было не правильно
l_squid_native.c: In function 'SquidReadRecord':
l_squid_native.c:7: warning: format '%10ld' expects type 'long int *', but argument 3 has type 'time_t *'
l_squid_native.c: In function 'SquidReadDT':
l_squid_native.c:37: warning: format '%10ld' expects type 'long int *', but argument 3 has type 'time_t *'
l_squid_native.c: In function 'SquidReadFullDT':в /usr/local/src/free-sa-1.6.2 появился файл free-sa, зашел в эту дир,
#free-sa
Illegal instruction (core dumped)чтонибудь можно сделать, на другом сервере все отлично заработало, но там обычный пентиум, хотя мохет не в этом дело?
Все, работает, без c3 почему незнаю
>Все, работает, без c3 почему незнаюНа самом деле еще раз распаковал, ничего не менял в конфигах, сделал make и make install
Только вот теперь не пойму. Ошибок не выдала, отвиселась адекватное время.
но в папке /usr/local/www/data/free-sa
появилось только c.png cgi-bin d.png g.png gsa.css lsa.css rsa.css s.png sa.js themes
Тут то в чем может проблема быть... ?
>Только вот теперь не пойму. Ошибок не выдала, отвиселась адекватное время.
>но в папке /usr/local/www/data/free-sa
>появилось только c.png cgi-bin d.png g.png
>gsa.css lsa.css rsa.css s.png sa.js themes
>Тут то в чем может проблема быть... ?Я думаю, что Free-SA сделала отчет в другой директории, проверьте переменную WWWDIR через free-sa -V
>Я думаю, что Free-SA сделала отчет в другой директории, проверьте переменную WWWDIR
>через free-sa -VСпасибо Вам ОГРОМНОЕ!
Все работает!
Здравствуйте, еще раз.
Есть возможность редактировать вид отправляемого сообщения на e-mail?
У меня оно немного "кривое" получается.
Хотелось бы чтобы столбики ровные получались.
А в конце хочу поставить ссылку на полную статистику.
------
p s p s c p d l
No User Requests Bytes a a d d c s l c
f f n n t t d f
=================================================================================
1 ************** 4,334 319.49M
2 ************** 12,625 195.77M
3 ************** 11,679 107.29M
4 ************** 7,134 60.54M
5 ************** 584 7.29M
=================================================================================
TOTAL 36,356 690.37M
AVERAGE 7,271 138.07M
>[оверквотинг удален]
> TOTAL
>
>
> 36,356
> 690.37M
> AVERAGE
>
>
> 7,271
> 138.07MПодредактировал r_email.c, убрал "лишниее", но вот почему форматирование строчек ползет пока не понял.
No User Requests Bytes
=========================================================================
1 ************* ОП1 4334 319.49M
2 ********* ОП1 12625 195.77M
3 ********* ОП1 11679 107.29M
4 *********** ОП1 7134 60.54M
5 ********** ОП1 3148 41.41M
6 *********** ОП1 584 7.29M
=================================================================================
TOTAL 39504 731.78M
AVERAGE 6584 121.96M
> Подредактировал r_email.c, убрал "лишниее", но вот почему форматирование строчек ползет
> пока не понял.Какая у вас кодировка локали и используете ли вы фиксированный шрифт при просмотре письма?
>> Подредактировал r_email.c, убрал "лишниее", но вот почему форматирование строчек ползет
>> пока не понял.
> Какая у вас кодировка локали и используете ли вы фиксированный шрифт при
> просмотре письма?До сегодня не было у меня в системе ru_RU.UTF-8 UTF-8, добавил ее, расскоментил в конфиге строчку с locale="ru_RU.UTF-8". Работает. Пишет по русски, но в заголовке письма отсутствует что это UTF-8.
Фиксированный шрифт не использую. Может быть поможет если дописать, в какой кодировке письмо?
> До сегодня не было у меня в системе ru_RU.UTF-8 UTF-8, добавил
> ее, расскоментил в конфиге строчку с locale="ru_RU.UTF-8". Работает. Пишет по русски,
> но в заголовке письма отсутствует что это UTF-8.
> Фиксированный шрифт не использую. Может быть поможет если дописать, в какой
> кодировке письмо?Ошибку увидел, буду работать над ее устранением в следующей бете 2.0.0.