Sarg установка и настройка debian

Обновлено: 06.07.2024

Задача состоит в регулярной обработке журналов доступа прокси-сервера Squid3, выборке данных по ряду критериев и подготовке её к публикации. Способов много, но я остановился на одном, который полностью удовлетворяет поставленной задаче. Это - SARG (Squid Analysis Report Generator - Генератор Аналитических Отчётов Squid).

Рекомендую посетить сайт разработчиков, посмотреть на простенький до убогости дизайн сайта, убедится в том, что проект практически остановился в развитии и осознать, что ждать чего-то более, чем просто парсера журналов и генератора отчётов не стоит - собственно, нам ничего белее и не нужно:

В дистрибутиве Squeeze готового пакета Sarg нет, потому будем собирать его сами, из исходных кодов, предоставленных разработчиками.

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

Скачиваем пакет исходных кодов:

Развёртываем его из архива:

Смотрим, не придумали ли разработчики чего нового, нет ли несовместимых с прежней конфигурацией ключей:

Формируем строку для компилятора, тестируем на совместимость и наличие всего, что нужно:

Вывод конфигуратора "говорящий" и явно даёт понят, успешно ли прошла процедура.

На выходе утилиты получаем готовый пакет, уложенный в директории с исходными кодами, если не было иных указаний на путь сохранения.

Done. The new package has been saved to

/usr/src/sarg-2.3.1/sarg-custom_2.3.1-1_amd64.deb
You can install it in your system anytime using:

dpkg -i sarg-custom_2.3.1-1_amd64.deb

Устанавливаем полученный пакет:

Создадим конфигурационный файл, которым будет руководствоваться Sarg при работе:

Создаём директорию, в которой будут размещаться публикуемые отчёты:

Создаём служебные файлы:

Вносим в файл "exclude_codes" соответствующие коды, строки с которыми Sarg не будет отрабатывать:

TCP_REFRESH_FAIL/200
NONE/400
NONE/411
NONE/417
TCP_MISS/000
TCP_HIT/000
TCP_CLIENT_REFRESH_MISS/000
TCP_DENIED/403
TCP_MISS/503
TCP_MISS/504

Копируем CSS-файл из дистрибутивного набора в директорию публикации:

Удаляем лишние скрипты и конфигурационные файлы:

Создаём директорию для журналов Sarg:

Теперь можно попробовать сгенерировать первый отчёт:

Как только настроим web-сервер, можно будет посмотреть на результат. Если применить такой CSS-файл, то можно получить отчёты следующего вида:

SARG: Proxy User Access Report.

SARG: Proxy Top Users Access Report.

[ уже посетило: 16808 / +2 ] [ интересно! / нет ]


Поблагодарить автора ( сделайте свой денежный вклад в хорошее настроение )

Блог про Linux, Bash и другие информационные технологии

Для чего используются squid, squidguard, sarg? Прокси-сервер squid используют для кэширования, что снижает потребление внешнего трафика, squidguard позволяет гибко фильтровать трафик, а sarg поможет собрать статистику, кто больше всех сидит в Интернете вместо работы, при помощи анализа логов. Все три эти программы можно использовать в комплексе, что обеспечит эффективную работу с офисным трафиком.

Настроим по порядку все три программы. Для начала установим пакеты:

squidguard

В первую очередь настроим SquidGuard, после чего его будет использовать прокси-сервер Squid.
В первую очередь скачиваем списки, по которым будет осуществляться фильтрация. На сайте SquidGuard есть несколько списков. Я выбрал этот, он свободен к использованию в частных и некоммерческих целях.

Скачанный файл распаковываем в директорию /var/lib/squidguard/db, в которой должны лежать директории BL/adv, BL/drugs, BL/gambling и другие директории, которые вам необходимы, либо все, содержащиеся в архиве.

Чтобы в дальнейшем можно было использовать эти файлы от имени пользователя proxy, необходимо изменить права владения:

Открываем файл на редактирование.
В самом начале идут две строчки:

Параметр dbhome определяет директорию, в которой хранятся файлы, содержащие списки блокируемых ресурсов, параметр logdir определяет директорию, в которой хранятся логи. После этого идут определения временных правил:

После этого идут описания источников трафика, например такие:

Затем идут описания открываемых сайтов по категориям.

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

Теперь SquidGuard готов к работе, переходим к настройке squid.

squid

Squid будем настраивать в режиме прозрачного проксирования. Клиентами будут компьютеры, находящиеся в локальной сети с маской 192.168.0.0/24.
Открываем на редактирование файл /etc/squid/squid.conf, предварительно сделав резервную копию.

Нам нужно определить маску сети, которая будет считаться локальной сетью

Немного ниже находим строчку

После этой строчки необходимо вставить правило для доступа из локальной сети

Параметр url_rewrite_children лучше всего подбирать эмпирически, то есть методом подбора наилучшего значения. Если потомков будет слишком мало, то трафик будет обрабатываться медленно, что скажется на скорости Интернета, если же их будет слишком много, то ресурсы будут расходоваться неэффективно. Количество подбирается так, чтобы при минимальных расходах ресурсов обеспечивалась оптимальная скорость доступа, без заметных задержек, чтобы скорость доступа с использованием прокси была сопоставима со скоростью доступа без прокси. После такой настройки скорость открытия страниц станет даже выше за счет кэширования часто используемых страниц. Если программа-редиректор умеет обрабатывать запросы параллельно, то необходимо изменить еще один параметр:

По умолчанию это значение равно нулю, если параметр закомментирован. Следующий параметр, который может быть полезен:

Если все экземпляры редиректора заняты, то squid может завершить свою работу с ошибкой. Этот параметр позволяет обрабатывать адреса без использования редиректора, если невозможно запустить еще один экземпляр редиректора. Запрос просто будет пущен напрямую.
После этого можно перезапустить squid:

Теперь можно использовать прокси-сервер, но нам нужно еще настроить прозрачное проксирование. Для этого надо включить соответствующие правила iptables для перенаправления пакетов. На сетевом интерфейсе eth0 будет подключение к Интернету, а на интерфейсе eth1 будет подключение к внутренней локальной сети:

Здесь можно написать, допустим, /var/www/sarg. Это та директория, в которую будут помещаться сгенерированные файлы анализатора, которые можно будет просматривать в браузере. Директория, естественно, должна существовать. Сама генерация будет запускаться раз в сутки при помощи планировщика cron, поскольку sarg при установке помещает свой скрипт в директорию /etc/cron.daily/. Естественно, для просмотра файлов должен быть установлен и настроен веб-сервер.
Необходимо добавить директорию в конфигурационный файл apache

В том же самом файле настроек sarg (/etc/sarg/sarg.conf) необходимо сменить кодировку генерируемых страниц:

Для проверки можно запустить генерацию страниц вручную для проверки работопособности командой

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

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


Установите Sarg Squid Log Analyzer в Linux

Я расскажу вам, как установить и настроить SARG - генератор отчетов анализа Squid в системах RHEL / CentOS / Fedora и Debian / Ubuntu / Linux Mint .

Установка Sarg - Squid Log Analyzer в Linux

Я предполагаю, что вы уже установили, настроили и протестировали сервер Squid в качестве прозрачного прокси и DNS для разрешения имен в режиме кэширования. Если нет, пожалуйста, установите и настройте их, прежде чем переходить к дальнейшей установке Sarg .

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

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

Установить DNS-сервер только для кэша

Установите Squid в качестве прозрачного прокси

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

На RedHat / CentOS / Fedora

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

В Debian / Ubuntu / Linux Mint

В дистрибутивах на основе Debian пакет sarg можно легко установить из репозиториев по умолчанию с помощью менеджера пакетов apt-get .

$ sudo apt-get install sarg

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

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

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

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

$ sudo nano /etc/sarg/sarg.conf

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

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

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

Затем раскомментируйте и установите для отчета о перезаписи значение « Да» .

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

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

Как только вы закончили с частью конфигурации, пришло время сгенерировать отчет журнала Squid с помощью следующей команды.

Пример вывода

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

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

Сарг Главное окно


Сарг Главное окно

Конкретная дата


Дата мудрый отчет

Отчет пользователя


Отчет о пропускной способности пользователя

Самые популярные сайты


Самые популярные сайты

Лучшие сайты и пользователи


Самые посещаемые сайты и пользователи

Топ загрузок


Отказано в доступе


Сайты с запрещенным доступом

Сбои аутентификации


Сбой проверки подлинности прокси

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

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

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

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

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

Одним из насущных вопросов для системного администратора является получение статистики использования интернета в организации. Располагая такими данными всегда можно ответить на вопрос руководства "куда ушел весь интернет", обосновать необходимость расширения канала, своевременно выявлять и пресекать нежелательный трафик. Сегодня мы рассмотрим такое решение для нашего роутера на платформе Ubuntu Server.

где 10.0.0.1 - внутренний адрес роутера, также не забудьте раскомментировать эту строку и перезагрузить веб-сервер:

Настройка анализатора логов довольно проста и сводится к выбору языка, кодировки и формата отчета, а также пути для его размещения. Все изменения вносим в файл /etc/sarg/sarg.conf:

Также находим и комментируем строку:

Теперь можем проверить работу анализатора:

SARG-001.jpg

По умолчанию SARG формирует отчет за весь доступный период, отчет содержит детализацию по пользователям (адресам) и посещенным ими сайтам, использованию трафика и кэша, загрузкам. Отдельно можно просмотреть наиболее посещаемые сайты, данный отчет сортирует сайты не по трафику, а по количеству посещений.

SARG-002.jpg

По каждому пользователю можно получить исчерпывающую статистику:

SARG-003.jpg

Можно также просмотреть график потребления трафика и статистику работы по датам и времени.

SARG-004.jpg

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

Анализатор настроен и работает, это хорошо. Но запускать его каждый раз вручную не очень интересно, поэтому настроим систему на получение ежедневных, еженедельных и ежемесячных отчетов. Для этого откроем файл /etc/sarg/sarg-reports.conf и укажем путь для размещения отчетов, а также адрес и ссылку для логотипа.

Учтите, что изображение логотипа должно находиться в пределах корневой папки веб-сервера (/var/www) и пути указываются от корня веб-сервера, а не файловой системы.

Теперь зададим расписание для формирования отчетов, которое необходимо добавить в /etc/crontab

Данное расписание означает, что каждый час с 9:00 до 18:00 (рабочий день организации) запускается скрипт формирования ежедневной статистики, каждый день в 22:00 формируется статистка за день, в 22:30 Воскресенья - статистка за неделю и первого числа каждого месяца в 23:30 статистика за месяц.

Читайте также: