Мониторинг. · 6 min read · Oct 14, 2025
Мониторинг доступа к серверу SQUID
Мониторинг в режиме реального времени через командную строку Для мониторинга любых обновлений в режиме реального времени мы можем использовать параметр “-f” команды “tail”, применяя фильтры в соответствии с интересами.
# tail -f /var/log/squid/access.log | awk ‘{print$3 “ “ $8 “ “ $7}’
192.168.0.1 wrochal http://www.linuxit.com.br/
192.168.0.1 wrochal http://www.linuxit.com.br/log.gif
192.168.0.1 wrochal http://www.linuxit.com.br/banners/linuxmall.gif
192.168.0.1 wrochal http://www.linuxit.com.br/parcerios/01.gif
192.168.0.1 wrochal http://www.linuxit.com.br/parcerios/02.gif
192.168.0.1 wrochal http://www.linuxit.com.br/parcerios/03.gif
192.168.0.1 wrochal http://www.linuxit.com.br/parcerios/04.gif
192.168.0.1 wrochal http://www.linuxit.com.br/google.html
Мониторинг с помощью SARG
С помощью Sarg можно более подробно отслеживать доступ пользователей, вот пример того, как Sarg генерирует отчеты, его можно настроить на нескольких языках через файл конфигурации /etc/sarg/sarg.conf, настройка Sarg проста и легка.

Узнайте немного о Sarg и его создателе ( Дополнительная информация).
Установка Sarg
SARG можно скачать по следующему адресу: http://sarg.sourceforge.net/sarg.php. После загрузки распакуйте его с помощью команды: # tar -xzvf sarg-1.3-PRE2.tar.gz
После этого в директории, куда была распакована программа, введите: # ./configure
По умолчанию SARG устанавливается в директорию /usr/local/sarg. В прошлом /etc/sarg/ мы найдем файл конфигурации sarg.conf.
Настройка Sarg
Я собираюсь указать основные параметры и файл, в котором они объясняются
Определение языка
language Portuguese
Название отчета
title “Отчеты о доступе пользователей Squid”
Директория, где будут генерироваться отчеты
output_dir /home/squid/report/
Для генерации отчетов на основе имени пользователя (требуется прокси, настроенный с аутентификацией пользователей).
user_ip no
Эта опция позволяет указать место, где будет сгенерирован лог Squid # TAG: access_log file
#access_log /usr/local/squid/logs/access.log
#access_log /var/log/squid/logs/access.log # Версия RedHat В этой опции ничего не нужно изменять, так как тип доступа к сайту зависит от типа отчета. # TAG: report_type type
Существуют следующие опции:
Topsites - самые посещаемые сайты по количеству соединений и байтов.
Sites_users - образец, показывающий, какие пользователи имели доступ к конкретному сайту.
Users_sites - образец сайтов, к которым имел доступ конкретный пользователь.
Date_time - байты, использованные/переданные за день и час.
Denied - образец попыток доступа к запрещенным сайтам по ACL.
Auth_failures - образец попыток аутентификации (ошибка при вводе пароля аутентификации) недостатков пользователя.
После завершения настройки Sarg достаточно сгенерировать отчеты, и ниже я покажу несколько примеров использования.
Например, я хочу отправить отчет по электронной почте за дату: sarg -e [email protected] -d 01/01/2003-06/01/2003
Другой очень интересный пример - это адрес URL, который в данном случае сгенерирует отчет только по указанным адресам: sarg -s www.linuxit.com.br, www.myunix.org
Настройка формата даты sarg -d [e=Европа -> dd/mm/aa], u=США -> mm/dd/aa]
Отчет для пользователя и IP sarg -i wrochal 10.100.0.101
Отчет по времени sarg -t [HH, HH:MM, HH:MM:SS]
Отчет для пользователя sarg -u wrochal
Теперь вы достаточно подготовлены, чтобы создать отчет по желаемой теме, и удачи вам.
Отчет с исключением сайтов, строк и пользователей
Многие люди спрашивают, как сгенерировать отчет, исключая определенные сайты, пользователей и строки. Узнайте, как использовать этот ресурс:
exclude.hosts - здесь каждая строка будет содержать один домен/URL, который не будет показан в отчете. Полезно указать, например, адреса загрузок из Интранета, которые проходят через Squid, но не расходуют интернет-канал.
Укажите в файле sarg.conf: exclude_hosts /etc/sarg/exclude.hosts
exclude.strings - если какая-либо строка из файла лога содержит одну из строк этого файла (каждая строка на отдельной строке), эта строка лога будет проигнорирована в отчете. С помощью этого вы можете отфильтровать любую информацию из отчета.
Укажите в файле sarg.conf: exclude_string /etc/sarg/exclude.strings
exclude.users - пользователи, указанные в этом файле (разделенные по строкам), не будут включены в отчет.
Укажите в файле sarg.conf: exclude_users /etc/sarg/exclude.users
Мониторинг с помощью webalizer
Webalizer работает иначе, чем Sarg, создает отчеты с итогами, акцентируя внимание на анализе полосы пропускания и трафика и т.д. Это отличный вариант для сравнения использования сети в разные периоды.
Однако для мониторинга доступа пользователей Sarg является лучшей альтернативой, так как Webalizer создает отчеты на основе служб Squid и Apache
Установка webalizer
Скачайте: http://www.mrunix.net/webalizer/download.html
После загрузки распакуйте и установите: # ./configure
Расширенные опции:
Установка с определением языка, проверьте директорию lang, которая имеет поддержку.
–with-language=
пример
–with-language=french
Основные параметры
Какой файл логов содержит необходимые данные для генерации отчета.
LogFile /var/log/squid/access.log
Какой тип службы будет сгенерирован отчет.
LogType squid
Директория, где будет сгенерирован отчет
OutputDir /home/webalizer/
Calamaris
Calamaris - это программа, написанная на Perl, которая генерирует подробные отчеты о использовании Интернета, используя файлы логов некоторых прокси-серверов, таких как NetCache, Inktomi Traffic Server, Oops! прокси-сервер, Novell Internet Caching System, Compaq Tasksmart, Netscape/iplanet Web Proxy server и, конечно, Squid. Сгенерированные отчеты очень просты в представлении, но очень богаты деталями, извлеченными из файлов логов, их можно генерировать в формате HTML или текстовом для отправки по электронной почте.
Использование этого программного обеспечения очень простое, сначала нужно скачать последнюю версию с http://cord.de/tools/squid/calamaris/Welcome.html.en, распаковать архив в директорию по вашему выбору, в нашем случае это /usr/local/calamaris, после этого вы уже можете его использовать. Ниже приведен простой пример команды для генерации отчетов из логов Squid. # /usr/local/calamaris/calamaris -a -F html /var/log/squid/access.log >/srv/www/default/html/calamaris/index.html
Команда выше уже достаточно для генерации отличных отчетов по анализу логов. В этом случае мы используем опцию -a, которая говорит Calamaris сгенерировать все отчеты, -F HTML указывает формат отчета, который мы хотим, в данном случае HTML, /var/log/squid/access.log - это место, где находится файл логов Squid, а /srv/www/default/html/calamaris/index.html - это место, где будет сохранен сгенерированный отчет, в данном случае в папке в дереве Apache, чтобы его можно было проанализировать с любой станции сети.
Мы можем наблюдать на Рисунке 1 типы сгенерированных отчетов, а также на Рисунке 2 один из этих отчетов, который содержит информацию о запросах, организованную по расширению.

