Ispmanager 6 lite, pro, host

/
/
/
/
Настройка сбора статистики запросов к сайтам

Настройка сбора статистики запросов к сайтам

В ispmanager доступна настройка сбора статистики запросов пользователей к сайтам. Для этого используются журналы:

  • Журнал запросов — содержит статистику соединений веб-сервера для сайта
  • Журнал ошибок — содержит статистику ошибок веб-сервера для сайта

Чтобы собирать статистику для сайта, при его создании или изменении включите опции Журнал запросов и Журнал ошибок и настройте их параметры:

  1. Подключите анализатор журнала запросов для сайта:
    1. Выберите Генератор отчётов.

      Доступно, только если установлен веб-сервер Apache и модуль awstats или webalizer. Подробнее об установке — в статье Установка веб-сервера.

    2. Укажите Период сбора статистики по запросам.
    3. Выберите Язык отчёта.
    4. Если нужно, включите опцию Ограничить доступ к статистике, укажите Пароль для доступа к статистике и его Подтверждение. В качестве логина будет использоваться имя владельца сайта.
  2. Чтобы ispmanager собирал статистику ошибок веб-сервера для сайта, включите опцию Журнал ошибок.
  3. Выберите Период ротации журналов.
  4. В поле Хранить архивов укажите количество файлов журналов, которое будет храниться в заархивированном виде.

    Пояснения

    В конфигурационном файле 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>— доменное имя