Логи посещений сайтов

12 3
Александр
На сайте с 18.03.2020
Offline
144
650

Господа.

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

В последний год строк заметно прибавилось. Это связано с тем, что проекты развиваются, посетителей все больше. Так же, прибавилось и бототрафа. Каждый раз фрагментировать логи стало по времени накладно и я задумался над шаблоном (Google таблицы), который автоматически сортирует данные по логам в нужном мне виде: скачал лог > вставил его в поле > получил результат по параметрам > проанализировал > где надо - блокнул, где надо - отметил и решил проблему со страницами.

Что я анализирую сейчас:

  • GET200
  • GET200 good bots
  • GET200 new bots
  • GET403 bad bots
  • GET403
  • POST
  • Остальные любые отчеты по нужным мне параметрам: хочу глянуть сколько ко мне ломанулось через ютуб? - SQL запрос в 1 строку и готово.
  • Смотрю, что реф подделали на какой-то рандомный сайт? - отфильтровал по реф-сайтам, выгрузил запросом все, что с этими реф-сайтами ломанулось. И т.д.

Встали несколько вопросов:
Что еще вы анализируете по логам?
Какими сервисами по анализу логов вы пользуетесь?



NoMoreContent
На сайте с 14.05.2023
Offline
23
#1

1. Логи статики пишем в основном в /dev/null

2. Логов пишем несколько. Формат определяем сами. Пишем нужное. Не пишем ненужное. Ошибки отдельно, боты отдельно, корректные запросы пользователей к приложению отдельно.

3. Лучшие инструменты: grep --text, grep -E, grep -v, sort, sort -u, head -n, tail -n, tail -f, sed, awk, wc -l. 

Александр
На сайте с 18.03.2020
Offline
144
#2
NoMoreContent #:

Рекомендации от логового "миллиардера" (строк на работе) по одним только по app-entrypoint-ам.

1. Логи статики пишем в основном в /dev/null

2. Логов пишем несколько. Формат определяем сами. Пишем нужное. Не пишем ненужное. Ошибки отдельно, боты отдельно, корректные запросы пользователей к приложению отдельно.

3. Лучшие инструменты: grep --text, grep -E, sort, sort -u, head -n, tail -n, tail -f, sed, awk, wc -l. 

С методами - понятно.
С программами - низкий поклон.

А пул данных какой анализируете? Читаю вот воду водную от русского рерайтного рерайта: кто анализирует ПС, кто страницы. Но как, блин, это поможет, когда БД загажена ботами (могу заблуждаться).

NoMoreContent
На сайте с 14.05.2023
Offline
23
#3
Александр #:

С методами - понятно.
С программами - низкий поклон.

А пул данных какой анализируете? Читаю вот воду водную от русского рерайтного рерайта: кто анализирует ПС, кто страницы. Но как, блин, это поможет, когда БД загажена ботами (могу заблуждаться).

Да ладно, логи - дело скучное. По работе просто смотрю на них почти каждый день уже много лет. Сначала как в матрице обставился пятью мониторами, следил, вчитывался.

Потом, с годами сделал себе панель управления со сводой информацией и скрипты автоматической аналитики. Так вроде удобнее. Но по простому не написать. Понемногу, по одной задаче или параметру дописывал.

У меня есть основной программный инструмент, но про логику его работы наверно не имею права писать, да и вебмастерам он не пригодится.

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

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

Самое простое, что можно сделать - это открыть лог с помощью

tail -f /var/log/..../my_access_log.txt

Откроется непрерывно бегущая в реальном времени простыня лога. 

К этой команде навешиваем grep-ы, наподобие

tail -f /var/log/..../my_access_log.txt | grep --text ';Brand' | grep -v 'Google'  (чисто для примера)

и смотрим что там идёт. Если слишком быстро, то довешиваем еще grep -v (исключающее правило).

Медитируем, смотрим закономерности. Фильтруем весь лог grep-ами, сортируем, группируем, считаем. Пишем рекомендации о выделении новой группы логов. Думаем что можно сделать и что еще проанализировать и как.

Александр
На сайте с 18.03.2020
Offline
144
#4
NoMoreContent #:
Потом, с годами сделал себе панель управления со сводой информацией и скрипты автоматической аналитики. Так вроде удобнее. Но по простому не написать. Понемногу, по одной задаче или параметру дописывал.

Вот сейчас на данной стадии.

Всю остальную инфо: ссылку на пост сохранил, изучу.

А саму пасту по логам: кол-во страниц на пользователя, кол-во пользователей на страницу, популярность страницы в охвате всего сайта по логам, отфильтрованным от ботов - такое не собираете?
Ведь анализ логов и нужен (в том числе) для понимания успехов конкретного сайта (ну, я так предполагаю).

Просто вся эта "борода" в один момент меня настолько разозлила, что я психанул и вот, пока на таблицах, а потом уже буду думать о софте (параллельно учусь писать код, вот, проект-то уже готов - учись - не хочу :D).

S
На сайте с 12.10.2012
Offline
202
#5
NoMoreContent #:
По серверным логам смотрим в основном атаки или попытки разнообразного Fraud-а. Также в страницы встраиваются антифрод-маячки, которые незаметно отправляют на бэкенд сигналы для подсчета ботного рейтинга конкретного посетителя, чтобы отсеять значительную часть виртуальных браузеров, селениумов, зеннопостеров и подобных вещей.

Самое простое, что можно сделать - это открыть лог с помощью

А каким образом вы вычисляете виртуальных браузеров, селениумов, зеннопостеров и подобных вещей?

Только по закономерностям? Типа каждый сотый визит на какую то страницу идет с определенным юзер агентом и с определенного устройства?

NoMoreContent
На сайте с 14.05.2023
Offline
23
#6
sagamorr #:

А каким образом вы вычисляете виртуальных браузеров, селениумов, зеннопостеров и подобных вещей?

У них есть фингерпринты, типичные баги в обработке подобранных для них JS-ловушек и поведение в основном странное. Расставляются и JS и логические ловушки. Например, у пользователей есть стандартный паттерн поведения и стабильный процент вероятности следущего действия.

Например, после "Действия А" в 67-74% случаев идёт "Действие Б". Ботоводы, даже работающие прицельно, не хотят настолько напрягаться. Потому группируем процент последовательности по AS-кам, а чаще даже по двум первым октетам IP и если какая-то сеть выбивается из статистики идём руками делать grep-ы и смотреть кто и что начал делать. Почти всех "особенных клиентов" аналитики знают в их "лицо", по особенностям поведения и инструментам. Редко бывает кто-то новый. 

NoMoreContent
На сайте с 14.05.2023
Offline
23
#7
Александр #:

Всю остальную инфо: ссылку на пост сохранил, изучу.

А саму пасту по логам: кол-во страниц на пользователя, кол-во пользователей на страницу, популярность страницы в охвате всего сайта по логам, отфильтрованным от ботов - такое не собираете?
Ведь анализ логов и нужен (в том числе) для понимания успехов конкретного сайта (ну, я так предполагаю).

Просто вся эта "борода" в один момент меня настолько разозлила, что я психанул и вот, пока на таблицах, а потом уже буду думать о софте (параллельно учусь писать код, вот, проект-то уже готов - учись - не хочу :D).

Если бы я еще мог написать что-то дельное :) 
Но может быть что-то полезное вы для себя найдёте, это тоже хорошо.

Маркетинг считают в основном по аналитическим логам. То есть бэкенд-логи это в основном антифрод. А маркетологи работают по данным ГуглАналитикс(360) или другим подобным системам. 

У нас на бэкенде есть группировка двух основных таких показателей: страниц на IP на сеанс и время IP на одной странице (или время между запросами), группируется по AS-кам или двум октетам, больше как показатель для антифрод-аналитики.

S
На сайте с 12.10.2012
Offline
202
#8
NoMoreContent #:

У них есть фингерпринты, типичные баги в обработке подобранных для них JS-ловушек и поведение в основном странное. Расставляются и JS и логические ловушки. Например, у пользователей есть стандартный паттерн поведения и стабильный процент вероятности следущего действия.

Например, после "Действия А" в 67-74% случаев идёт "Действие Б". Ботоводы, даже работающие прицельно, не хотят настолько напрягаться. Потому группируем процент последовательности по AS-кам, а чаще даже по двум первым октетам IP и если какая-то сеть выбивается из статистики идём руками делать grep-ы и смотреть кто и что начал делать. Почти всех "клиентов" аналитики знают в их "лицо", по паттернам поведения и инструментам. Редко бывает кто-то новый. 

А вы блокируете ботов уже непосредственно на сайте, т.е уже после посещения? До загрузки метрики вычислить бота наверное невозможно?

Может быть вам ваши наработки в софт монетизировать?

NoMoreContent
На сайте с 14.05.2023
Offline
23
#9
sagamorr #:
Может быть вам ваши наработки в софт монетизировать?

Ну так они и не совсем мои. И мало кому интересны. 

А grep-ами поиграть бывает интересно, да. Для себя. Там теории на час изучения и можно узнать из своих логов что-то полезное.

S
На сайте с 12.10.2012
Offline
202
#10
NoMoreContent #:

Ну так они и не совсем мои. И мало кому интересны. 

Интересны наверно тем, кто работает с другой стороны. Вот прямо сейчас думал, что есть простые и очевидные подходы, с помощью которых можно сильно осложнить жизнь антифрод-командам. Написать их - так кто-то запостит на реддите и жизнь многих людей превратится в ад из атак.

А grep-ами поиграть бывает интересно, да. Для себя. Там теории на час изучения и можно узнать из своих логов что-то полезное.

Если будут защищать от ПФ ботов, то будет интересно многим. Т.к есть CF, антибот и прочие попапы, которые очень хочется использовать.
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий