Установка и настройка SARG для анализа логов SQUID на CentOS

Обновлено и опубликовано Опубликовано:

Используемые термины: SARGSQUID, CentOS.

Приложение SARG для представления статистики посещений сайтов в графическом интерфейсе требует веб-сервера. В данной инструкции мы установим и настроим как сам SARG, так и веб-сервер на основе NGINX. Прокси-сервер SQUID устанавливается по инструкции Установка и настройка Squid на CentOS.

Установка и запуск 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

Чтобы просмотреть список посещенных сайтов и израсходованного трафика, переходим к нужной нам дате и выберем пользователя, для которого нужно получить статистику. Идентификация пользователей в 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. Еще один парсер журналов с хорошей статистикой по нагрузке на прокси.

# CentOS # Интернет # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет