Настройка сбора статистики запросов к сайтам
В ISPmanager можно настроить сбор статистики запросов пользователей к сайтам. Для этого используются журналы:
- журнал запросов — содержит статистику соединений веб-сервера для WWW-домена;
- журнал ошибок — содержит статистику ошибок веб-сервера для WWW-домена.
Чтобы собирать статистику для WWW-домена, при его создании или изменении включите опции Журнал запросов и Журнал ошибок и настройте их параметры:
- Подключите анализатор журнала запросов для WWW-домена:
- Выберите Генератор отчётов.
- Укажите Период сбора статистики по запросам.
- Выберите Язык отчёта.
- Если нужно, включите опцию Ограничить доступ к статистике, укажите Пароль для доступа к статистике и его Подтверждение. В качестве логина будет использоваться имя владельца WWW-домена.
- Чтобы ISPmanager собирал статистику ошибок веб-сервера для WWW-домена, включите опцию Журнал ошибок.
- Выберите Период ротации журналов.
- В поле Хранить архивов укажите количество файлов журналов, которое будет храниться в заархивированном виде. Пояснения
Для просмотра записей в журналах перейдите в Настройки web-сервера → WWW-журналы.
Для просмотра сгенерированных отчётов по статистике перейдите в Домены → WWW-домены → Статистика. Статистика для WWW-домена хранится в /var/www/<имя владельца WWW-домена>/data/www/<имя WWW-домена>/webstat.
Принципы ротации журналов
Ротация используется для архивирования журналов, чтобы они не занимали большой объём дискового пространства. Для ротации используется утилита logrotate, которая запускается по планировщику cron ежедневно: /etc/cron.daily/logrotate.
Глобальные настройки ротации хранятся в конфигурационном файле /etc/logrotate.conf.
Конфигурационные файлы logrotate
Параметры ротации WWW-доменов хранятся в конфигурационных файлах /etc/logrotate.d/web/<Имя WWW-домена>. Например:
Конфигурационный файл ротации логов WWW-домена
/var/www/httpd-logs/<имя WWW-домена>.access.log {
olddir /var/www/<имя владельца WWW-домена>/data/logs
rotate 65530
size=16M
copytruncate
compress
<период ротации>
prerotate
/etc/webanalyzer.d/<имя владельца WWW-домена>/<имя WWW-домена>
endscript
}
/var/www/httpd-logs/<имя WWW-домена>.error.log {
olddir /var/www/<имя владельца WWW-домена>/data/logs
copytruncate
compress
<период ротации>
}
Ручной запуск ротации
Чтобы запустить ротацию вручную, выполните команду:
/usr/sbin/logrotate -d -f <путь к конфигурационному файлу logrotate для WWW-домена>
Запустить ротацию для всех WWW-доменов можно командой:
/usr/sbin/logrotate -f /etc/logrotate.conf
В результате выполнения команды может появиться сообщение об ошибке "log does not need rotating". Оно означает, что ротация не была выполнена, т. к. уже выполнялась в текущий день. Чтобы выполнить ротацию, измените статус последней ротации для WWW-домена в файле /var/lib/logrotate/logrotate.status.
Принципы работы анализатора логов awstats
Конфигурационный файл awstats
При включении анализатора лога для WWW-домена создаётся конфигурационный файл в /etc/awstats/awstats.
- LogFile — путь к анализируемому журналу;
- SiteDomain — анализируемый WWW-домен;
- DirData — путь к директории, в которой хранятся полученные в результате анализа данные.
Автоматический запуск сбора статистики
Если Период сбора статистики — "в момент ротации", то анализатор логов запускается непосредственно утилитой logrotate. Для этого в конфигурационный файл /etc/logrotate.d/web/
Конфигурационный файл ротации логов WWW-домена
prerotate
/etc/webanalyzer.d/<имя владельца WWW-домена>/<WWW-домен>
Если Период сбора статистики — "каждый час", то анализатор логов запускается по заданию в планировщике cron пользователя:
Список заданий планировщика cron
# crontab -u username -l
MAILTO=""#
#ISPmanager log rotate <WWW-домен>
0 * * /etc/webanalyzer.d/<имя владельца WWW-домена>/<WWW-домен>
Ручной запуск сбора статистики
Чтобы запустить сбор статистики вручную, выполните команду:
/etc/webanalyzer.d/<имя владельца WWW-домена>/<WWW-домен>
Удаление журналов
Чтобы удалить журнал ошибок, перейдите в Настройки web-сервера → WWW-журналы → выберите журнал → кнопка Очистить → OK.
Удаление журнала запросов через интерфейс панели управления не поддерживается. Это сделано, чтобы обеспечить корректную ротацию журналов. Если вам нужно удалить журнал запроса для домена, выполните на сервере с ISPmanager команду:
echo "" > /var/www/httpd-logs/<WWW domain>.access.log