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