The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как отфильтровать строки в логе по datetime?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Как отфильтровать строки в логе по datetime?"  
Сообщение от 100chuk email on 25-Апр-09, 23:13 
Всем доброго!

Есть вывод ipшников обращений к вебсерверу с сортировкой по числу запросов с ip:
cat *.log | awk '{print $1}' | sort | uniq -c | sort

Что необходимо добавить, чтобы учитывались только обращения за последние n минут?
Нагуглить сходу не получилось.

Заранее спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как отфильтровать строки в логе по datetime?"  
Сообщение от pon on 26-Апр-09, 13:17 
формат то строки в логах какой? и какой формат даты-времени?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как отфильтровать строки в логе по datetime?"  
Сообщение от 100chuk email on 26-Апр-09, 20:49 
>формат то строки в логах какой? и какой формат даты-времени?

Вот такой:
72.30.81.190 - - [26/Apr/2009:03:37:12 +0400] "GET /forum/index.php?PAGE_NAME=read&FID=16&TID=503&MID=s&PAGEN_1=14 HTTP/1.0" 200 24760 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как отфильтровать строки в логе по datetime?"  
Сообщение от pon on 26-Апр-09, 21:17 
>>формат то строки в логах какой? и какой формат даты-времени?
>
>Вот такой:
>72.30.81.190 - - [26/Apr/2009:03:37:12 +0400] "GET /forum/index.php?PAGE_NAME=read&FID=16&TID=503&MID=s&PAGEN_1=14 HTTP/1.0" 200 24760 "-" "Mozilla/5.0
>(compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"

а как-то так не пойдет?

tail -1000 *.log | awk '{print $1}' | sort | uniq -c | sort

если нужено конкретно за 2-е последние минуты, то скрипт написать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как отфильтровать строки в логе по datetime?"  
Сообщение от angra (ok) on 27-Апр-09, 11:34 
Вот любопытно зачем надо было спрашивать про формат лога и даты, а потом морозить херню про tail?

2автор
Если я не ошибаюсь, то DateTime::Format::Mail включается в стандартную поставку perl. Добавь
в конвеер
perl -MDateTime::Format::Mail -ne 'm|(\d\d)/(\w+)/(\d\d\d\d):([\d:]+) ([^\]]+)|;$d = DateTime::Format::Mail->parse_datetime("$1 $2 $3 $4 $5"); print if time-$d->epoch <3*60'
альтернативно можно воспользоваться возможностями date.
perl -ne 'm|(\d\d)/(\w+)/(\d\d\d\d):([\d:]+) ([^\]]+)|;$d=`date +%s --date="$1 $2 $3 $4 $5"`; print if time-$d <3*60'
Ну и возможно, что awk тоже с таким справится, но это уже не ко мне.
Думаю, где задается интервал в этих однострочниках догадаться не сложно :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Как отфильтровать строки в логе по datetime?"  
Сообщение от 100chuk on 29-Апр-09, 16:44 
Спасибо, попробую.

А как через awk сделать, никто не знает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Как отфильтровать строки в логе по datetime?"  
Сообщение от троллъ on 29-Апр-09, 17:00 
>Спасибо, попробую.
>
>А как через awk сделать, никто не знает?

Это конечно не совсем то но можно выбирать строки по регекспу поля со временем

72.30.81.190 - - [26/Apr/2009:03:37:12 +0400] "GET /forum/index.php?PAGE_NAME=read&FID=16&TID=503&MID=s&PAGEN_1=14 HTTP/1.0" 200 24760 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"

За интервал в 5 минут
awk ' $4~/26/Apr/2009:03:3[2-7]/ {ips[$1]++} END {for (ip in ips) print ips[ip]" "ip}' loh-file | sort -n -k 1

{ips[$1]++} END {for (ip in ips) print ips[ip]" "ip}  - такая конструкция чесна спиж..на с опеннета :), кто писал в советах

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Как отфильтровать строки в логе по datetime?"  
Сообщение от троллъ on 29-Апр-09, 17:01 
>[оверквотинг удален]
>
>72.30.81.190 - - [26/Apr/2009:03:37:12 +0400] "GET /forum/index.php?PAGE_NAME=read&FID=16&TID=503&MID=s&PAGEN_1=14 HTTP/1.0" 200 24760 "-" "Mozilla/5.0
>(compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"
>
>За интервал в 5 минут
>awk ' $4~/26/Apr/2009:03:3[2-7]/ {ips[$1]++} END {for (ip in ips) print ips[ip]" "ip}'
>loh-file | sort -n -k 1
>
>{ips[$1]++} END {for (ip in ips) print ips[ip]" "ip}  - такая
>конструкция чесна спиж..на с опеннета :), кто писал в советах

Слеши в регекспе есесна заэкранировать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру