Анализируем трафик Squid с помощью Sarg

В этой статье мы разобрали как развернуть прокси-сервер Squid 3.5.19 на Ubuntu 14.04 Trusty Tahr . В этой статье мы разберем как развернуть анализатор логов прокси-сервера Squid и просмотр сформированных с помощью Sarg логов в удобном для нас виде через Web браузер.

 

Разворачивать я буду Sarg на той же машине где и стоит Squid, ОС используемая Ubuntu 14.04 Trusty Tahr. Устанавливать Sarg будем из репозитариев Ubuntu. На момент написания статьи в репозитария доступна 2.3.6 версия Sarg.

 

Первым делом обновляем систему до актуального состояния

 

Устанавливаем Sarg

 

После установки выполним конфигурацию Sarg. Выполним резервное копирование файла конфигурации.

 

Я делаю конфигурацию на чистом файле, мне так удобней. Но на всякий случай у нас есть бекап оригинального файла конфигурации. Удаляю оригинальный файл конфигурации.

 

И создаю пустой файл конфигурации

 

Вот мой итоговый конфиг Sarg

 

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

exclude_codes — вносим коды из файла логов Squid, которые игнорировать при формировании отчета.

exclude_hosts — вносим IP адреса тех людей которых не хотим отображать в отчете

exclude_users — вносим пользователей который не хотим отображать в отчете

 

С установкой Sarg и его настройкой разобрались. Теперь нужно настроить apache чтобы удобно просматривать сформированные отчеты через Web браузер. Если при установке Ubuntu 14.04 вы не указывали устанавливать LAMP сервер, то его нужно установить.

[tip]Подсказка: Для установки LAMP выполним команду:

sudo tasksel install lamp-server

При установке будет запрошен пароль для создания администратора БД MySQL.[/tip]

Первым делом в конфиге apache пропишем имя сервера, дабы он не ругался на его отсутствие.

И вписываем в него

[tip]Заметка: Вместо srv-squid пишите свое название вашей машины[/tip]

Создадим необходимые каталоги

И назначим права на него

Создадим виртуальный хост

Вписываем следующее

Отредактируем файл настройки виртуальных хостов, открываем файл

Находим строку

и приводим к виду

Сохраняем и закрываем файл конфигурации Ctrl+O и Ctrl+X

Включаем созданный нами вирутальный хост

И перезапускаем apache

Все готово, apache настроен. Теперь запустим создание отчета Sarg и проверим что у нас получилось.

Открываем браузер и переходим на http://<ip-машины>/sarg. И смотрим что у нас получилось.1

Таблица с пользователями Squid, если нажать на IP адрес, то можно увидеть детальную статистику по каждой машине.

2

Вывод детальной статистике посещений сайтов.

3

Мы и разобрали как формировать и удобно просматривать отчеты работы Squid через утилиту Sarg.

Теперь немного разберем как создавать ежедневные, еженедельные и ежемесячные отчеты. Для этого случая у Sarg имеется утилита sarg-reports. Первым делом настроим ее. Открываем для правки конфигурационный файл /etc/sarg/sarg-reports.conf

sudo nano /etc/sarg/sarg-reports.conf

Конфиг приводим к виду

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

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

Откроем его для редактирования

Находим строку

Комментируем ее

Сохраняем и закрываем файл конфигурации Ctrl+O и Ctrl+X.

Команды для формирования отчета:

Для автоматизации процесса создания отчетов, открываем планировщик заданий Cron

и вписываем следующее

Расшифровка данного расписания означает, что каждый день в 6 утра формируется статистка за прошлый день, в 6:10 утра Воскресенья формируется статистка за прошедшую неделю и и первого числа каждого месяца в 6:20 статистика за прошедший месяц. В комментарии — формировать отчета в последний день каждого месяца в 21:30 статистика за прошедший месяц. 

Теперь у нас создание отчетов автоматизировано и нам лишь остается следить и контролировать пользователей.

Так же отчеты можно формировать не прибегая к sarg-reports, ниже приведу примеры аналогии формирования отчетов sarg-reports daily, weekly, monthly

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

Создаем текстовый файл

И пишем в него следующее

Делаем скрип исполняемым

По аналогии делаем такие же скрипты для формирования отчета за прошлую неделю и месяц и забиваем в crontab и наслаждаемся автоматическим формированием отчетов.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (4 голос(ов), в среднем: 5,00 из 5)
Загрузка...

Всего комментариев: 18 Комментировать

  1. hmuriy /

    Привет!
    А как формировать такие отчеты, как на картинках 2, 3.
    Ну чтоб красивенько было, в табличке.

    1. Жаконда / Автор записи

      Добрый вечер !
      Делайте все как в статье, вот так и получится. И будет все красивенько )))

  2. Александр /

    Таблицы не формируются, полей и цветов нет.
    Делаю по этой статье, но при том как я ставлю свой конфиг sarg.conf уже ничего не работает.

  3. Александр /

    Делаю все по статье, если использую ваш sarg.conf, то все работает, пытаюсь в стандартом конфиге менять все функции как в вашем конфиге, то уже не работает.

    1. Жаконда / Автор записи

      Вы вероятно что то упускаете, поэтому и не получается. Статья 100% рабочая, т.к. писалась для себя и писалась она на основе проделанной работы.

  4. Александр /

    Я все копировать->вставить делал, упустить просто ничего не возможно было.
    Статья работает, но у меня почему-то нет оформления (таблиц, цветов). И до этого вам написали об этом.

  5. Александр /

    Закоментил эти строчки, теперь формируются таблицы:
    # Путь к исключаемым из отчета пользователей
    #exclude_users /etc/sarg/exclude_users

    # Путь к исключаемым из отчета хостов
    #exclude_hosts /etc/sarg/exclude_hosts

    # Путь к исключаемым HTTP-кодам
    #exclude_codes /etc/sarg/exclude_codes

  6. Александр /

    Простите, только эту строчку закоментил:
    # Путь к подключаемому CSS-файлу
    #external_css_file /sarg/default.css

    1. Жаконда / Автор записи

      То что вы закоментили, как раз и есть стиль страницы. Но если у вас так работает то хорошо 🙂

  7. Александр /

    Еще есть вопрос, ни как не хочет русский шрифт ставиться
    Строчку закоментил:
    Комментируем ее
    #export LC_ALL=C
    В sarg.conf кодировка таже:
    # Кодировка отчета
    charset UTF-8

  8. Александр /

    В некоторых статьях в конфиге пигут строчку language Russian_UTF-8, но при формировании отчета sarg ругается на эту строчку

  9. Евгений /

    У меня отсутствует данный путь:external_css_file /sarg/default.css, в /etc/sarg/так же отсутствует файл default.css, где взять его?)

  10. Илья /

    Здравствуйте.
    Устанавливал SARG по Вашим рекомендациям, столкнулся с проблемой. В папке www/sarg не появился index.html и при подключении к серверу не выдает таблицы. В папках по датам индекс есть, но показывает только заголовки таблицы без наполнения. При этом сквидовские логи подхватываются и учитываются в отдельных файлах. В чем может быть косяк?

    1. Жаконда / Автор записи

      Видимо что то все таки не так сделали, не могу знать из за чего у вас так все установилось.

      1. Rob /

        Подскажите, возможно сделать чтобы отчеты формировались в течении дня по времени, к примеру: в 9:01 был посещен сайт qqq.ru, в 9:07 был посещен сайт fff.ru и так далее за целый день?

        1. Жаконда / Автор записи

          Это вам надо переписать или изменить sarg, сам по себе sarg так не умеет

  11. Sergey /

    А у меня не пишет в папку Daily
    Вместо нее создает рядом Daily. (c точкой) и кидает в неё.
    А если без скрипта команду эту выполнить, то все как положено.

  12. Игорь /

    Добрый день!

    Подскажите, пожалуйста, как заставить sarg выводить отчеты на русском, как у вас в примерах? У меня все заголовки таблиц и «шапка» отчета на английском, по-русски только название отчета, т.е. то, что в настройках (sarg.conf) было в title (у вас: title «Squid — Анализ использования интернета»).

    В sarg.conf кодировка charset UTF-8.

    locale:
    LANG=ru_RU.UTF-8
    LANGUAGE=
    LC_CTYPE=»ru_RU.UTF-8″
    LC_NUMERIC=»ru_RU.UTF-8″
    LC_TIME=»ru_RU.UTF-8″
    LC_COLLATE=»ru_RU.UTF-8″
    LC_MONETARY=»ru_RU.UTF-8″
    LC_MESSAGES=»ru_RU.UTF-8″
    LC_PAPER=»ru_RU.UTF-8″
    LC_NAME=»ru_RU.UTF-8″
    LC_ADDRESS=»ru_RU.UTF-8″
    LC_TELEPHONE=»ru_RU.UTF-8″
    LC_MEASUREMENT=»ru_RU.UTF-8″
    LC_IDENTIFICATION=»ru_RU.UTF-8″
    LC_ALL=ru_RU.UTF-8

    cat /etc/default/locale
    # File generated by update-locale
    LANG=ru_RU.UTF-8
    LC_ALL=»ru_RU.UTF-8″

    ОС Ubuntu 18.04.2 LTS.

Оставить ответ

13 − одиннадцать =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика