![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Xelius |
|
|||
|
Unregistered |
Сделал разбор логов Apache. Хотел посмотреть - сколько уникальных пользователей ходит. Требуется своя-собственная статистика...И вот что получилось. В период 16:00-20:00 число уникальных IP 18850. ТАКОГО НЕ МОЖЕТ БЫТЬ!!!!!
Вот пример двух строк лога. sbn.bz 82.142.152.130 - - [10/Aug/2005:17:37:48 +0400] "GET /img/kon_14.gif HTTP/1.1" 200 1425 "http://sbn.bz/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" kazan.ws 83.217.211.158 - - [10/Aug/2005:17:37:48 +0400] "GET /img/Pustaia_36.gif HTTP/1.1" 200 472 "http://kazan.ws/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Opera 7.23 [ru]" На серваке лежит не только тот сайт, который нужен, но отсечение нужного (сами видим) происходит двумя пальцами. Мож, я чё не понимаю, но, по-моему, кол-во запросов с разых IP = кол-во уникальых посетителей. 18850 - это перебор (((( Парсится нормально, все ИП реально разные.......В сём проблема?? |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
может роботы какие или подобные индексаторы?
|
|||
|
||||
| Xelius |
|
|||
|
Unregistered |
2DENNN: Сечас разобрал ещё пару логов - та же ситуация...Если это роботы, то просто маньки какие-то, круглые сутки, 7 дней в неделю..они ж тогда афигенный траффик сделают....ХотЛоговские счётчики показывают в день по 10000 чел, а тут....Может нельзя считать уникальный ИП уникальным посетителем...Ну не использовать же алгуритмы такиз счётчиков для своей статистики
|
|||
|
||||
| Bolt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 21.2.2005 Репутация: нет Всего: нет |
покажите функцию разбора строк лога
и функцию подсчета уникальных IP |
|||
|
||||
| Xelius |
|
|||
|
Unregistered |
Извратно, конечно. Я не смог сделать функцию вхождения в множество. Поэтому сделал через хэш. Конечное число элементов хэша и есть искомое число. |
|||
|
||||
| Bolt |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 21.2.2005 Репутация: нет Всего: нет |
попробуйте разбирать строки хотя бы вот так:
вы разбираете ВЕСЬ лог. это справедливо, если он у вас обнуляется раз в сутки. в противном случае необходимо сверять дату.
это как работает? можете описать что делает каждая строка? на ваш взгляд. Это сообщение отредактировал(а) Bolt - 12.8.2005, 19:47 |
||||
|
|||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
О том, как разбить строку, смотри, что написал Bolt, а насчёт этого:
Наверное имелось ввиду что-то типа этого:
Теперь мы получаем не только, число посещений с разных IP адресов, но и кол-во посещений каждого IP, т.е. :
Можно так же записать результаты последнего цикла в файл, а ещё лучше, подсчитывать всё это в связанном с DBM файлом хеше. Тогда ничего не придётся сохранять, всё уже будет сохранено, да и с памятью не возникнет проблем когда лог разрастётся до неимоверных размеров. Это сообщение отредактировал(а) korob2001 - 13.8.2005, 15:12 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| Guest |
|
|||
|
Unregistered |
С разрастанием и сравнением даты логов проблем нет - лог сохраняется в отделный файл с известным именем раз в 4 часа.
2korob2001 eq b == Запамятовал Мне кажется, что несколько корротких RegEx будут работать быстрее одного длинного. Попробую заменить сплиты на RegEx и протестить по времени. 2Bolt: korob2001 вроде пояснил, но повторю: ключом в хэше служит ИП. Если значение массива с ключом = новому -полученному ИП есть пустая строка (т.е. такого ключа нет, т.к. значение всех элементов - не пустая строка), то значит этот ИП есть уникальный, такого ещё не было и нужно его запомнить, то есть рисвоить элементу с ключом = новому ИП значение 1 (первое обращение, или как сделано, просто сам ИП, чтобы не ""). Всех благодарю за потраченное время, но проблема-то была не в этом. Проблема была в том, что при таком разборе лога (вроде правильном - даже если заменить == на eq - сайтов с буквой К вначале больше нет), число посещений уникальных ИП переваливает за 15 тысяч. Это не есть правда. Это не есть роботы, т.к. ситуация аналогична и по сей день. Начальство грозится порвать на британский флаг. Завтра пойду к техникам, которые сервер содержат. Сдаётся мне, что неправильно логгер работает. |
|||
|
||||
| Xelius |
|
|||
|
Unregistered |
Последнее сообщение подпись Xelius
|
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Ну для подсчёта нам нужны только первые 2 елемента:
kazan.ws 83.217.211.158 sbn.bz 82.142.152.130 Потому попробуй таким скриптом пропарсить.
Попробуй, потому как я не тестировал. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Xelius |
|
||||
|
Unregistered |
korob2001: Thanx. Я буду собирать все данные, и время запроса и сам запрос, и айпишник, только браузер, наверно, оставлю...накой он. Ещё один момент- ну ни в какую не работает
Такой кусок работает на "ура"
Но всё равно дохрена.......Сервачники говорят, что логгер какой-то самопальный. Будут переделывать..О результах сообщу... |
||||
|
|||||
| korob2001 |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Ну если ты хочешь проверять ключь на существование, то попробуй это условие:
заменить на такое:
Так вообще-то будет правильнее.
Скорее всего проблема в условии. Попробуй вместо этого условия воспользоваться регулярным выражением, т.е. вместо:
напиши так:
ЗЫ: Если хочешь, кинь мне свой лог, попробую помочь тебе его разобрать. Ну или какую-то его часть. Это сообщение отредактировал(а) korob2001 - 15.8.2005, 14:22 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||
|
|||||||||||
| Xelius |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.8.2005 Где: Казань Репутация: нет Всего: нет |
Согласен
Да вся проблема не разборе логов. Он разбирается без особых проблем, учитывая вывешенные здесь советы. Вся проблема в результатах этого разбора!! Согласись, 18 тысяч посетителей на вэб-сайт - это нереально? А если разбирать лог, то так и получается...Вот я и хочу выяснить - может нельзя считать уникальный ИП уникальным посетителем?? Совсем не хочется делать счётчики, подобные рамблеровским, хотлоговским, спайлоговским.....Остаётся только грешить на логгер апачевский, что он криво работает... |
||||||
|
|||||||
| Xelius |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.8.2005 Где: Казань Репутация: нет Всего: нет |
Решилось. Глючил логгер - он на новые ИПшники записывал текущие выполняемы запросы. Написан своими-же, теперь хотим оторвать им руки )) korob2001 закрывай тему. Спасибо за помощь ))
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |