Наши внешние веб-серверы теперь регистрируют все наши веб-журналы в mySQL с помощью mod_log_sql, освобождая тысячи директив «AccessLog» в нашей конфигурации apache (сейчас мы работаем между 600-900 виртуальными хостами на наших серверах)
При этом я пытаюсь найти разумный анализатор веб-журналов, который работает с mod_log_sql. Я использовал webalizer и awstats в течение многих лет, и они мне очень нравятся, однако ни один инструмент не поддерживает ведение журнала на основе sql.
Это не обязательно должно быть в реальном времени, но, по крайней мере, оно должно иметь возможность захватывать данные из таблицы базы данных.
У кого-нибудь есть предложения?
Есть php-скрипт Skeith, который делает то, что вы хотите.
Зайдите сюда, чтобы скачать http://skeith.sourceforge.net/
Вот отрывок с сайта:
Skeith - простой анализатор журналов и репортер. В частности, Skeith работает с модулем mod_log_sql для Apache (он должен работать и для mod_log_mysql, но до сих пор тестирование проводилось только с mod_log_sql).
Главная особенность Skeith, которая отличает его от других анализаторов журналов, заключается в том, что он может генерировать файл журнала за определенный день или месяц на лету. Таким образом, системный администратор может просмотреть точные запросы, которые могут быть сомнительными или вредными.
Я бы не рекомендовал хранить журналы в какой-либо базе данных SQL. Механизмы хранения SQL просто не подходят для этого, поскольку объем данных увеличивается (как это, безусловно, будет с почти 1000 виртуальных хостов), скорость записи будет сильно замедляться. Удаление из базы данных также является болезненной операцией, поскольку таблица будет фрагментирована, что еще больше увеличит задержку чтения / записи и снизит скорость.
Если вы настаиваете на хранении журналов в базе данных SQL, вам придется сделать все возможное, отфильтровав как можно больше неважных данных.