Настройка SARG
11.08.2010 - 09:30
Далее для того, что бы Sarg подсчитывал трафик только за сутки необходимо запускать его с помощью скрипта:
Необходимо было анализировать логи Squid proxy-сервера.. кто, куда и сколько. Для этого есть хороший анализатор логов SARG, который парсит логи сквида и выводит красиво через web-морду. И так поехали..
Обновляем порты, и устанавливаем sarg:
[root@router ~]# cd /usr/ports/www/sarg
[root@router /usr/ports/www/sarg]# make config && make install && make clean
[root@router /usr/ports/www/sarg]# make config && make install && make clean
В Options for sarg выбираем:
[X] GD Enable GD support
После установки идем править конфиг:
[root@router /]# cd /usr/local/etc/sarg
[root@router /usr/local/etc/sarg]# cat sarg.conf
[root@router /usr/local/etc/sarg]# cat sarg.conf
temporary_dir /tmp
#путь куда по дефолту будут генерироваться отчеты
output_dir /usr/local/www/data/statistic/http_stat
max_elapsed 28800000
#язык по умолчанию
language Russian_koi8
#путь к логу сквида
access_log /usr/local/squid/logs/access.log
#отображать ли графики?
graphs yes
graph_days_bytes_bar_color orange
#надпись на главной
title "proxy.local"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 10px
header_font_size 10px
title_font_size 11px
background_color white
text_color #000000
text_bgcolor blanchedalmond
title_color green
logo_image none
logo_text_color #000000
background_image none
#переводить ip в имена
resolve_ip yes
#lastlog 0
index yes
#файлы будут переписываться один поверх другого
overwrite_report yes
#output_email erasha@domain.ru
#кодировка по умолчанию
charset Koi8-r
show_successful_message yes
show_read_statistics yes
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
#show_sarg_info yes
#show_sarg_logo yes
date_format e
# Указывем ip-адреса с которых ненужно собирать статистику.
exclude_users /usr/local/etc/sarg/exclude_users
#exclude_hоsts /usr/local/etc/sarg/exclude_hosts
# Прописываем пары: ip - name_user, для отображения по имени.
usertab /usr/local/etc/sarg/usertab.txt
#путь куда по дефолту будут генерироваться отчеты
output_dir /usr/local/www/data/statistic/http_stat
max_elapsed 28800000
#язык по умолчанию
language Russian_koi8
#путь к логу сквида
access_log /usr/local/squid/logs/access.log
#отображать ли графики?
graphs yes
graph_days_bytes_bar_color orange
#надпись на главной
title "proxy.local"
font_face Tahoma,Verdana,Arial
header_color darkblue
header_bgcolor blanchedalmond
font_size 10px
header_font_size 10px
title_font_size 11px
background_color white
text_color #000000
text_bgcolor blanchedalmond
title_color green
logo_image none
logo_text_color #000000
background_image none
#переводить ip в имена
resolve_ip yes
#lastlog 0
index yes
#файлы будут переписываться один поверх другого
overwrite_report yes
#output_email erasha@domain.ru
#кодировка по умолчанию
charset Koi8-r
show_successful_message yes
show_read_statistics yes
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
#show_sarg_info yes
#show_sarg_logo yes
date_format e
# Указывем ip-адреса с которых ненужно собирать статистику.
exclude_users /usr/local/etc/sarg/exclude_users
#exclude_hоsts /usr/local/etc/sarg/exclude_hosts
# Прописываем пары: ip - name_user, для отображения по имени.
usertab /usr/local/etc/sarg/usertab.txt
[root@router ~]#cat /usr/local/etc/sarg/usertab.txt
192.168.0.153 Chepur
192.168.0.35 Leschenko
192.168.0.89 Melanich
192.168.0.9 Valery
192.168.0.46 Sekretar
192.168.0.35 Leschenko
192.168.0.89 Melanich
192.168.0.9 Valery
192.168.0.46 Sekretar
Далее для того, что бы Sarg подсчитывал трафик только за сутки необходимо запускать его с помощью скрипта:
[root@router ~]#cat /usr/local/bin/sarg_1
#!/bin/sh
dat=`date +%d/%m/%Y`
dats="$dat-$dat"
/usr/local/bin/sarg -d $dats
dat=`date +%d/%m/%Y`
dats="$dat-$dat"
/usr/local/bin/sarg -d $dats
который скармливаем крону:
[root@router /etc]# cat crontab | grep sarg
*/30 * * * * root /usr/local/bin/sarg_1 > /dev/null 2>&1
#*/30 * * * * root /usr/local/bin/sarg > /dev/null 2>&1
*/30 * * * * root /usr/local/bin/sarg_1 > /dev/null 2>&1
#*/30 * * * * root /usr/local/bin/sarg > /dev/null 2>&1
В apache нужно добавить алиас на Sarg:
Alias /sarg "/usr/local/www/data/statistic/http_stat/"
<Directory "/usr/local/www/data/statistic/http_stat/">
Order deny,allow
Allow from all
</Directory>
<Directory "/usr/local/www/data/statistic/http_stat/">
Order deny,allow
Allow from all
</Directory>
В результате получим вот такую страницу статистики:
- Войдите на сайт для отправки комментариев
- Версия для печати
для того если приспичет через сарг парсить 3proxy то надо подправить формат лога
ну и ротацию настроить
и не придётся городить скрипты