Linux squid анализатор логов

Записки IT специалиста

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Основной интересующий нас тип траффика — HTTP, который составляет львиную долю входящего интернет-трафика в организации и наиболее интересен, так как позволяет судить об активности и предпочтениях пользователей (а также о том, как они проводят рабочее время). Все необходимые нам данные имеются в логах прокси-сервера Squid, но не будем же мы просматривать их вручную! Необходим инструмент, позволяющий анализировать и предоставлять отчеты на основе этих логов. Одним из таких инструментов является SARG — Squid Analysis Report Generator, что и отражено в его названии.

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

sudo apt-get install lighttpd

Сервер начинает работать сразу после установки, для проверки наберите в браузере адрес сервера и вы увидите стандартную страницу. По умолчанию lighttpd принимает соединения на всех интерфейсах, что нас никоим образом не устраивает, ограничим его работу внутренней сетью. Открываем конфигурационный файл /etc/lighttpd/lighttpd.conf, находим и приводим к следующему виду опцию:

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

 sudo /etc/init.d/lighttpd restart

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

language Russian_UTF-8 
graphs yes
graph_days_bytes_bar_color orange
output_dir /var/www/squid-reports
charset UTF-8

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

#site_user_time_date_type table

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

Читайте также:  Sub directory in linux

После того как утилита закончит работу набираем в браузере http://10.0.0.1/squid-reports, вы должны увидеть следующую страницу:

SARG-001.png

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

SARG-002.png

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

SARG-003.png

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

SARG-004.png

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

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

HTMLOUT=/var/www/squid-reports 
LOGOIMG=/sqiud-reports/logo.png
LOGOLINK="http://10.0.0.1/squid-reports"

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

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

00 09-18 * * * root sarg-reports today
00 22 * * * root sarg-reports daily
30 22 * * 0 root sarg-reports weekly
30 23 1 * * root sarg-reports monthly

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

На этом настройку можно считать законченной, вся статистика будет доступна по адресу http://10.0.0.1/squid-reports.

Дополнительные материалы:

  1. Linux. Настройка роутера (NAT + DHCP + Squid)
  2. Ubuntu Server. Настраиваем роутер NAT + DHCP + Squid3
  3. Ubuntu Server. Настраиваем контент-фильтр роутера (DansGuardian)
  4. DansGuardian. Сложности фильтрации русскоязычного контента
  5. Ubuntu Server. Настраиваем антивирусный фильтр роутера (ClamAV)
  6. Ubuntu Server. Дополняем контент-фильтр роутера антивирусом (DansGuardian + ClamAV)
  7. Ubuntu Server. Настраиваем форвардинг портов на роутере
  8. Ubuntu Server. Настраиваем аутентификацию через Squid
  9. Ubuntu Server. Ограничиваем скорость клиентов через Squid
  10. SARG — анализируем логи прокси-севера Squid
  11. SAMS — веб-интерфейс для управления Squid и не только
  12. Squid — настраиваем URL-фильтрацию по спискам
  13. Squid — блокируем потоковое мультимедиа
  14. Как устроена и работает система контроля доступа в Squid
  15. Настраиваем Squid для работы с Active Directory. Часть 1 — базовые настройки
  16. Настраиваем Squid для работы с Active Directory. Часть 2 — Kerberos-аутентификация
  17. Настраиваем Squid для работы с Active Directory. Часть 3 — Авторизация на основе групп AD
  18. WPAD или автоматическая настройка параметров прокси
  19. Устраняем ошибки Windows Update при работе через прокси-сервер Squid
  20. Настраиваем ограничение скорости для пользователей в Squid
  21. Сборка Squid 3.5 с поддержкой SSL из исходных кодов для Debian / Ubuntu
  22. Настраиваем роутер NAT + DHCP + Squid3 с поддержкой фильтрации SSL-трафика
Читайте также:  Error 110 usb linux

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Источник

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

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

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

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

Установка и запуск SARG

Установка

В отличие от Debian / Ubuntu, в репозиториях CentOS программное обеспечение SARG отсутствует — установку будет производить из исходников. Устанавливаем пакеты необходимые для сборки пакета из исходников:

Настройка и запуск

.
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.

Запускаем формирование отчета:

Читайте также:  Cpu benchmark linux console

Система проверить корректность настройки в конфигурационном файле SARG и сформирует html-отчет в папке, указанной в опции output_dir (в нашем примере, /usr/share/nginx/html/squid-reports).

Веб-сервер

Как говорилось ранее, для просмотра отчетов в графическом интерфейсе нам нужен веб-сервер. Для его развертывания, сначала ставим репозиторий EPEL:

Разрешаем автозапуск nginx и стартуем сервис:

Открываем 80 порт в брандмауэре:

firewall-cmd —permanent —add-port=80/tcp

При необходимости просмотра статистики по https также добавим правило:

firewall-cmd —permanent —add-port=443/tcp

Открываем браузер и переходим по адресу http:///squid-reports/ — должна открыться стартовая страница со списком дат:

Стартовая страница SARG

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

Автоматическое формирование отчетов

Для формирования новых отчетов необходимо каждый раз запускать команду sarg -x. Чтобы автоматизировать процесс, добавим задание в планировщик Linux.

Открываем на редактирование cron:

* в данном примере мы будем запускать формирование отчета каждый день в 00:00.

Немного об альтернативе

Помимо SARG, для SQUID существуют другие анализаторы логов. Они имеют схожие принципы работы — консольный запуск анализа и формирования html-отчетов, и предоставление доступа к статистики посредством веб-интерфейса.

Наиболее популярные альтернативы SARG:

1. Lightsquid. Легкий парсер логов, использующий для анализа журналов скрипты, написанные на perl. Также

2. Free-SA. Изначально, планировался как замена другим устаревающим анализаторам логов прокси-сервера, но сам проект уже давно не обновлялся. Имеет интерфейс, схожий с sarg.

3. SAMS. В большей степени, это приложение для управления прокси-сервером SQUID, однако в нем предусмотрена также функция сбора статистики посещений сайтов. Подробнее об установке в инструкции Установка и настройка SAMS2 на CentOS.

4. Calamaris. Еще один парсер журналов с хорошей статистикой по нагрузке на прокси.

Источник

Оцените статью
Adblock
detector