Парсер squid логов: Доработка парсера логов Squid для корректного просмотра посещенных HTTPS ресурсов

Содержание

Squid для самых маленьких. Часть 3 Статистика / Хабр

Каждый, кто поднимает проксю, потом хочет смотреть кто её пользуется, кто сколько качает. И иногда бывает очень полезным просмотр в режиме реального времени, кто что качает. В данном топике будут рассмотрены следующие программы:
SqStat — Real Time статистика через web
Sarg — Анализатор логов Squid с последующей генерации HTML
SquidView — Интерактивный консольный монитор логов Squid
0. Введение

Я не буду здесь рассказывать как настроить Apache. В инете и так много мануалов на эту тему, так что вперед и с песней, я буду рассказывать про те фичи, которые внедрял у себя.
Да, рассказывать буду на примере Debian Etch, у вас могут отличаться пути, имейте ввиду…
Поехали…

1. SquidView

Данная программа работает в консоли, и выводит там же все что делает Squid.
Установка:

aptitude install squidview

Подождем пару секунд, если у вас быстрый интернет. Все, теперь мы можем смотреть кто, что качает. Если у вы не меняли расположение логов, и оставили большинство параметров squid дефолтными, то для просмотра необходимо только запустить его, но с правами root’а, потомучто логи сквида пишутся им…

sudo squidview

Я думаю что этого вполне хватит вам, но также сообщу очень полезные вещи, нужно нажимать кнопки, и смотреть:

  • h — помощь, здесь мы можем узнат ь еще больше 😉
  • l — enter — генерация отчета, вы также можете настроить дополнительные настройки
  • T — начинется учет статистики по размеру скачиваемого
  • O — просмотре кто чё качал по юзерам, после T

По SquidView вроде бы все, если что нибудь не до рассказал, пишиите, добавлю!

2. SqStat

Это скрипт который позволяет смотреть активные соединения, загрузку канала, и среднюю загрузку канала.
Я предполагаю что у вас уже настроен апач.
Скачиваем последнюю версию,

wget -c samm.kiev.ua/sqstat/sqstat-1.20.tar.gz
tar xvfz sqstat-1.20.tar.gz

cd ./sqstat-1.20
mkdir /var/www/squid-stat
cp -R * /var/www/squid-stat*

Всё, теперь нам необходимо настроить Squid-cgi или cachemgr.cgi, Ставим:
aptitude install squid-cgi

Теперь необходимо настраивать доступ…

nano /etc/squid/squid.conf

Добавляем
acl manager proto cache_object
http_access allow manager localhost
http_access deny manager
#Данная строка задает пароль secret и разрешает делать все
cachemgr_passwd secret all

Сейчас необходимо поправить /etc/squid/cachemgr.conf
echo "*" >> /etc/squid/cachemgr.conf
Вместо * можете поставить адрес сетевой которую прослушивает squid

Вот вродебы и всё!

http://localhost/cgi-bin/cachemgr.cgi

У меня почему то не получилось завести при адресе 127.0.0.1 и ввел 192.168.0.1 и все заработало. теперь вам необходимо ввести в поле Cache Host адрес внещней сетевой. Порт какой у вас стоит, в поле логин, если вы делали всё по мануалу, можно ничего не водить, и в поле пароля пишем secret. Если всё прошло удачно, то вы увмидете список доступных параметров… Можете посмотреть, а мы переходим к настройке SqStat…

nano /var/www/squid-stat/config.inc.php
//Это адрес на котором слушает ваш сквид
$squidhost[0]="192.168.0.1";
$squidport[0]=3128;
$cachemgr_passwd[0]="secret";
//Этот параметр разрешает резолвить имена записями в ващей системе
$resolveip[0]=false;
//В этом файле содержится айпи и имена кмопьютеров, можно использовать кирилицу :)
$hosts_file[0]="hosts";
$group_by[0]="host";

В принципе, сам конфиг хорошо документирован, изучайте, благо там изучать нечего ))

Теперь делаем поддомен, так намного удобнее)

nano /etc/apache2/sites-enabled/sqstat
<VirtualHost squid.server.local:80>
ServerAdmin [email protected]
DocumentRoot /var/www/squid-stat/
ServerName proxy.server.local

Для резолвинга пишем в /etc/hosts

nano /etc/hosts
192.168.0.1 proxy.server.local

Вот и всё 🙂 почти все

squid -k reconfigure
/etc/init.d/apache2 reload

3. Sarg

Эта программа генерирует html отчеты, риcует графики, и тд…
Ставим:

aptitude install sarg

nano /etc/squid/sarg.conf
language Russian_koi8
graphs yes
title "Squid User Access Reports"
temporary_dir /tmp
output_dir /var/www/sarg

max_elapsed 28800000
charset Koi8-r

Kонечно же никто Вам не запрещает поизгаляться над стилем отображения всего этого хозяйства — конфиг снабжён очень подробными комментариями.

crontab -u root -e
* 08-18/1 * * * /usr/sbin/sarg-reports today
* 00 * * * /usr/sbin/sarg-reports daily
* 01 * * 1 /usr/sbin/sarg-reports weekly
* 02 1 * * /usr/sbin/sarg-reports monthly

