[Moscow.pm] Offline #5

Ivan B. Serezhkin ivan на serezhkin.com
Пт Мар 14 12:05:40 PDT 2008


Kaltashkin Eugene wrote:
> Кстати по поводу обработки больших логов.
> Каким образом POE увеличивает/улучшает скорость обработки ?
>   
Никаким, только тормозит, но становится приятнее жить.
> Расскажешь вкратце прям тута ?
> Что делать с рваной структурой логов аля sendmail, exim, postfix,
> где записи объединены одним общим признаком ?
> Тупо логи апача разбирать не сильно интересно, если нет сессионности.
>   
Писать POE::Filter::(exim|sendmail|postfix) Это хороший вариант 
деятельности.
У меня логи многострочные, Известно что новая запись начинается со слов 
mess:
Вот я и взял готовый POE::Filter::Line , перенастроил его, 
абстрагировался от файлов и строк, и стал получать просто куски данных.
> Из моих механизмов я использую следущие:
> Если важна онлайновость обработки логов и квантование по времени, то 
> много удобнее дергать данные через
> использование меток временных промежутков.
> grep(bzgrep) -A 1000000 "$date" logfile.log > tmp.log
>   
Во во, у меня немножко ждругой подход, я весь лог в процессе создания 
индексю в gdbm,
запихиваю туда смещение.
bzgrep - это не современный путь, зиповать ты можешь только на одном 
ядре проца.
А вот одно ядро проца раззиповывает медленнее, чем читается просто с диска.
Тут надо балансировать на грани ... вообщем раскажу.
> Начальное значение $date скажем формируется как head -1 logfile.log.
> следущее значение как $date = tail -1 tmp.log.
> таким образом обеспечивая целостность проверки лога.
> Далее просто штатная проработка параметров по временному логу.
> Если нужно разгребать логи целиком, то вот тут интересен твой метод.
> Мне например нужно разгрести пару логов размером по 30 Гигов. Как ? я 
> пока не понимаю.
>   
Гору 30 гигов в час, во первых нужен хороший логсервер .... =)
Во вторых надо паралелится. Во вторых надо умно паралелится.
Пое тут помогает сильно, у меня штук пять читалок логов, которые тупо 
читают логи,
делают изкаждой записи готовый объект SOLOG::Record, в котором запись 
уже распарсена,
и отдаёт такие объекты в головную считалку, которая ничего не 
читает/парсит? а только работает с этими объектами.
А чтобы не включатся/выключатся при перенастройке - оно у меня 
разговаривает со мной по XMPP - и вот только изза этого можно было 
выбрать POE.


> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> http://mail.pm.org/mailman/listinfo/moscow-pm
ЗЫ  !!!!!!!  # XXX FIXME FUCKUP
Тирлайн(tearline) состоит не только и двух минусов.
Тирлайн это два минуса, пробел и перевод строки.
У меня тхундербирд не говорит что такая конструкция это подпись.

-- 
Ivan B. Serezhkin



Подробная информация о списке рассылки Moscow-pm