Распарсить логи - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64587.5967
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 11.07.2012, 19:21   #1
xatman
Особый статус
 
Аватар для xatman
 
Регистрация: 05.10.2007
Сообщений: 771
Бабло: $163646
По умолчанию Распарсить логи

Есть логи ... овер 3ГБт.
Нужно получить из них статсу по браузерам и операционкам.
Чё посоветуете под линух.
__________________
EvaPharmacy - лучшая фарма партнерка (ICQ: 750000 Jabber: [email protected]) / Помощь детям.
xatman вне форума  
Старый 11.07.2012, 19:24   #2
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953648
По умолчанию

awstats съест запросто, а если порежешь на несколько частей то еще лучше
__________________
sspy вне форума  
Старый 11.07.2012, 20:23   #3
Venya Tolinov
Senior Member
 
Аватар для Venya Tolinov
 
Регистрация: 24.11.2010
Сообщений: 229
Бабло: $52860
Отправить сообщение для Venya Tolinov с помощью Skype™
По умолчанию

Для таких логов:
PHP код:
192.168.1.100 - - [29/Apr/2011:06:02:54 +0400"GET / HTTP/1.1" 500 612 "http://192.168.1.10/login" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:03:32 +0400"GET / HTTP/1.1" 200 4463 "http://192.168.1.10/login" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:03:34 +0400"GET /static/simple.css HTTP/1.1" 304 "http://192.168.1.10/" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:03:37 +0400"GET /static/arrow.png HTTP/1.1" 404 19 "http://192.168.1.10/static/simple.css" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:06:45 +0400"GET / HTTP/1.1" 500 612 "http://192.168.1.10/login" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:09:11 +0400"GET / HTTP/1.1" 200 4463 "http://192.168.1.10/login" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:09:14 +0400"GET /static/simple.css HTTP/1.1" 304 "http://192.168.1.10/" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0"
192.168.1.100 - - [29/Apr/2011:06:09:16 +0400"GET /static/arrow.png HTTP/1.1" 404 19 "http://192.168.1.10/static/simple.css" "Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0" 
Вроде как-то так:
PHP код:
#!/usr/local/bin/python
# encoding: utf-8
import re

rf 
re.compile('"[^"]+?\(([^\);]+)[^"]+?\)[^"]+?([^\s]+)"$')
browser = {}
os = {}
error 0

with open
('logs.log''r') as f:
    for 
line in f:
        
rf.search(line)
        if 
not r:
            
error += 1
            
continue
        
cur_os r.group(1)
        
cur_browser r.group(2)
        
os[cur_os] = os[cur_os]+if os.has_key(cur_os) else 0
        browser
[cur_browser] = browser[cur_browser]+if browser.has_key(cur_browser) else 0

for cur_oscur_count in sorted(os.items(), cmp=lambda x,ycmp(x[1], y[1]), reverse=True):
    print 
"%s\t%s" % (cur_countcur_os)
print 
"\n\n"
for cur_browsercur_count in sorted(browser.items(), cmp=lambda x,ycmp(x[1], y[1]), reverse=True):
    print 
"%s\t%s" % (cur_countcur_browser
Проверь у себя на кусочке, если что подкрути регулярку.
__________________
Amazon Graffiti - монетизация страниц в Facebook
Venya Tolinov вне форума  
Старый 11.07.2012, 20:26   #4
Venya Tolinov
Senior Member
 
Аватар для Venya Tolinov
 
Регистрация: 24.11.2010
Сообщений: 229
Бабло: $52860
Отправить сообщение для Venya Tolinov с помощью Skype™
По умолчанию

Цитата:
Сообщение от sspy Посмотреть сообщение
awstats съест запросто, а если порежешь на несколько частей то еще лучше
Ну кстати.. да. Велосипед можно не изобретать. Но бывает иногда проще скрипт набросать чем в манах ковыряться. Красноглазики одобряют.
__________________
Amazon Graffiti - монетизация страниц в Facebook
Venya Tolinov вне форума