Эпилог

Всё :)) Если хотите, можете создать и для него поддомен! Это уже описано…
Сам я пользуюсь всеми тремя программами и доволен.

UPD. Для решения проблемы со скивдом 3-ей версии неоходимо сделать мягкую ссылку:

ln -s /var/log/squid3/access.log /root/.squidview/log1

UPD.2. В следующей статье будет идти разговор о delay pools
Кросспост из моего блога

Sarg — парсер логов Squid

Сегодня будем разбирать логи Squid и присваивать тариф «Имеемый» человеку стоящему на первом месте в статусе «Загружено мегабайт».

Установка банальна и тривиальна.

# make search name=sarg
Port:   sarg-2.2.7.1_2
Path:   /usr/ports/www/sarg
Info:   Squid log analyzer and HTML report generator
Maint:  [email protected]
B-deps: expat-2.0.1_1 fontconfig-2.8.0,1 freetype2-2.4.2 gd-2.0.35_7,1
R-deps: expat-2.0.1_1 fontconfig-2.8.0,1 freetype2-2.4.2 gd-2.0.35_7,1
WWW:    _http://sarg.sourceforge.net/
 
# cd /usr/ports/www/sarg
# make config
 
Options for sarg 2.2.7.1_2
[X] GD  Enable GD support
 
# make install clean

Настроим по вкусу Sarg я укажу свои настройки вы можете поэкспериментировать:

# cd /usr/local/etc/sarg/
# cp sarg.conf.default sarg.conf
# cat sarg.conf
 
# Укажем нужный язык 
language Russian_koi8
 
# Указываем путь до логов Squid
access_log /var/log/squid/access.log
 
# Включаем построение графиков
graphs yes
graph_days_bytes_bar_color orange
 
title "Squid User Access Reports"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 12px
header_font_size 12px
title_font_size 14px
text_bgcolor lavender
logo_text_color #000000
image_size 80 45
 
temporary_dir /tmp
 
# Куда складывать отчеты.
output_dir /usr/local/www/sarg/
 
# Преобразовывать IP в имя по DNS. При большом парке машин 
# или проблема с DNS рекомендую отключать эту опцию.
resolve_ip yes
 
# Сортировка юзеров в выводе по USER CONNECT BYTES TIME
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
 
date_format e
remove_temp_files yes
index yes
overwrite_report yes
topsites_num 100
index_sort_order D
max_elapsed 28800000
 
# Разнообразные типы отчетов, включим все.
report_type topusers topsites sites_users users_sites
date_time denied auth_failures site_user_time_date downloads
 
date_time_by elap
charset Koi8-r
 
show_sarg_info no
 
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,md
b,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"

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

# SARG
0       23      *       *       5       /usr/local/bin/sarg > /dev/null 2>&1
 
# Moved Old Squid Log
0       0       1       *       *       /root/scripts/squid_log_moved  > /dev/null 2>&1

В Cron можно и так записывать >>форум<<

Скрипт очисти логов Squid:

# cat /scripts/squid_log_moved
 
#!/bin/sh
#
current_year=`date '+%Y'`
current_month=`date '+%m'`
current_date=`date '+%d'`
## Создаем директорию для логов
log_dir="/var/squid/old_logs/${current_year}/${current_month}"
mkdir -p ${log_dir} 2>/dev/null
 
## Очищаем логи SQUID
cat /var/squid/logs/access.log > /tmp/log.tmp
cat /dev/null > /var/squid/logs/access.log
gzip -c /tmp/log.tmp  > ${log_dir}/squid.log.gz
#gzip -c ${log_dir}/squid.log  > ${log_dir}/squid.log.gz
#rm -R /usr/local/www/sarg/*

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

% cd /home/serv/www/data
# ln -s /usr/local/www/sarg/ sarg
# ll
total 4
lrwxr-xr-x  1 root  serv    20B  5 авг 11:32 glpi -> /usr/local/www/glpi/
lrwxr-xr-x  1 root  serv    26B  5 авг 11:17 phpMyAdmin -> /usr/local/www/phpMyAdmin/
-rw-r--r--  1 serv  serv    21B  5 авг 10:51 phpinfo.php
lrwxr-xr-x  1 root  serv    27B  5 авг 12:23 phpldapadmin -> /usr/local/www/phpldapadmin
lrwxr-xr-x  1 root  serv    20B 17 авг 13:16 sarg -> /usr/local/www/sarg/
drwxr-xr-x  3 serv  serv   512B 12 авг 13:19 sqstat

Анализируем логи, заходим на технический сайт и смотрим:

# sarg
SARG: Records in file: 8717, reading: 100.00%
SARG: Отчет успешно сгенерирован в: /usr/local/www/sarg//01Feb2011-01Feb2011

Общая история:

Кто тут интернет активный? 192.168.0.56 самый работящий!

Офис должен работать и заниматься делом! Вот как тут и надо бы выписать ему премию. =)

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

Сравнение свободных программ учета трафика SQUID / Хабр

Недавно в нашей компании возникла необходимость перевести прокси-сервера с MS ISA Server на свободное ПО. Прокси-сервер долго выбирать не пришлось (squid). Воспользовавшись несколькими практическими рекомендациями, настроил прокси под наши нужды. Некоторые затруднения возникли при выборе программы для учета трафика.

