ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] [JT] Форматирование логов: shell или perl
@ 2003-01-29  9:14 Flach
  2003-01-29  9:29 ` Ilya Palagin
  0 siblings, 1 reply; 7+ messages in thread
From: Flach @ 2003-01-29  9:14 UTC (permalink / raw)
  To: community

Добрый день!
Вопрос не по системе, поэтому обозначил его как второстепенный.
Есть необходимость переформатировать и отсортировать содержимое логов трафика 
пользователей. Для этих целей решил использовать grep, awk, sed и, конечно, 
sort. Во время теста скрипта на живом логе (7 Мб) все прошло замечательно. Но 
я не учел, что тот самый лог был один из первых, когда в системе было всего 
12 пользователей. А их на самом деле гораздо больше. Сейчас суточные логи 
представляют собой файлы размером до 100 Мб.   Загрузка процессора на sort , 
если верить top,  составляет 99,5. В результате, на больших логах имею массу 
ошибок. 
Кинулся тоже самле делать в perl, который по-идее для этого и предназначен, 
но червь сомнения точит. А не повторится ли ситуация при обработке больших 
логов? 

Спасибо.
С уважением, Михаил



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] [JT] Форматирование логов: shell или perl
  2003-01-29  9:14 [Comm] [JT] Форматирование логов: shell или perl Flach
@ 2003-01-29  9:29 ` Ilya Palagin
  2003-01-29 11:49   ` [Comm] " Flach
  0 siblings, 1 reply; 7+ messages in thread
From: Ilya Palagin @ 2003-01-29  9:29 UTC (permalink / raw)
  To: community

Flach wrote:
> Добрый день!
> Вопрос не по системе, поэтому обозначил его как второстепенный.
> Есть необходимость переформатировать и отсортировать содержимое логов трафика 
> пользователей. Для этих целей решил использовать grep, awk, sed и, конечно, 
> sort. Во время теста скрипта на живом логе (7 Мб) все прошло замечательно. Но 
> я не учел, что тот самый лог был один из первых, когда в системе было всего 
> 12 пользователей. А их на самом деле гораздо больше. Сейчас суточные логи 
> представляют собой файлы размером до 100 Мб.   Загрузка процессора на sort , 
> если верить top,  составляет 99,5. В результате, на больших логах имею массу 
> ошибок. 
> Кинулся тоже самле делать в perl, который по-идее для этого и предназначен, 
> но червь сомнения точит. А не повторится ли ситуация при обработке больших 
> логов? 
Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью перла, 
например) и генерируйте репорты средствами mysql (перл здесь понадобится 
лишь для форматирования). Это быстро, надежно и практично, к тому же 
можно будет накопить данные за годы!



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Comm] Re:  [JT] Форматирование логов:  shell или perl
  2003-01-29  9:29 ` Ilya Palagin
@ 2003-01-29 11:49   ` Flach
  2003-01-29 12:36     ` Denis S. Filimonov
                       ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Flach @ 2003-01-29 11:49 UTC (permalink / raw)
  To: community

> Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью перла,
> например) и генерируйте репорты средствами mysql (перл здесь понадобится
> лишь для форматирования). Это быстро, надежно и практично, к тому же
> можно будет накопить данные за годы!

Спасибо, Ilya.
Тут встает другой вопрос. Машинка на которой работают mysql и Apache не очень 
мощная - PIII-800, 256Mb, HDD20Gb и все это на маме Gyga с чипсетом i815. Я 
совсем недавно начал работать с MySQL и Perl и поэтому пока не очень 
ориентируюсь в их потребностях. Но есть какое-то сомнение, что эта машинка 
сможет быстро шевелиться проглатывая ежедневно по 50 Мегов информации. Кроме 
того, для того чтобы лог кинуть в базу в любом случае его надо как-то 
отформатировать и тогда мы возвращаемся к первому вопросу. 

С уважением, Михаил



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Re:  [JT] Форматирование логов:  shell или perl
  2003-01-29 11:49   ` [Comm] " Flach
@ 2003-01-29 12:36     ` Denis S. Filimonov
  2003-01-29 12:54     ` Sergey Degtyaryov
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Denis S. Filimonov @ 2003-01-29 12:36 UTC (permalink / raw)
  To: community

29 Январь 2003 17:49, Flach написал:
> > Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью
> > перла, например) и генерируйте репорты средствами mysql (перл здесь
> > понадобится лишь для форматирования). Это быстро, надежно и
> > практично, к тому же можно будет накопить данные за годы!
>
> Спасибо, Ilya.
> Тут встает другой вопрос. Машинка на которой работают mysql и Apache
> не очень мощная - PIII-800, 256Mb, HDD20Gb и все это на маме Gyga с
> чипсетом i815. Я совсем недавно начал работать с MySQL и Perl и
> поэтому пока не очень ориентируюсь в их потребностях. Но есть
> какое-то сомнение, что эта машинка сможет быстро шевелиться
> проглатывая ежедневно по 50 Мегов информации. Кроме того, для того
> чтобы лог кинуть в базу в любом случае его надо как-то
> отформатировать и тогда мы возвращаемся к первому вопросу.
>
разница есть - насколько я понял, sort'ом вы перетряхиваете логи при
каждом запросе, т.е. одна и та же работа делается многократно, а mysql
это нужно будет только однажды - при добавлении, потом будут 
использоваться индексы (если они, конечно, правильно созданы). 
Что касается того потянет тачан или нет, все зависит от того как 
нагружать будете :) но в целом MySQL имеет весьма скромные потребности.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Re:  [JT] Форматирование логов:  shell или perl
  2003-01-29 11:49   ` [Comm] " Flach
  2003-01-29 12:36     ` Denis S. Filimonov
@ 2003-01-29 12:54     ` Sergey Degtyaryov
  2003-01-29 13:17     ` Dmitry Lebkov
  2003-01-29 13:33     ` Ilya Palagin
  3 siblings, 0 replies; 7+ messages in thread
From: Sergey Degtyaryov @ 2003-01-29 12:54 UTC (permalink / raw)
  To: community

Flach wrote:
>>Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью перла,
>>например) и генерируйте репорты средствами mysql (перл здесь понадобится
>>лишь для форматирования). Это быстро, надежно и практично, к тому же
>>можно будет накопить данные за годы!
> 
> 
> Спасибо, Ilya.
> Тут встает другой вопрос. Машинка на которой работают mysql и Apache не очень 
> мощная - PIII-800, 256Mb, HDD20Gb и все это на маме Gyga с чипсетом i815. Я 
> совсем недавно начал работать с MySQL и Perl и поэтому пока не очень 
> ориентируюсь в их потребностях. Но есть какое-то сомнение, что эта машинка 
> сможет быстро шевелиться проглатывая ежедневно по 50 Мегов информации. Кроме 
> того, для того чтобы лог кинуть в базу в любом случае его надо как-то 
> отформатировать и тогда мы возвращаемся к первому вопросу. 

А какого рода ошибки?
Я сейчас специально погонял свою считалку.
Это cgi-ха, на perl.
У меня маленькие логи, но я специально раздул их:
[maga@spb maga]$ du access.log
45M     access.log

Итак, считалка говорит:
Lines in access.log: 363375 lines
Time to analize: 78.221583 sec
Lines per sec: 4645 ln/sec

И ТТХ машинки:
iP166@262 Mhz, 64 RAM
[maga@spb maga]$ sudo hdparm -t /dev/hda
/dev/hda:
  Timing buffered disk reads:  64 MB in  4.20 seconds = 15.24 MB/sec

Отработала нормально, и текст и картинка, загрузка была около 
90%. В скрипте есть проверки по времени, по типу запроса и 
сортировки.

--
Сергей Дегтярев



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Re:  [JT] Форматирование логов:  shell или perl
  2003-01-29 11:49   ` [Comm] " Flach
  2003-01-29 12:36     ` Denis S. Filimonov
  2003-01-29 12:54     ` Sergey Degtyaryov
@ 2003-01-29 13:17     ` Dmitry Lebkov
  2003-01-29 13:33     ` Ilya Palagin
  3 siblings, 0 replies; 7+ messages in thread
From: Dmitry Lebkov @ 2003-01-29 13:17 UTC (permalink / raw)
  To: community

On Wed, 29 Jan 2003 14:49:30 +0300
Flach <flach@mcnet.ru> wrote:

> 
> > Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью
> > перла, например) и генерируйте репорты средствами mysql (перл здесь
> > понадобится лишь для форматирования). Это быстро, надежно и
> > практично, к тому же можно будет накопить данные за годы!
> 
> Спасибо, Ilya.
> Тут встает другой вопрос. Машинка на которой работают mysql и Apache
> не очень мощная - PIII-800, 256Mb, HDD20Gb и все это на маме Gyga с
> чипсетом i815. Я совсем недавно начал работать с MySQL и Perl и
> поэтому пока не очень ориентируюсь в их потребностях. Но есть какое-то

Такой машинки за глаза хватит ... :)

> сомнение, что эта машинка сможет быстро шевелиться проглатывая
> ежедневно по 50 Мегов информации. Кроме того, для того чтобы лог
> кинуть в базу в любом случае его надо как-то отформатировать и тогда
> мы возвращаемся к первому вопросу. 

Зачем ворочать весь лог за день, если его можно лить построчно, с
интерфвалом в 5 минут, например?


--
WBR, Dmitry Lebkov


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Comm] Re:  [JT] Форматирование логов:  shell или perl
  2003-01-29 11:49   ` [Comm] " Flach
                       ` (2 preceding siblings ...)
  2003-01-29 13:17     ` Dmitry Lebkov
@ 2003-01-29 13:33     ` Ilya Palagin
  3 siblings, 0 replies; 7+ messages in thread
From: Ilya Palagin @ 2003-01-29 13:33 UTC (permalink / raw)
  To: community

Flach wrote:
>>Повторится, конечно. Лучше бросайте логи в mуsql базу (с помощью перла,
>>например) и генерируйте репорты средствами mysql (перл здесь понадобится
>>лишь для форматирования). Это быстро, надежно и практично, к тому же
>>можно будет накопить данные за годы!
> 
> 
> Спасибо, Ilya.
> Тут встает другой вопрос. Машинка на которой работают mysql и Apache не очень 
> мощная - PIII-800, 256Mb, HDD20Gb и все это на маме Gyga с чипсетом i815. Я 
Для данной задачи это СЛИШКОМ мощная машина.

> совсем недавно начал работать с MySQL и Perl и поэтому пока не очень 
> ориентируюсь в их потребностях. Но есть какое-то сомнение, что эта машинка 
> сможет быстро шевелиться проглатывая ежедневно по 50 Мегов информации. Кроме 
Вряд ли вы заметите нагрузку.

> того, для того чтобы лог кинуть в базу в любом случае его надо как-то 
> отформатировать и тогда мы возвращаемся к первому вопросу. 
Тормоза у вас возникают из-за того, что используемые утилиты работают с 
текстовыми файлами построчно. mysql делает сортировку и запросы гораздо 
более эффективными способами (если, конечно, вы установите индексы на 
столбцы, по которым будете делать сортировку), т.е. загрузка и время 
выполнения будут несравнимо меньшими.

Посмотрите, насколько проще стала задача:
1.Ввод данных в mysql базу с помощью perl скрипта (который будет 
содержать лишь 2 основных команды - regex для разбиения строки на 
элементы записи и sql команду INSERT)
2. Вывод данных  с помощью perl скрипта  (который будет содержать лишь 2 
основных команды -  sql команду SELECT и print)
И всё.

Об удобстве хранения информации в этом случае я уже говорил.



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-01-29 13:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-29  9:14 [Comm] [JT] Форматирование логов: shell или perl Flach
2003-01-29  9:29 ` Ilya Palagin
2003-01-29 11:49   ` [Comm] " Flach
2003-01-29 12:36     ` Denis S. Filimonov
2003-01-29 12:54     ` Sergey Degtyaryov
2003-01-29 13:17     ` Dmitry Lebkov
2003-01-29 13:33     ` Ilya Palagin

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git