Установка и настройка SARG для анализа логов SQUID на CentOS
Используемые термины: SARG, SQUID, CentOS.
Приложение SARG для представления статистики посещений сайтов в графическом интерфейсе требует веб-сервера. В данной инструкции мы установим и настроим как сам SARG, так и веб-сервер на основе NGINX. Прокси-сервер SQUID устанавливается по инструкции Установка и настройка Squid на CentOS.
Устанавливаем и настраиваем анализатор логов
Установка SARG
Настройка и запуск
Развертывание веб-сервера
Формирование отчетов по расписанию
Аналоги sarg
Установка и запуск SARG
Установка
В отличие от Debian / Ubuntu, в репозиториях CentOS программное обеспечение SARG отсутствует — установку будет производить из исходников.
Устанавливаем пакеты необходимые для сборки пакета из исходников:
yum install gcc
Скачиваем последнюю версию исходников:
wget https://sourceforge.net/projects/sarg/files/latest/download -O sarg.tar.gz
Распаковываем скачанный архив:
tar zxvf sarg.tar.gz
И переходим в распакованный каталог:
cd sarg-*/
Конфигурируем исходные файлы:
./configure
Собираем пакет:
make
... и устанавливаем его:
make install
Настройка и запуск
Открываем конфигурационный файл sarg:
vi /usr/local/etc/sarg.conf
Снимаем комментарии для следующих настроек:
...
access_log /var/log/squid/access.log
...
output_dir /usr/share/nginx/html/squid-reports
...
date_format e
...
overwrite_report yes
filename.n+1
...
* где:
- access_log — путь до логов squid. Если мы не меняли настройки для самого прокси-сервера, то задаем значение /var/log/squid/access.log.
- output_dir — каталог, в котором будут находиться html-отчеты. Это должен быть каталог, из которого веб-сервер будет читать файлы портала. Так как в нашем примере мы будет использовать NGINX, мы указали путь, начинающийся с /usr/share/nginx/html, так как именно в этой директории по умолчанию находятся файлы NGINX.
- date_format — формат даты. В данном примере мы выбрали европейский.
- overwrite_report — перезаписывать отчеты, которые уже были сформированы ранее.
- filename.n+1 — при формировании отчета за один и тот же день, прибавлять к названию файла 1.
Запускаем формирование отчета:
sarg -x
Система проверить корректность настройки в конфигурационном файле SARG и сформирует html-отчет в папке, указанной в опции output_dir (в нашем примере, /usr/share/nginx/html/squid-reports).
Веб-сервер
Как говорилось ранее, для просмотра отчетов в графическом интерфейсе нам нужен веб-сервер. Для его развертывания, сначала ставим репозиторий EPEL:
yum install epel-release
После ставим nginx:
yum install nginx
Разрешаем автозапуск nginx и стартуем сервис:
systemctl enable nginx
systemctl start nginx
Открываем 80 порт в брандмауэре:
firewall-cmd --permanent --add-port=80/tcp
При необходимости просмотра статистики по https также добавим правило:
firewall-cmd --permanent --add-port=443/tcp
Применяем правила:
firewall-cmd --reload
Открываем браузер и переходим по адресу http://<IP-адрес сервера>/squid-reports/ — должна открыться стартовая страница со списком дат:
Чтобы просмотреть список посещенных сайтов и израсходованного трафика, переходим к нужной нам дате и выберем пользователя, для которого нужно получить статистику. Идентификация пользователей в sarg зависит от идентификации в squid — если проверка не выполняется, то в качестве идентификаторов будут фигурировать IP-адреса.
Автоматическое формирование отчетов
Для формирования новых отчетов необходимо каждый раз запускать команду sarg -x. Чтобы автоматизировать процесс, добавим задание в планировщик Linux.
Открываем на редактирование cron:
crontab -e
Добавляем следующее:
0 0 * * * /usr/local/bin/sarg -x
* в данном примере мы будем запускать формирование отчета каждый день в 00:00.
Немного об альтернативе
Помимо SARG, для SQUID существуют другие анализаторы логов. Они имеют схожие принципы работы — консольный запуск анализа и формирования html-отчетов, и предоставление доступа к статистики посредством веб-интерфейса.
Наиболее популярные альтернативы SARG:
1. Lightsquid. Легкий парсер логов, использующий для анализа журналов скрипты, написанные на perl. Также
2. Free-SA. Изначально, планировался как замена другим устаревающим анализаторам логов прокси-сервера, но сам проект уже давно не обновлялся. Имеет интерфейс, схожий с sarg.
3. SAMS. В большей степени, это приложение для управления прокси-сервером SQUID, однако в нем предусмотрена также функция сбора статистики посещений сайтов. Подробнее об установке в инструкции Установка и настройка SAMS2 на CentOS.
4. Calamaris. Еще один парсер журналов с хорошей статистикой по нагрузке на прокси.