Требования были такие:

1) свободное ПО
2) возможность обработки логов с различных прокси на одном сервере
3) возможность построения стандартных отчетов с отправкой по почте, либо ссылка на веб-сервере

4) построение отчетов по отдельным подразделениям и рассылка таких отчетов руководителям подразделений, либо предоставление доступа по ссылке на веб-сервере

По программам учета трафика разработчиками представлена весьма скудная информация: лаконичное описание назначение программы плюс необязательным бонусом пара скриншотов. Да, понятно, что любая программа подсчитает количество трафика за сутки/неделю/месяц, а вот дополнительные интересные возможности, отличающую одну программу от других — не описаны.

Я решил написать этот пост, в котором попытаюсь описать возможности и недостатки таких программ, а так же некоторые их ключевые «фишки», чтобы немного помочь в выборе тем, кому его предстоит сделать.

Наши кандидаты:

SARG
free-sa
lightsquid
SquidAnalyzer
ScreenSquid

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

Логи передаются на обработку анализатору в том виде, как их создал squid и не будут подвергаться какой-либо предварительной обработке с целью внесения в них изменений. Обработка некорректных записей и всевозможные преобразования полей логов должны вноситься самим анализатором и присутствовать только в отчете. Данная статья не является инструкцией по настройке. Вопросы конфигурирования и использования могут быть освещены в отдельных статьях.


Итак, приступим.

SARG — Squid Analysis Report Generator


Старейшина среди поддерживаемых программ такого класса (разработка начата в 1998 году, прежнее название — sqmgrlog). Последний релиз (версия 2.3.10) — апрель 2015 года. После этого было несколько доработок и исправлений, которые доступны в master-версии (можно скачать с помощью git с sourceforge).

Запуск программы производится вручную либо по cron-у. Запустить можно без параметров (тогда все параметры будут взяты из файла конфигурации sarg.conf), либо можно указать параметры в командной строке или скрипте, например даты, за которые строится отчет.

Отчеты создаются в виде html-страниц и складываются в каталог /var/www/html/squid-reports (по умолчанию). Можно задать параметр, задающий количество хранимых отчетов в каталоге. Например, 10 ежедневных и 20 недельных, более старые будут автоматически удаляться.

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

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

При выборе одного из периодов сможем получить отчет topusers за этот период. Далее приведу описания и примеры всех типов отчетов, которые умеет делать SARG.

1) topusers — суммарный трафик по пользователям. Под пользователем понимается либо имя хоста, которому предоставлен доступ в Интернет, либо логин пользователя. Пример отчета:

Здесь отображаются IP-адреса. При настройке включении соответствующей опции IP-адреса преобразуются в доменные имена.

Используете аутентификацию? Учетные записи преобразуются в реальные имена:

Внешний вид может быть настроен в css-файле. Выводимые столбцы тоже настраиваются, ненужные можно убрать. Поддерживается сортировка столбцов (sorttable.js).

При нажатии на иконку с графиком слева увидим подобный график:

При нажатии на иконку справа получим отчет 5.

2) topsites — отчет по самым популярным сайтам. По умолчанию выводится список из 100 самых популярных сайтов (значение корректируется). С помощью регулярных выражений или задания псевдонимов можно объединить трафик доменов 3-го и более высоких уровней до домена 2-го уровня (как на скриншоте) или задать любое другое правило. Для каждого домена можно задать правило отдельно, например, для yandex.ru и mail.ru объединять до 3-го уровня. Значение полей вполне очевидно.

3) sites_users — отчет о том, кто заходил на определенный сайт. Тут все просто: имя домена и кто к нему обращался. Трафик тут не отображается.

4) users_sites — отчет о посещенных сайтах каждым пользователем.

Тут тоже все понятно. Если нажать на иконку в первом столбце, получим отчет 8).

5) date_time — распределение трафика пользователя по дням и часам.

6) denied — заблокированные squid-ом запросы. Здесь отображается кому, когда и куда в доступе было отказано. Количество записей настраивается (по умолчанию — 10).

7) auth_failures — отказы в аутентификации. HTTP/407.
Количество записей настраивается (по умолчанию — 10).

8) site_user_time_date — показывается в какое время на какой сайт и с какой машины заходил пользователь.

9) downloads — список загрузок.

10) useragent — отчет об используемых программах

В первой части отчета отображается IP-адрес и использованные useragent’ы.

Во второй — общий список useragent’ов с распределением в процентах с учетом версий.

11) redirector — отчет показывает кому был заблокирован доступ средствами блокировщика. Поддерживаются squidguard, dansguardian, rejik, формат логов настраивается.

У SARG более 120 параметров настройки, поддержка языков (на русский язык переведено 100% сообщений), поддержка регулярных выражений, работа с LDAP, возможность предоставления пользователям доступа только к своим отчетам на web-сервере (через .htaccess), возможность преобразования логов в свой формат для экономии места, выгрузка отчетов в текстовый файл для последующего заполнения базы данных, работа с файлами логов squid (разбиение одного или нескольких лог-файлов по дням).

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

Можно отправлять отчеты по e-mail, правда, пока поддерживается только отчет topusers, а само письмо будет простым текстовым без поддержки HTML.

Можно исключить из обработки определенных пользователей или определенных хосты. Можно задавать псевдонимы для пользователей, объединяя трафик нескольких аккаунтов в один, например, всех аутстафферов. Также можно задать псевдонимы для сайтов, например, объединить в некий псевдоним несколько социальных сетей, в этом случае все параметры по указанным доменам (количество соединений, объем трафика, время обработки) будут просуммированы. Или с помощью регулярного выражения можно «отбросить» домены выше 3-го уровня.
Возможна выгрузка в отдельные файлы списка пользователей, превысивших определенные объемы за период. На выходе будет несколько файлов, например: userlimit_1G.txt — превысившие 1 Gb, userlimit_5G.txt — превысившие 5 Gb и так далее — всего 16 лимитов.

Еще SARG имеет в своем арсенале пару PHP-страниц: просмотра текущих подключений к squid и для внесения доменных имен в списки блокировки squidguard.

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


free-sa


Отечественная разработка. С ноября 2013 года новых версий не было. Заявлено более быстрое создание отчетов по сравнению с конкурирующими программами и меньший объем занимаемого места для готовых отчетов. Проверим!

Ближе всего по логике работы эта программа к SARG (да и автор сам сравнивает с этой программой (например, тут)), поэтому и мы сравнивать будем с ним.

Порадовало наличие нескольких тем оформления. Тема представляет собой 3 css-файла и 4 png-иконки, им соответствующие.

Отчеты действительно делаются быстрее. Дневной отчет создался за 4:30, когда у SARG за 12 минут. Правда, с занимаемым объемом оказалось не так: объем, занимаемый отчетами — 440 МБ (free-sa) и 336 МБ (SARG).

Попробуем дать задание посложнее: обработать лог-файл объемом 3,2 ГБ за 10 дней, в котором 26,3 млн строк.

Free-sa также сделал отчет быстрее, за 46 минут, отчет занимает 3,7 ГБ на диске. SARG потратил 1 час 10 минут, отчет занимает 2,5 ГБ.

Но оба эти отчета будет неудобно читать. Кому, например, захочется вручную считать, какой домен популярнее — vk.com или googlevideo.com и подсчитывать вручную трафик всех их поддоменов? Если в настройках SARG оставить только домены 2-го уровня, то создание отчета займет примерно столько же времени, но теперь уже сам отчет занимает на диске 1,5 ГБ (дневной с 336 МБ уменьшился до 192 МБ).

ПодробноПри входе на главную страницу видим примерно следующее (выбрана тема blues):

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

Список заблокированных URL:

Отчет CONNECT metdod:

Отчет PUT/POST metdod:

Отчет о загрузках:

Популярные сайты:

Интересным показался отчет об эффективности прокси-сервера:

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

При нажатии на значок графика во второй колонке получим график использования сети Интернет конкретным пользователем:

При нажатии на вторую иконку получим таблицу загрузки интернет-канала по часам:

При выборе IP-адреса получим список сайтов по пользователю в порядке убывания трафика:

Вся статистика отображается в байтах. Для переключения на мегабайты необходимо выставить параметр

reports_bytes_divisor=«M»

Программа не принимает сжатые файлы логов, не принимает больше одного файла с параметром -l, не поддерживает отбор файлов по маске. Автор программы предлагает обойти эти ограничения созданием именованных каналов.

Обнаружен досадный глюк — когда длина строки лога слишком большая, вместо адресов вписываются timestamp’ы:

При просмотре трафика этого «пользователя» можно увидеть домен с источником ошибки:

Таким образом, количество пользователей возросло в несколько раз.

Если сравнивать эти две программы, то free-sa создает отчет чуть быстрее. 20-кратного увеличения скорости, как заявлено автором, мне не удалось обнаружить. Возможно, ее можно увидеть при каких-то определенных условиях. Думаю, непринципиально сколько займет создание недельного отчета ночью — 30 минут или 50. По объему занимаемого отчетами места у free-sa преимущества нет.


lightsquid


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

Логика работы программы иная: программа считывает журнал и создает набор файлов с данными, которые потом использует для создания веб-страниц. То есть заранее созданных отчетов с данными здесь нет, страницы с данными генерируются «на лету». Плюсы такого решения очевидны: для получения отчета не обязательно парсить все логи за период, достаточно раз в день «скармливать» lightsquid-у накопившийся журнал. Можно по cron-у делать это несколько даже несколько раз в день, чтобы быстро добавить новую порцию информации.

Не обошлось без минусов: невозможно обработать логи с разных серверов и собрать статистику в одном месте: при обработке журнала за какой-нибудь день с другого сервера уже имеющаяся статистика за этот день стирается.

Есть странное ограничением: lightsquid «воспринимает» как несжатые файлы логов, как и сжатые (gz — точно), но во втором случае имя файла должно быть в таком формате: access.log.X.gz, файлы с форматом имени access.log-YYYYMMDD.gz не воспримет.

Путем нехитрых манипуляций преодолеваем это ограничение и смотрим что получилось.

ПодробноОтчет за месяц (суммарный трафик 3 Тб, 110 млн строк) занял на диске 1 Гб.

На начальной странице видим трафик по дням за текущий месяц.

При выборе дня видим отчет за день по всем пользователям:

Если заданы группы, в правой колонке отображается название группы, к которой принадлежит пользователь. Пользователи, не входящие ни в одну группу, объединяются в группу 00 no in group (в данном отчете они помечены вопросительным знаком).

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

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

При нажатии на «Top sites report» получаем отчет по популярным сайтам за день:

Big files report:

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

Статистика за месяц:

При нажатии на значок с часами сможем увидеть таблицу по сайтам, времени доступа и потребленному в час трафику:

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

При нажатии на значок графика можем увидеть потребление трафика пользователем в течение месяца:

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

При нажатии на [M] получим отчет по потреблению трафика пользователем в течение месяца с указанием объёма за каждый день и за полную неделю.

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

Ну вот вроде бы и всё. Все просто и лаконично. IP-адреса могут быть преобразованы в доменные имена. С помощью регулярных выражений доменные имена могут быть объединены в домены 2-го уровня, на всякий случай привожу регулярное выражение:

$url =~ s/([a-z]+:\/\/)??([a-z0-9\-]+\.){0,}([a-z0-9\-]+\.){1}([a-z]+)(.*)/$3$4/o;

При навыках в perl можно доработать под себя.

SquidAnalyzer


Схожая с lightsquid программа и тоже написана на Perl. Более симпатичное оформление. Последняя на текущий момент версия 6.4 выпущена в в середине декабря этого года, сделано много улучшений. Сайт программы: squidanalyzer.darold.net.

SquidAnalyzer может использовать несколько процессоров компьютера (параметр -j), благодаря чему отчеты делаются быстрее, но это применимо только к несжатым файлам. Для запакованных (поддерживается формат gz) обработка происходит с использованием одного ядра процессора.

И еще одно сравнение с lightsquid: тот же самый отчет на том же самом сервере делался около суток, на диске занимает 3,7 ГБ.

Так же как и lightsquid, SquidAnalyzer не сможет объединить два и более лог-файла с разных серверов за один и тот же период.

ПодробнееГлавная страница — можно выбрать год отчета.

При выборе любого периода (год, месяц, неделя, день) внешний вид веб-страниц будет схожим: сверху меню со следующими отчетами: MIME types, Networks, Users, Top Denied, Top URLs, Top Domains. Чуть ниже статистика прокси за выбранные период: Requests (Hit/Miss/Denied), Megabytes (Hit/Miss/Denied), Total (Requests/Megabytes/Users/Sites/Domains). Далее график по количеству запросов за период и по трафику.

В правом верхнем углу есть календарь. При выборе какого-нибудь месяца можно увидеть краткую статистику и график загрузки по дням:

В календаре есть возможность выбора недели. При выборе увидим похожую статистику:

При выборе дня видим статистику по часам:

Отчет по типу контента:

Отчет по сетям.

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

При выборе пользователя получаем его статистику за период.

Запрещенные ресурсы:

Отчет по доменам 2-го уровня.

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


ScreenSquid


У этой программы другая логика: журнал импортируется в базу данных MySQL, затем данные запрашиваются из нее при работе в веб-интерфейсе. База с обработанным десятидневным логом, упомянутым ранее, занимает 1,5 Гб.ПодробнееПрограмма не может импортировать файлы логов с произвольным именем, привязка только к access.log.

Главная страница:

Краткая статистика:

Для IP-адресов можно создать псевдонимы:

… а потом их можно объединить в группы:

Переходим к основному — отчетам.

Слева меню с типами отчетов:

Трафик пользователей логины
Трафик пользователей IP адреса
Трафик сайтов
Топ сайтов
Топ пользователей
Топ IP адресов
По времени суток
Трафик пользователей логины расширенный
Трафик пользователей IP адреса расширенный
Трафик IP адреса с резолвом
Популярные сайты
Кто качал большие файлы
Трафик по периодам (дни)
Трафик по периодам (имя дня)
Трафик по периодам (месяцы)
HTTP статусы
IP адреса логинов
Логины с IP адресов

Примеры отчетов.

Трафик пользователей IP адреса:

Трафик сайтов:

Топ сайтов:

… далее, если честно, не хватило терпения для изучения возможностей, поскольку страницы стали генерироваться по 3-5 минут. Отчет «по времени суток» за день, лог за который вообще не импортировался, создавался более 30 секунд. За день с трафиком — 4 минуты:



На этом все. Надеюсь, этот материал кому-нибудь пригодится. Всем спасибо за внимание.

Инструкция по установке анализатора логов Squid

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

Так как анализ логов Squid достаточно трудоемок, то, как правило, используют дополнительное ПО — анализатор логов. Его задачей является обработка логов Squid и представление их анализа, как правило в виде публикации на внутренний веб-сервер.

Одной из таких программ является SARG — Squid Analysis Report Generator.

Для того, чтобы SARG мог анализировать и публиковать данные в системе должен быть установлен Прокси-сервер Squid. установить его можно согласно нижеприведенной инструкции. Также для публикации отчетов должен быть настроен любой из веб-серверов, например Nginx. Ссылка на инструкцию.

