расставляй правильно приоритеты и не отвлекайся на мелочи

Как разделить лог Apache

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

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

Наверняка на просторах интернета есть множество этих самых утилит, которые помогут решить нашу задачу, одной из таких утилиток от Klaus Mueller я пользуюсь с 2002 года, это cronolog, помоему с тех пор она и не менялась.

Утилита работает как под Linux, так и под Windows. Скачиваем дистрибутив, устанавливаем в необходимую директорию, вносим изменения в файл конфигурации Apache (httpd.conf):

Для Windows:
#CustomLog logs/access.log common
CustomLog «|’C:/Program Files/Apache Group/Apache2/bin/cronolog.exe’ logs/%Y/%m/access.log» combined

Для Linux:
#CustomLog logs/access.log common
CustomLog «|/sbin/cronolog logs/%Y/%m/access.log» combined

Перезагружаем сервис Apache, для принятия новой конфигурации, и получаем, каждой блошке по дорожке, вернее каждым данным по отдельной директории означающей месяц и год, т.е. хранящимся ввиде: 2007/05/access.log, 2007/06/access.log и т.д.

Здесь, в параметрах cronolog’а %Y — означает год, %m — месяц, есть еще один возможный параметр %d — день и еще множество форматирующих параметров, описанных в документации, так что Вы можете аккумулировать данные именуя файл в любую удобную для Вас форму.

Вот такой вот удобный помощник для Ваших логов.

2 комментария на статью:
  1. ХозяинЛеса:

    Автор наверное сильно удивится коментарию, спустя 2 года после поста статьи, но все же.
    Спасибо, как раз столкнулся с таким вопросом — логирование не ведется вообще, только по просьбе клиентов лично им велючается лог в виртуал хосте, а тут клиент захотел «красивых» логов с дискретизацией по времени :)
    Все поднялось с пол пинка и побежало :)

Ответить
Обязательные поля помечены *