Автор: Олег Артемов, системный администратор компании Intersoft Lab
Подготовка данных для ClickStream Intelligence
Некоторое время назад у нашей компании появился новый коммерческий веб-сайт
Существует много способов анализа логов веб-серверов, от "tail -f" до таких богатых возможностями программ, как, например, Analog. Однако, ни один из них по каким-либо причинам не удовлетворял всех запросов. Поскольку у нашей компании есть OLAP-клиент собственной разработки - "Контур Стандарт", было решено использовать для этого именно его.
"Контур Стандарт" легко настраивается на любую базу данных, для которой существует драйвер ODBC или линк BDE. Проблема заключалась в том, что, во-первых, статистика посещений веб-сервера ведется в текстовом файле, а не в базе данных, а во-вторых, наш веб-сервер размещается у провайдера и работает под управлением операционной системы Linux (хотя операционная система не имеет большого значения).
Первая проблема решается написанием скрипта, который обрабатывает лог и копирует его в СУБД. Для второй проблемы существует два способа решения: можно вести базу прямо на веб-сервере, используя, например MySQL, и ходить к ней по TCP/IP из любого места. Но это генерирует очень большой траффик и нежелательно из-за соображений безопасности. Потому мы остановились на втором способе: периодическом копировании данных на SQL сервер, находящийся внутри локальной сети компании.
В этой статье рассказывается об одном из способов обработки логов веб-сервера и последующего копирования в СУБД, находящуюся на удаленном сервере с помощью скрипта, написанного на языке Python.