После того, как Squid и Nginx установлены и настроены можно приступать к SARG:

Установим SARG из соответствующего пакета используя пакетный менеджер Вашей системы. В debian это apt:

apt-get install sarg

Сам SARG настраивается единственным файлом конфигурации /etc/sarg/sarg.conf. его Можно отредактировать любым редактором. Настраивать его несложно. Параметры достаточно подробно расписаны в самом файле конфигурации, либо в интернете. Приведу описание основных параметров и мои параметры:

  • # Генерировать ли графики
    graphs no
  • # Заголовок для страницы отчётов
    title "User Internet Usage Reports"
  • # Временный каталог
    temporary_dir /tmp
  • # Каталог для сгенерированных отчетов. Его будем потом публиковать в Nginx. Если каталога нет, то его необходимо создать используя команду ОС mkdir -p /var/www/html/sarg
    output_dir /var/www/htmp/sarg
  • # Преобразовывать ли IP-адреса в DNS-имена
    resolve_ip no
  • # указывать использовать в отчетах IP адреса
    user_ip yes
  • # Cортировка отчета наиболее активных пользователей
    #Разрешенные поля:
    # Allowed fields: USER CONNECT BYTES TIME
    topuser_sort_field BYTES reverse
  • # Cортировка отчета активности пользователей
    user_sort_field BYTES reverse
  • # Формат даты, используемой в отчетах
    # e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)
    date_format e
  • # Ограничение на количество отчетов. Оставим неделю
    lastlog 7
  • # Очищать temp после генерации
    remove_temp_files yes
  • # Cоздавать ли индексную страницу после генерации
    index yes
  • # Перезаписывать ранее сгенерированных отчеты
    overwrite_report yes
  • # Десятичный разделитель запятая. При no — точка
    use_comma yes
  • # Сортировка индекса отчётов: нисходящий (D[escending]), т.е обратный
    index_sort_order D
  • # Типы отчетов
    report_type topusers users_sites
  • # подробные адреса посещаемых ресурсов
    long_url yes
  • # Кодировка
    charset UTF-8
  • # Указываем выводить округленные отображаемые данные#
    displayed_values abbreviation

Теперь настроим публикацию отчетов через nginx.

Создадим в папке /etc/nginx/sites-available файл конфигурации для sarg, назовем его sarg и добавим в него следующее содержимое:


server {
  #порт для сайта
  listen      *:80;
  server_name sarg.local;
  # Кодировка
  charset 	utf-8;
  # Корень папки с обработанными логами и стартовый файл
  root        /var/www/html/sarg;
  index   	index.html;
  # Смотреть статистику можно только из локальной сети
  location  /  {
    allow   10.0.0.0/8;
    deny    all;
  }
}

Теперь создадим символическую ссылку на нашу новую конфигурацию — это примерный аналог ярлыка в Windows, удалим конфигурацию по-умолчанию и перезапустим nginx.

ln /etc/nginx/sites-available/sarg /etc/nginx/sites-enabled/sarg rm /etc/nginx/sites-available/default systemctl restart nginx

Проверить что все работает можно набрав в браузере http://<имя_или_ip_сервера> . Например http://10.0.0.2

Поделиться в соцсетях:

Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже

Настройка ротации логов Squid в Linux (Debian-like)

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

 

По умолчанию ротация логов в Squid выставлена всего на три дня, поэтому яразобрался как увеличить срок жизни логов и выставить ротацию логов в период одного месяца. В моем случае этого достаточно.

 

Осуществлять ротацию логов мы будем с помощью системной службы logrotate, входящей в состав Debian-like систем.

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

 

Основные настройки logrotate хранятся в /etc/logrotate.conf, настройки отдельных сервисов (в нашем случае Squid) хранятся в /etc/logrotate.d/squid, и эти настройки имеют приоритет над logrotate.conf. Сама служба вызывается раз в сутки через планировщик cron.

 

Нас интересует ротация логов только двух файлов access.log и cache.log. Для файла access.log мы будем раз в месяц выполнять ротацию, а для файла cache.log раз в неделю. Приведем файл конфигурации (/etc/logrotate.d/squid), к виду:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

# Ежемесячная ротация лог-файла accesss.log

/var/log/squid/access.log {

# daily

# weekly

monthly

compress

delaycompress

rotate 2

missingok

nocreate

sharedscripts

postrotate

test ! -e /var/run/squid.pid || test ! -x /usr/sbin/squid || /usr/sbin/squid -$

endscript

}

# Еженедельная&nbsp;ротация лог-файла cache.log

/var/log/squid/cache.log {

# daily

weekly

# monthly

compress

delaycompress

rotate 1

missingok

nocreate

sharedscripts

postrotate

test ! -e /var/run/squid.pid || test ! -x /usr/sbin/squid || /usr/sbin/squid -$

endscript

}

 

