как анализировать логи сервера?

зверек

Новичок
как анализировать логи сервера?

Сразу скажу, что про программы лог-анализаторы я в курсе и пользуюсь (awstats в частности).
Но тут возникла задача показывать простейшую статистику (точнее счетчик даже) на сайте для потенциальных рекламодателей. А конкретно нужны только просмотры страниц по разделам и подразделам. Сколько конкретно просмотров данного раздела (подраздела) было за последнюю неделю (месяц). Нужно чтобы рекламодатели могли соориентировать куда им лучше свои баннеры пристраивать с учетом посещаемости раздела, тематики и расценок.

Первое что приходит в голову - анализировать логи сервера. Но я честно даже не знаю как к этим логам подступиться. Раньше не доводилось с ними работать. Посоветуйте, пожалуйста какой тут алгоритм должен быть. Они по 50-70 мегов за каждый день, да еще в архиве все что не сегодня...как это все считывать - ума не приложу.
И второе - не проще ли вести собственные логи только того, что нужно (исключая доступы к картинкам, стилям, страницам, где не предполагается размещать рекламу). Кидать их в бд (id, page, data) потом уже анализировать.

Посоветуйте что-нить, плиз!
 

melo

однажды
лучше ведите свои логи, потом сможете вести детальную и разнообразную статистику.
 

зверек

Новичок
детальную и разнообразную в принципе и логи апача имеюют..Во всяком случае awstats на основе этих логов массу информации выдает. Мне то как раз такого не нужно. Только просмотры страниц...
 

FractalizeR

Новичок
Синтаксис логов Апача подробно описан в документации. Я не совсем понимаю, какого ответа на свой вопрос вы ждете. Вы лог-то откройте и посмотрите как он выглядит. Уж просмотры-то страниц оттуда легко выдернуть.
 

ardentlyo

Новичок
зверек
а почему бы не сделать свой счетчик!? это намного упростило бы задачу!
 

зверек

Новичок
синтаксис знаком. Интересует сам алгоритм извлечения нужной инфы. В папке с логами 30 файлов (по числу дней), часть из них в архиве. Причем непонятна закономерность по которой часть файлов архивируется, другая нет...но не суть..Каждый раз, когда юзер дергает страницу со статистикой что происходит? Скрипт обращается ко всем этим файлам (по 50-70 мег каждый), шерстит их все поочереди на предмет нужных строк, предварительно извлекая из архивов....потом что? Вобщем как-то слабо представляю себе сам алгоритм.
Практически не доводилось с файлами и каталогами работать. Поэтому наверное так туго идет...

-~{}~ 23.01.08 14:06:

ardentlyo
на php?
 

Фанат

oncle terrible
Команда форума
зверек
Туго - но идет ведь? Продолжай делать. Не бывает ведь чтобы хоп - и все без трудностей само сделалось

Разумеется, не каждый раз дергаются файлы, а это надо делать периодически.
загнав всю информацию в базу.
 

зверек

Новичок
*****
а что по ВАШЕМУ для решения данной задачи предпочтительнее? Анализировать логи сервера или считать просмотры своими силами? Ну в смысле некий скриптик, который будет записывать в БД только страницы только нужных разелов и даты соответвенно.
 

Dimitry-1983

Новичок
Notepad

:)

-~{}~ 23.01.08 14:34:

На самом деле есть различные проги, я пользуюсь по сложившимся обстоятельствам Page Promoter
 

Фанат

oncle terrible
Команда форума
Лично мне нравится анализировать логи. поскольку в них есть все.
А для показа инвесторам вообще непонятно, зачем счетчик - можно же просто циферку рисовать =)

Можно и самодельный.
 

зверек

Новичок
А для показа инвесторам вообще непонятно, зачем счетчик - можно же просто циферку рисовать =)
:) можно конечно. Но об этой циферке придется всегда помнить и постоянно ее корретировать, потому что посещаемость растет. Может оказаться так, что через пару месяцев даже завышенная цифра окажется ниже реальной :) Уж лучше сделать и забыть.

Спасибо за советы!
 

Фанат

oncle terrible
Команда форума
интересно, роботов инвесторы считают за посетителей?...
 

Alexandre

PHPПенсионер
надо сделать простой скрипт, который будет посещения писать в БД.
чтоб отличить робот тлт нет - надо анализировать заголовки.
 

зверек

Новичок
роботов пытаюсь отсекать, используя самый простейший механизм: если $_SERVER['HTTP_USER_AGENT'] не содержит фразы MSIE или Opera или Gecko или содержит фразу StackRambler - значит это робот. Его не считаем.
 

StUV

Rotaredom
зверек
логи нужно парсить инкрементально
можно по крону, дописывая в логи метки для уже отпарсеных чанков
агрегировать статистику за "полное время" - в зависимости от требований

"на каждый клик" по странице статистики перегенерация всего объема информации для ресурса с высокой посещаемостью - просто нереальная задача

когда юзер смотрит статистику - ему подгружается уже агрегированная фоновыми скриптами инфа

можно статистику сразу грузить в бд и обрабатывать средствами субд
 

FractalizeR

Новичок
Автор оригинала: зверек
синтаксис знаком. Интересует сам алгоритм извлечения нужной инфы. В папке с логами 30 файлов (по числу дней), часть из них в архиве. Причем непонятна закономерность по которой часть файлов архивируется, другая нет...но не суть..Каждый раз, когда юзер дергает страницу со статистикой что происходит? Скрипт обращается ко всем этим файлам (по 50-70 мег каждый), шерстит их все поочереди на предмет нужных строк, предварительно извлекая из архивов....потом что? Вобщем как-то слабо представляю себе сам алгоритм.
Практически не доводилось с файлами и каталогами работать. Поэтому наверное так туго идет...
Про logrotate в интернете почитайте и станет понятно.

Что касается меня, я бы написал свой счетчик (тем более, что в вашем случае нужен тривиальный вариант). Логи апача не всегда бывают доступны скриптам. Передете на другой хостинг и придется скрипт-анализатор логами вручную кормить :)
 

Фанат

oncle terrible
Команда форума
FractalizeR, гонишь
тогда уж не скриптам, а пользователю

при чем здесь переезд на другой хостинг - непонятно
 

FractalizeR

Новичок
Я сказал "скриптам", чтобы не смешивать понятия пользователя OS и физического пользователя, который может по FTP зайти и логи взять. Сорри за некорректное использование термина.

Что касается сервера - имел ввиду что не везде можно PHP скриптом прочитать лог апача. Если на текущем сервере это возможно, то при смене хостера - может стать невозможным и придется переписывать часть системы.
 

Фанат

oncle terrible
Команда форума
не у всех хостеров есть БД.
начинай всем советовать отказываться от её использования.
 
Сверху