Ротация логов WWW домена

Данный модуль предназначен для настройки периодичности архивирования лог-файлов web-сервера и сбора статистики по посещениям WWW домена. Логи хранятся в директории logs домашней директории пользователя, которому принадлежит WWW домен, и имеют вид:

доменное_имя.access.log - в файле хранится информация о запросах из сети и ответах web-сервера, которые относятся к WWW домену.
доменное_имя.error.log - в файле хранится информация об ошибках web-сервера, которые относятся к WWW домену.

В качестве значения "доменное_имя" используется имя WWW домена.

Для настройки ротации выберите нужный WWW домен с списке и нажмите кнопку "Ротация логов WWW домена" в панели инструментов. При этом появится форма следующего вида:

Рассмотрим поля данной формы, их значение и требования к заполнению:

Период ротации - выберите, с каким периодом следует производить архивирование логов.
Хранить архивов - укажите количество последних архивов лог-файлов web-сервера. Дисковое пространство, занимаемое архивами, входит в квоту пользователя, которому принадлежит WWW домен.
Лог ошибок - укажите, хотите ли вы вести лог ошибок web-сервера для данного WWW домена, и, если да, то нужно ли производить его ротацию.
Анализатор логов - выберите программу, с помощью которой вы хотите обрабатывать статистическую информацию, исходя из лог-файлов web-сервера. На текущий момент поддерживаются Webalizer и AWStats. Если они отсутствуют в списке, убедитесь, что они установлены в системе.
Период анализа лога - выберите, с какой периодичностью следует производить сбор статистики посещений WWW домена.

По окончании внесения изменений для сохранения данных нажмите кнопку "Ок", для отмены изменений используйте кнопку "Отмена".

Настройки по умолчанию для ротации логов WWW доменов

Панель управления предоставляет возможность определить настройки ротации логов web-сервера для всех вновь создаваемых WWW доменов. Для просмотра или редактирования этих настроек войдите в модуль WWW домены и воспользуйтесь кнопкой "Настройки по умолчанию для ротации логов". В результате появится форма, аналогичная форме настройки ротации логов для конкретного WWW домена, за исключением дополнительного поля Применить для всех WWW доменов, с помощью которого вы можете применить данные настройки для всех существующих WWW доменов на сервере.

Технические подробности

Ротация логов web-сервера производится с помощью утилиты rotate, которая входит в поставку ISPmanager. Один раз в час данная утилита запускается из cron и анализирует содержимое файла конфигурации /usr/local/ispmgr/etc/rotate.conf, состоящих из записей следующего вида:

имя_лога:архивов:период1:период2:команда
	
имя_лога - полный путь к файлу access.log или error.log
архивов - количество хранимых архивов лога
период1 - период ротации лога. Возможные значения:
hour - выполняется при каждом запуске утилиты rotate. Если вы будете запускать rotate чаще чем раз в час, будет выполняться чаще
day - выполняется при запуске rotate каждую ночь в первом часу.
week - выполнятся в первом часу в ночь с субботы на воскресенье
month - выполняется в первом часу ночи первого числа каждого месяца.
период2 - период анализирования лога (hour, day, week, month)
команда - команда для анализирования содержимого лога. Вместо пути к файлу лога указывается __LOG__

Например,

/home/user/data/logs/example.com.access.log:10:day:day:/usr/local/bin/webalizer -c /home/user/data/etc/example.com.webalizer.conf __LOG__
	

В зависимости от настроек для того или иного лога производятся соответствующие действия.

В программе есть защита от повторного запуска. Также, если rotate обрабатывал файлы более часа, то по завершении работы он запустит процесс обработки заново, а в /var/log/messages появится запись следующего вида:

warning: "Roatation took too long time"
	

Если по какой-то причине у вас останется файл "имя_лога.0", ротация осуществляться не будет до тех пор, пока этот файл не будет удален. В /var/log/messages появится запись вида

error: "Temp file имя_лога.0 found. Please remove it"
	

Для того, чтобы ISPmanager позволял собирать статистику по посещениям вашего WWW домена с помощью программы Webalizer, необходимо удостовериться, что она установлена на сервере, а также в файле конфигурации панели управления прописан путь к ней, например,

path webalizer /usr/local/bin/webalizer

Для того, чтобы ISPmanager позволял собирать статистику по посещениям вашего WWW домена с помощью программы AWstats, необходимо удостовериться, что она установлена на сервере, а также в файле конфигурации панели управления прописан путь к её файлу конфигурации, например,

path awstats-configs /usr/local/ispmgr/etc/extconf/awstats.conf