Разберем структуру написанного выше подробнее. Первая строка указывает путь к обрабатываемым файлам логов. В данном случае обрабатываются файлы access.log и cache.log в соответствии с указанными ниже опциями:

 

  • daily — задает ежедневную ротацию
  • weekly — задает еженедельную ротацию
  • monthly — задает ежемесячную ротацию
  • compress — указывает сжимать архивные логи, обратная опция nocompress.
  • delaycompress — не сжимать текущий лог до следующей ротации, обычно используется в тех случаях, когда в лог происходит непрерывная запись.
  • rotate 2 — количество ротаций до удаления файла, в данном случае будут храниться два архива.
  • missingok — при отсутствии файла журнала указывает продолжить работу без вывода сообщения об ошибке.
  • nocreate — не создавать новый файл лога.
  • sharedscripts — используется для секций prerotate и postrotate, данная опция указывает исполнять скрипты из этих секций один раз перед и после ротации всех логов, в противном случае скрипты будут исполнены перед и после ротации каждого лога.
  • postrotate —  проверяет, запущен ли squid и запускает ротацию логов самим прокси сервером.

 

Еще возможна секция prerotate, она добавляется автоматически при установке анализатора логов SARG и в случае если файл (/usr/sbin/sarg-reports) существует и является исполняемым, запускает его. В моем случае формирование отчетов в Sarg запускается по cron, поэтому я исключил его из конфигурации.

 

Так как ротацию будем осуществлять исключительно службой logrotate, то файле конфигурации (/etc/squid/squid.conf) squid, указываем:

 

Перезапускаем прокси-сервер Squid для применения изменений:

 

 

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

 

Опубликовано в :  Squid Загрузка…

отчетов прокси-сервера Squid | Анализ журналов прокси-сервера Squid и создание отчетов — ManageEngine Firewall Analyzer

Firewall Analyzer — это инструмент для анализа журналов прокси-серверов Squid. Он анализирует журналы с различных устройств безопасности сетевой периферии, таких как межсетевые экраны, прокси-серверы, IDS, IPS, VPN.

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

Firewall Analyzer также является анализатором логов прокси-сервера Squid. Поскольку прокси-сервер Squid широко используется, Firewall Analyzer (Squid Proxy Log Analyzer) поддерживает журналы прокси-сервера Squid и, следовательно, может предоставлять подробные отчеты прокси-сервера Squid.

Firewall Analyzer полностью поддерживает (Squid) прокси, комбинацию межсетевого экрана и как два отдельных объекта.Приложение действует как анализатор логов Squid и помогает при составлении отчетов по прокси-серверу Squid. Следующие отчеты прокси-сервера Squid генерируются с использованием анализа журнала прокси-сервера Squid.

Прямые отчеты

Отчеты в реальном времени для каждого прокси-устройства показывают минимальный, максимальный и средний объем исходящего трафика через это устройство за определенные периоды времени. Информация о трафике доступна для следующих периодов времени: последний день, последняя неделя, последний месяц и прошлый год со средней детализацией 5 минут, 30 минут, 2 часа и 1 день соответственно.
Исходящая пропускная способность отображается в Кбит / с.

Отчет журнала прокси-сервера Squid — Живые отчеты

Наши технические специалисты готовы помочь вам получить максимальную отдачу от отчетов прокси-сервера Squid.
Запросить демо

Отчет ведущих участников

В отчете «Самые популярные участники» показаны основные узлы и пользователи, генерирующие трафик как в локальной, так и в глобальной сети. Затем вы можете развернуть каждый из этих отчетов, чтобы увидеть самые популярные веб-сайты, URL-адреса и многое другое.

Отчет журнала прокси-сервера

Squid — Top Talkers

Подробный отчет о веб-сайте

Отчет «Сведения о веб-сайте» показывает самые популярные домены, веб-сайты и веб-страницы.вы можете увидеть дополнительную информацию о каждом отчете, такую ​​как самые популярные пользователи, самые популярные URL-адреса и код кэша Squid, перейдя вниз по каждому из графиков.

Отчет журнала прокси-сервера Squid

— сведения о веб-сайте

Сводный отчет об использовании кальмаров

Сводный отчет об использовании Squid показывает подробную информацию о кэше прокси-сервера Squid. Вы можете увидеть сгенерированные верхние коды кеша, коды состояния одноранговых узлов и коды состояния HTTP, а также развернуть, чтобы увидеть дополнительную информацию о хостах и ​​URL-адресах, генерирующих код.

Отчет журнала прокси-сервера Squid — Сводка по использованию Squid

Прокси-сервер

— отчеты по категориям URL

Firewall Analyzer предоставляет отчеты на основе категорий URL-адресов для каждого прокси-сервера. Вы можете получить отчеты по основным категориям разрешенных и запрещенных URL-адресов. Кроме того, в основных категориях вы можете получить такие категории URL-адресов, как социальные сети, прямая трансляция и т. Д. Вы можете развернуть отчеты до наиболее часто используемых URL-адресов, основных источников и основных направлений с количеством обращений к этому URL-адресу.

Firewall Analyzer Отчеты прокси-сервера Squid представляют собой единое решение для управления использованием Интернета вашей организацией. Отчеты помогут вам лучше защитить ваших пользователей от внешних уязвимостей. Загрузите 30-дневную бесплатную пробную версию Firewall Analyzer прямо сейчас!

Избранные ссылки

Прочие особенности

Управление правилами межсетевого экрана

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

Управление соответствием межсетевому экрану

