igNix.ru
Опубликовано igNix.ru (http://www.ignix.ru)

Главная > Версия для печати > Версия для печати

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:  garga@FreeBSD.org
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 самый работящий!

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

Дополнительные материалы
Ссылки: 
Ветка форума
Ваша оценка: Нет Средняя: 5 (2 голоса)

Источник (получено 15/06/2025 - 23:41): http://www.ignix.ru/public/daemon/sarg