Power-Log by Sander v.1.1 (бесплатно)
Данный модуль предназначен для ведения подробного лога всех запросов к сайту.
С его помощью можно вести анализ трафика, поведение пользователей, нагрузку страниц, статистику посещения поисковых ботов, вычисление грабберов с зеркальщиками и многое другое.
Изначально модуль задумывался для выявления "медленных" страниц и/или страниц создающих слишком высокую нагрузку.
Но в процессе написания он стал обрастать все большим и большим функционалом, благодаря чему я теперь не могу перечислить все области его применения. Но могу сказать однозначно, он будет полезен абсолютно всем сайтам и администраторам, которые желают знать что происходит у них на сайте.
Большая просьба подробно прочитать все описание, в нем я постараюсь наиболее подробно перечислить все возможности данного модуля.
Главная страница, данные:
Данные предоставлены с 3х сайтов:
Полученные результаты можно сгруппировать кликнув по параметру прямо в таблице.
Гуппировать можно по: коду страны, IP адресу, URL, типу страницы, количеству запросов в БД (базу данных), поисковому боту, типу запроса.
Иконка рядом с IP это User-Agent посетителя:
Имейте ввиду, что злоумышленник может легко подставлять любой User-Agent и представляться хоть гуглоботом, хоть яндексом.
Красным цветом подсвечивается IP адрес который по данным базы сайта blocklist.de является каким-либо ботом или еще чем-то вредным.
Общее время окрашивается оранжевым цветом если время загрузки превысило 0.5 сек, красным - если дольше 1 сек и если дольше 2 сек, то приписываются восклицательные знаки.
Количество запросов иногда может быть и 100 и 1000 и даже 5000. Это нормальная работа движка, раз в 2 часа крон переносит количество просмотров новостей из одной таблицы в другую (если включено кеширование просмотров).
Главная страница, фильтры и прочие параметры:
Непосредственно над таблицей с данными выводится форма с параметрами по которым можно отфильтровать, искать, группировать и сортировать полученные результаты.
Исходное состояние формы, ни один параметр не выбран:
Выбраны несколько параметров:
При группировании результатов по какому-либо параметру в таблице добавляется колонка "Количество".
Пример группировки по URL:
Таким образом легко можно посмотреть какие страницы пользуются популярностью за любой промежуток времени.
Группируем данные по IP:
Тут видно кто сколько сделал запросов, кликнув по IP можно посмотреть все его запросы. Если был выбран диапазон дат, то будет отображена активность только за выбранный промежуток времени.
Группировать можно по одному любому из параметров представленных на скриншоте:
Так же можно отсортировать результаты по любому из параметров по любому направлению. Вот пример страницы где показаны страницы с самой долгой загрузкой:
Отдельно опишу функционал кнопок:
Кнопка "Сбросить все параметры" обнуляет все выбранные параметры, т.е. просто открывает исходную главную страницу.
"Экспорт в Excel" - позволяет скачать все отфильтрованные результаты в текстовом формате, которые легко импортируются в Excel файл простым перетаскиванием файла в рабочую область программы Excel.
"Очистить лог" - удаляет из базы все отфильтрованные результаты. Если не выбран ни один из фильтров, то очищена будет вся таблица.
Страница статистики
Для удобства и наглядности можно посмотреть общую статистику по определенным параметрам:
Страница с графиками
Это больше экспериментальный раздел. Тут выводится только график посещений и диаграмма ботосодержания в общем трафике
Тут же хорошо видно, когда начинается аномальная активность со стороны ботов, людей или еще каких зловредов.
Так же можно ограничить вывод статистики, например за последние 3 дня:
Страница с подозрительными IP адресами
В модуле можно включить анализ активности, который наблюдает за активностью пользователей и при достижении заданных параметров пользователь добавляется в список подозрительных и админу отправляется письмо с уведомлением.
Уведомление отправляется не чаще 1 раза в час.
Под заданными параметрами подразумевается совершение X запросов за Y минут. X и Y - можно изменить в настройках.
Результаты отсортированы по общему количеству запросов. В колонке даты стоит дата фиксации последней подозрительной активности. Красным подсвечены адреса которые находятся в списке подозрительных у сервиса blocklist.de
Если вы уверены, что IP адрес не является зловредом или это поисковый бот, вы можете добавить его в "Белый лист", список адресов на которые не будет реагировать анализатор подозрительной активности.
С одного адреса совершались запросы с частотой 6 запросов в секунду. Вероятнее всего это какой-то бот. А вот что делать с ним - решать уже вам. Заблокировать в htaccess или проигнорировать.
Настройки
Подробно описывать все параметры не буду, там и так вроде все ясно, опишу только непонятные.
Анализ. Сейчас стоят параметры 10 запросов за 1 минуту. Т.е. любой пользователь или бот, который зайдет на сайт более 10 раз в течении 1 минуты - будет считаться подозрительными и будет занесен в базу. А если указан E-Mail адрес, то так же будет отправлено уведомление на почту.
Браузер. В базу записывается значение User-Agent пользователя. Этот параметр увеличивает объем памяти в БД, но если это не критично, то желательно не выключать.
Реферер. В базу записывается адрес - откуда пришел посетитель. Аналогично браузеру так же увеличивает объем БД.
Количество записей на страницу. Сколько записей выводится в админке на главной на 1 страницу.
Время хранения лога. Модуль автоматически удаляет старые данные.
Подсветка ботов. Этот параметр позволяет проверять все IP адреса по базе сайта blocklist.de Данные с сайта обновляются автоматически при входе в админку 2 раза в сутки.
Белый список IP адресов. В списке с новой строки перечислены IP адреса поисковых ботов. В данном случае несколько гуглов и один яндекс. Можно записывать как полный адрес, так и первые несколько его чисел, у поисковиков довольно таки много IP адресов, чтобы перечислять их всех
Идентификаторы ботов. Тут перечислены все основные боты. Этот параметр позволяет группировать/фильтровать по общим ботам. Например только Yandex, а у него уже подвиды: YandexBot, YandexMobileBot, YandexMetrika и т.п.
Внешняя база данных. При большом желании можно хранить лог в другой базе данных. Лично я не рекомендую использовать этот параметр, потому что это может увеличить время загрузки страницы, особенно если сервер стоит в германии, а БД в США.
По вопросу о нагрузке.
Она ничтожно мала. Скорость работы никак не сказывается на работе сайта. Со включенным анализом активности, средняя скорость работы модуля - 0.0012 сек. Это при активности 2000 просмотров в час.
Установка модуля заключается в заливке файлов на сервер и копировании 1 строки в 1 php файл.
Версия DLE: 9.6 и старше (на актуальных версиях необходима адаптация шаблона)
Для обновления платной версии – загрузить файлы:
engine/mods/power_log/admin.php
engine/mods/power_log/lic.php
С уважением,
Олег Александрович a.k.a. Sander