Одним из насущных вопросов для системного администратора является получение статистики использования интернета в организации. Располагая такими данными всегда можно ответить на вопрос руководства "куда ушел весь интернет", обосновать необходимость расширения канала, своевременно выявлять и пресекать нежелательный трафик. Сегодня мы рассмотрим такое решение для нашего роутера на платформе Ubuntu Server.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Основной интересующий нас тип траффика - HTTP, который составляет львиную долю входящего интернет-трафика в организации и наиболее интересен, так как позволяет судить об активности и предпочтениях пользователей (а также о том, как они проводят рабочее время). Все необходимые нам данные имеются в логах прокси-сервера Squid, но не будем же мы просматривать их вручную! Необходим инструмент, позволяющий анализировать и предоставлять отчеты на основе этих логов. Одним из таких инструментов является SARG - Squid Analysis Report Generator, что и отражено в его названии.
Приступим. Прежде чем браться за установку SARG необходимо подготовить сервер, данная утилита выдает отчеты в формате HTML и для работы с ними потребуется установленный веб-сервер. Если вы не собираетесь использовать роутер в качестве полноценного веб-сервера, то будет вполне достаточно легкого сервера lighttpd:
sudo apt-get install lighttpd
Сервер начинает работать сразу после установки, для проверки наберите в браузере адрес сервера и вы увидите стандартную страницу. По умолчанию lighttpd принимает соединения на всех интерфейсах, что нас никоим образом не устраивает, ограничим его работу внутренней сетью. Открываем конфигурационный файл /etc/lighttpd/lighttpd.conf, находим и приводим к следующему виду опцию:
server.bind = "10.0.0.1"
где 10.0.0.1 - внутренний адрес роутера, также не забудьте раскомментировать эту строку и перезагрузить веб-сервер:
sudo /etc/init.d/lighttpd restart
Устанавливаем SARG:
sudo apt-get install sarg
Настройка анализатора логов довольно проста и сводится к выбору языка, кодировки и формата отчета, а также пути для его размещения. Все изменения вносим в файл /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
Теперь можем проверить работу анализатора:
sudo /usr/bin/sarg
После того как утилита закончит работу набираем в браузере http://10.0.0.1/squid-reports, вы должны увидеть следующую страницу:
По умолчанию SARG формирует отчет за весь доступный период, отчет содержит детализацию по пользователям (адресам) и посещенным ими сайтам, использованию трафика и кэша, загрузкам. Отдельно можно просмотреть наиболее посещаемые сайты, данный отчет сортирует сайты не по трафику, а по количеству посещений.
По каждому пользователю можно получить исчерпывающую статистику:
Можно также просмотреть график потребления трафика и статистику работы по датам и времени.
Если есть желание, можете настроить отображение отчетов по собственному вкусу, конфигурация 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.
Дополнительные материалы:
- Linux. Настройка роутера (NAT + DHCP + Squid)
- Ubuntu Server. Настраиваем роутер NAT + DHCP + Squid3
- Ubuntu Server. Настраиваем контент-фильтр роутера (DansGuardian)
- DansGuardian. Сложности фильтрации русскоязычного контента
- Ubuntu Server. Настраиваем антивирусный фильтр роутера (ClamAV)
- Ubuntu Server. Дополняем контент-фильтр роутера антивирусом (DansGuardian + ClamAV)
- Ubuntu Server. Настраиваем форвардинг портов на роутере
- Ubuntu Server. Настраиваем аутентификацию через Squid
- Ubuntu Server. Ограничиваем скорость клиентов через Squid
- SARG - анализируем логи прокси-севера Squid
- SAMS - веб-интерфейс для управления Squid и не только
- Squid - настраиваем URL-фильтрацию по спискам
- Squid - блокируем потоковое мультимедиа
- Как устроена и работает система контроля доступа в Squid
- Настраиваем Squid для работы с Active Directory. Часть 1 - базовые настройки
- Настраиваем Squid для работы с Active Directory. Часть 2 - Kerberos-аутентификация
- Настраиваем Squid для работы с Active Directory. Часть 3 - Авторизация на основе групп AD
- WPAD или автоматическая настройка параметров прокси
- Устраняем ошибки Windows Update при работе через прокси-сервер Squid
- Настраиваем ограничение скорости для пользователей в Squid
- Сборка Squid 3.5 с поддержкой SSL из исходных кодов для Debian / Ubuntu
- Настраиваем роутер NAT + DHCP + Squid3 с поддержкой фильтрации SSL-трафика
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии