SARG – Генератор отчетов анализа Squid и инструмент мониторинга интернет-трафика

SARG – это инструмент с открытым исходным кодом, который позволяет анализировать файлы журналов Squid и генерировать красивые отчеты в формате HTML с информацией о пользователях, IP-адресах, наиболее часто посещаемых сайтах, общем объеме использованной полосы пропускания, затраченном времени, загрузках, заблокированных сайтах, ежедневных, еженедельных и ежемесячных отчетах.

SARG – очень удобный инструмент для просмотра того, как много интернет-полосы пропускания используется отдельными компьютерами в сети и для отслеживания, на какие сайты обращаются пользователи сети.

Install Sarg Squid Log Analyzer in Linux

В этой статье я расскажу вам, как установить и настроить SARGГенератор отчетов по анализу Squid на системах RHEL/CentOS/Fedora и Debian/Ubuntu/Linux Mint.

Установка Sarg – анализатор журналов Squid в Linux

I assume that you already installed, configured and tested Squid server as a transparent proxy and DNS for the name resolution in caching mode. If not, please install and configure them first before moving further installation of Sarg.

Важно: Пожалуйста, помните, что без настройки Squid и DNS установка Sarg на системе бессмысленна. Так что, прежде чем продолжить установку Sarg, установите их.

Следуйте этим руководствам для установки DNS и Squid в ваших системах Linux:

Установите кэширующий DNS-сервер
  1. Установите кэширующий DNS-сервер в RHEL/CentOS 7
  2. Установка сервера только кэша DNS в RHEL/CentOS 6
  3. Установка сервера только кэша DNS в Ubuntu и Debian
Установка Squid в качестве прозрачного прокси-сервера
  1. Настройка прозрачного прокси-сервера Squid в Ubuntu и Debian
  2. Установка сервера кэширования Squid на RHEL и CentOS

Шаг 1: Установка Sarg из исходного кода

Пакет ‘sarg‘ по умолчанию не включен в дистрибутивы на базе RedHat, поэтому нам нужно вручную скомпилировать и установить его из исходного архива. Для этого нам нужно установить некоторые дополнительные предварительные пакеты на системе перед компиляцией из исходного кода.

На RedHat/CentOS/Fedora
# yum install –y gcc gd gd-devel make perl-GD wget httpd

После установки всех необходимых пакетов загрузите последний исходный архив Sarg или вы можете использовать следующую команду wget для загрузки и установки его, как показано ниже.

# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz
# tar -xvzf sarg-2.3.10.tar.gz
# cd sarg-2.3.10
# ./configure
# make
# make install
На Debian/Ubuntu/Linux Mint

На дистрибутивах, основанных на Debian, пакет sarg можно легко установить из стандартных репозиториев, используя менеджер пакетов apt-get.

$ sudo apt-get install sarg

Шаг 2: Настройка Sarg

Теперь пришло время отредактировать некоторые параметры в основном конфигурационном файле SARG. Файл содержит много параметров для редактирования, но мы будем редактировать только необходимые параметры, такие как:

  1. Путь к журналам доступа
  2. Каталог вывода
  3. Формат даты
  4. Перезапись отчета для той же даты.

Откройте файл sarg.conf с помощью выбранного вами редактора и внесите изменения, как показано ниже.

# vi /usr/local/etc/sarg.conf        [On RedHat based systems]
$ sudo nano /etc/sarg/sarg.conf        [On Debian based systems]

Теперь раскомментируйте и добавьте исходный путь к вашему файлу журнала доступа squid.

# sarg.conf
#
# TAG:  access_log file
#       Where is the access.log file
#       sarg -l file
#
access_log /var/log/squid/access.log

Затем добавьте правильный путь к каталогу вывода для сохранения созданных отчетов squid в этом каталоге. Обратите внимание, что в дистрибутивах, основанных на Debian, корневой каталог веб-сервера Apache – ‘/var/www‘. Поэтому будьте внимательны при добавлении правильных путей к корневым каталогам ваших дистрибутивов Linux.

# TAG:  output_dir
#       The reports will be saved in that directory
#       sarg -o dir
#
output_dir /var/www/html/squid-reports

Установите правильный формат даты для отчетов. Например, ‘date_format e‘ будет отображать отчеты в формате ‘dd/mm/yy‘.

# TAG:  date_format
#       Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
#
date_format e

Затем раскомментируйте и установите Перезапись отчета на ‘Да’.

# TAG: overwrite_report yes|no
#      yes - if report date already exist then will be overwritten.
#       no - if report date already exist then will be renamed to filename.n, filename.n+1
#
overwrite_report yes

Вот и все! Сохраните и закройте файл.

Шаг 3: Генерация отчета Sarg

После завершения настройки пришло время сгенерировать отчет журнала squid с помощью следующей команды.

# sarg -x        [On RedHat based systems]
# sudo sarg -x        [On Debian based systems]
Примерный вывод
[root@localhost squid]# sarg -x

SARG: Init
SARG: Loading configuration from /usr/local/etc/sarg.conf
SARG: Deleting temporary directory "/tmp/sarg"
SARG: Parameters:
SARG:           Hostname or IP address (-a) =
SARG:                    Useragent log (-b) =
SARG:                     Exclude file (-c) =
SARG:                  Date from-until (-d) =
SARG:    Email address to send reports (-e) =
SARG:                      Config file (-f) = /usr/local/etc/sarg.conf
SARG:                      Date format (-g) = USA (mm/dd/yyyy)
SARG:                        IP report (-i) = No
SARG:             Keep temporary files (-k) = No
SARG:                        Input log (-l) = /var/log/squid/access.log
SARG:               Resolve IP Address (-n) = No
SARG:                       Output dir (-o) = /var/www/html/squid-reports/
SARG: Use Ip Address instead of userid (-p) = No
SARG:                    Accessed site (-s) =
SARG:                             Time (-t) =
SARG:                             User (-u) =
SARG:                    Temporary dir (-w) = /tmp/sarg
SARG:                   Debug messages (-x) = Yes
SARG:                 Process messages (-z) = No
SARG:  Previous reports to keep (--lastlog) = 0
SARG:
SARG: sarg version: 2.3.7 May-30-2013
SARG: Reading access log file: /var/log/squid/access.log
SARG: Records in file: 355859, reading: 100.00%
SARG:    Records read: 355859, written: 355859, excluded: 0
SARG: Squid log format
SARG: Period: 2014 Jan 21
SARG: Sorting log /tmp/sarg/172_16_16_55.user_unsort
......

Примечание: Команда ‘sarg -x’ будет читать файл конфигурации ‘sarg.conf‘ и брать путь ‘access.log‘ к squid и генерировать отчет в формате html.

Шаг 4: Оценка отчета Sarg

Сгенерированные отчеты размещаются в ‘/var/www/html/squid-reports/‘ или ‘/var/www/squid-reports/‘ и их можно просмотреть в веб-браузере, используя адрес.

http://localhost/squid-reports
OR
http://ip-address/squid-reports
Главное окно Sarg
Sarg Main Window
Конкретная дата
Date Wise Report
Отчет пользователя
User Bandwidth Report
Топ-сайты
Top Accessed Sites
Топ-сайты и пользователи
Top Accessed Sites and Users
Топ-загрузки
Top Downloads
Отказано в доступе
Denied Access Sites
Сбои аутентификации
Proxy Authentication Failures

Шаг 5: Автоматическое создание отчета Sarg

Чтобы автоматизировать процесс генерации отчета sarg в заданное время с помощью cron-задач. Например, предположим, что вы хотите генерировать отчеты ежечасно автоматически, для этого необходимо настроить задачу Cron.

# crontab -e

Далее добавьте следующую строку в конец файла. Сохраните и закройте его.

* */1 * * * /usr/local/bin/sarg -x

Вышеприведенное правило Cron будет генерировать отчет SARG каждый 1 час.

Ссылки для справки

Домашняя страница Sarg

Вот и все с SARG! Я собираюсь опубликовать еще несколько интересных статей по Linux, пока оставайтесь на связи с TecMint.com и не забудьте добавить свои ценные комментарии.

Source:
https://www.tecmint.com/sarg-squid-analysis-report-generator-and-internet-bandwidth-monitoring-tool/