Рисунок 01

Рисунок 02
Идеально, если будет разработан скрипт, который позволит нам запланировать выполнение Calamaris через cron, но это не будет обсуждаться здесь, так как это будет зависеть от потребностей каждого, а также само программное обеспечение уже содержит несколько примеров, как это сделать.
Squid-Graph
Squid-Graph, как и Calamaris, написан на Perl, однако, как и само название подразумевает, это генератор графиков использования прокси-сервера. Он предназначен для представления более сжатой информации о доступах и передаче данных, но это не делает его менее интересной альтернативой и может дополнить набор инструментов администрирования.
Его можно получить по адресу http://squid-graph.securlogic.com/files/stable/squid-graph-3.1.tar.gz, это последняя доступная версия на данный момент. Важно помнить, что необходимо установить модуль Perl GD, который, безусловно, должен быть на CD вашего любимого дистрибутива.
Процесс установки очень прост, так как нужно просто распаковать архивы в выбранную директорию, поскольку нам не нужно ничего компилировать. В нашем случае мы установим в /usr/local/squid-graph /, как показано в команде ниже. **# tar xzvf squid-graph-3.1.tar.gz -C /usr/local/
Выполнение команды для генерации графиков будет зависеть от того, как и какие графики будут сгенерированы, однако хороший способ выполнить эту команду так, чтобы графики были представлены в кумулятивной форме, показан ниже. #/usr/local/squid-graph/bin/squid-graph -c -n -o=/srv/www/default/html/squid-graph/ –title=”График использования прокси” < /var/log/squid/access.log
В команде выше мы используем опцию -c, таким образом, мы генерируем кумулятивные графики, то есть у нас будет два графика для доступов и передач TCP соответственно, и еще два графика для доступов и передач UDP. Опция -n делает так, чтобы информация о процессе логов Squid не отображалась на экране, -o=/srv/www/default/html/squid-graph/ указывает место, где будут сохранены файлы (HTML и изображения), -title=”График использования прокси” персонализирует заголовок HTML-страницы, на которой отображаются графики, и, наконец, у нас есть файл логов Squid.
Существуют и другие интересные опции, такие как генерация графиков для определенного URL или использование одного, как мы можем увидеть ниже с использованием команды 3: # cat /var/log/squid/access.log | grep “ginux.comp.ufla.br” | /usr/local/squid-graph/bin/squid-graph -c -n / -o=/srv/www/default/html/squid-graph/ –title=”График использования прокси”
Чтобы сгенерировать график доступов для определенного пользователя, нам просто нужно заменить команду grep, показанную выше, на grep “192.168.16.3”, предполагая, что 192.168.16.3 - это IP вашего пользователя. Мы также можем использовать тот же ресурс для графиков определенных типов файлов, используя расширение в качестве параметра, например, grep “.mp3” - это хорошее начало. Как уже можно заметить, мы можем комбинировать использование Squid-Graph с другими командами Linux, так что у нас есть бесконечное количество вариантов для его использования, кроме того, существуют и другие интересные опции, которые здесь не были рассмотрены.
Автор: Уильям Роша - [email protected]
Перевод: Татьяна Фрейтас - [email protected]
Ссылки:
Хуго Сиснейрос, hugo_arroba_devin_ponto_com_ponto_br - http://www.devin.com.br/eitch/
Книга Squid - Настройка прокси для Linux (Антонио Марсело)
Webalizer - http://www.mrunix.net/webalizer/
Sarg - http://sarg.sourceforge.net/
Использование и настройка SQUID (Часть 1 и Часть 2) - Антонио Клаудио Салес Пинейро - [email protected]
Get new posts in your inbox
No spam. Unsubscribe anytime.