Интегрированная система управления соответствием автоматизирует аудит соответствия вашего брандмауэра. Готовые отчеты доступны для основных нормативных требований, таких как PCI-DSS, ISO 27001, NIST, NERC-CIP и SANS.

Управление журналами межсетевого экрана

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

Мониторинг полосы пропускания в реальном времени

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

Оповещения межсетевого экрана

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

Управление службой межсетевого экрана

MSSP могут размещать несколько арендаторов с эксклюзивным сегментированным и защищенным доступом к их соответствующим данным. Масштабируемость для удовлетворения их потребностей. Управляет межсетевыми экранами, развернутыми по всему миру.

.

Анализатор логов кальмаров FreeBSD

Alter.Org.UA

Парсер Squid-логов и Apache-логов (счетчик трафика)

Alter ([email protected] (удалить X))
на основе кода Тараса Нижника ([email protected] (удалить X))
  • : squidstat_v3.rar / tgz (3,1 Кб / 3,3 Кб)
    Squid ‘.
    • пользователь, IP-адрес пользователя, IP-адрес сервера, родительский прокси
    • ()
    • (TCP_DENIED Squid)
    • ().
    • .
    • -, .
    :
    squidstat.
    -последний                      . .
    - повернуть.  cron  '.
    -d <дата>,
                            <дата> ()
    -d <дата1> - <дата2> - <дата1>
                            <дата2>
    -byip IP.- имя пользователя.
    -l <ЧИСЛО> ЧИСЛО.
    -c <ЧИСЛО> ЧИСЛО.
    -lseek <ЧИСЛО> ЧИСЛО ().
    -день_начало <ЧЧ> ЧЧ
    -ночь_начало <ЧЧ> ЧЧ
    -parent , родительский-proxy 
    -sep_parent - родительский прокси
    -sep_all_parents, родительский прокси
    -носеп -
                                3-
    -nodirect
    -непосредственный
    -ip  IP
    -bytargetip,
     
    <дата>:
    <месяц> -: 1 января, 2 февраля, 3 марта и т. д.0 -
                           -1 -, -2 - - и др.
    <месяц> <день> - (.).
     
История
: squidstat_v1.rar / tgz (2.2 Kb / 2.3 Kb)
2003.11.10

squidstat_v1a.rar / tgz (2.2 Kb / 2.3 Kb)
: -, -byip — ИП.
2003.11.14

squidstat_v3.rar / tgz (3,1 Кб / 3,3 Кб)
…, alfa-inet.kiev.ua.
2006.11.18

.


FB или на почту [email protected] (удалить X) Поделиться
: Изменить (.) : Apache + PHP FBSD © 2002-2020
.

Отправить журналы кальмаров в Graylog | Lisenet.com :: Linux | Безопасность

Использование GELF для отправки журналов Squid в Graylog.

Мы собираемся использовать тот же подход, что и для Apache.

Конфигурация Squid 3.x

Мы собираемся определить новый формат журнала под названием graylog_vhost для форматирования журнала доступа обратного прокси в формат GELF (сообщение JSON):

 logformat graylog_vhost {"версия": "1.1", "host": "% {Host}> h", "short_message": "% rm% ru HTTP /% rv", "level": 6, "timestamp": "% tl", "_ client_ip": "%> a", "_ squid_ip": "% la", "_ server_ip": "%  st "," _ reply_size ":"%  Hs "," _ http_method ":"% rm "," _ http_referer ":"% {Referer} > h "," _ user_agent ":"% {User-Agent}> h "," _ squid_request_status ":"% Ss "," _ squid_hierarchy_status ":"% Sh "," _ from_squid ":" true "} 

Пожалуйста, проверьте http: // www.squid-cache.org/Versions/v3/3.5/cfgman/logformat.html для других доступных аргументов формата.

Ниже представлен удобочитаемый формат:

 {
   "версия": "1.1",
   "host": "% {Host}> h",
   "short_message": "% rm% ru HTTP /% rv",
   «уровень»: 6,
   "отметка времени": "% tl",
   "_client_ip": "%> a",
   "_squid_ip": "% la",
   "_server_ip": "%  st",
   "_reply_size": "%  Hs",
   "_http_method": "% rm",
   "_http_referer": "% {Referer}> h",
   "_user_agent": "% {User-Agent}> h",
   "_squid_request_status": "% Ss",
   "_squid_hierarchy_status": "% Sh",
   "_from_squid": "правда"
} 

Squid может отправлять каждую строку журнала доступа в виде текстовых данных на приемник TCP или UDP.Мы можем использовать его для отправки журналов в Graylog. Следующая строка в файле конфигурации Squid squid.conf выполнит задание:

 access_log udp: //graylog.example.com: 12201 graylog_vhost 

Приведенное выше предполагает, что сервер graylog.example.com имеет входной приемник GELF на порту UDP 12201 .

Список литературы

http://docs.graylog.org/en/2.1/pages/gelf.html
http://www.squid-cache.org/Versions/v3/3.5 / cfgman / access_log.html

Похожие сообщения

Установка Graylog Server 1.x на CentOS 7
Установка Graylog Server 1.x на CentOS 6
Обновление сервера Graylog с 1.3.x до 2.0.x на CentOS 6
Настройка аутентификации MongoDB для Graylog

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *