The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка автоматического подсчета трафика для Squid при помощи Sarg. (squid sarg traffic statistic)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: squid, sarg, traffic, statistic,  (найти похожие документы)
From: s2 <lip@lip.kiev.ua.> Newsgroups: email Date: Mon, 20 Feb 2006 14:31:37 +0000 (UTC) Subject: Настройка автоматического подсчета трафика для Squid при помощи Sarg. Настройка автоматического подсчета трафика.(Squid, Sarg.) Задание: Вести подсчет трафика, который проходит через Squid. Запрещать доступ пользователям, которые превысили лимит. У меня:
  • FreeBSD 5.4-Release
  • Apache-2
  • Squid-2.5.10_20050819
  • Sarg-2.1: советую использовать этот, так как в 2.0.9 неправильно происходил подсчет.
  • 2-ве локальные сети(192.168.1.0/24 и 192.168.2.0/24) Конфиг Squid (squid.conf) #слушаются только внутренние адреса http_port 192.168.1.1:3128 http_port 192.168.2.1:3128 http_port 127.0.0.1:3128 #отключены ICP запроси icp_port 0 #параметры которые стоят по дефолту hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY #обьем памяти по дефолту соит 8 cache_mem 12 MB #Default: # cache_dir ufs /usr/local/squid/cache 100 16 256 cache_dir ufs /usr/local/squid/cache 256 16 256 dns_nameservers 127.0.0.1 auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive on auth_param basic realm Access Squid auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/squid.users # squid.users файл где лежат логины и пароли к доступу к squid # заносятся юзеры при помощи команды htaccess (man htaccess) #Suggested default: refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 #Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 22 # ssh acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager # Deny requests to unknown ports http_access deny !Safe_ports # Deny CONNECT to other than SSL ports http_access deny CONNECT !SSL_ports #блокировка баннеров acl nobanners src 0/0 acl banners url_regex "/usr/local/etc/squid/banners.acl" http_access deny nobanners banners deny_info http://192.168.1.1/empty.jpg banners #блокировка юзеров которые превысили лимит (файл user-deny), #и разрешение этим юзерам только к тем IP которие перечислины в файле host.acl acl aolaccess dst "/usr/local/etc/squid/host.acl" acl users proxy_auth REQUIRED acl banusers proxy_auth "/home/blabla/user-deny" http_access allow aolaccess banusers http_access deny banusers http_access allow users http_access deny all #Default http_reply_access allow all miss_access allow users visible_hostname bla-bla.yourhostname coredump_dir /usr/local/squid/cache Ниже приведен список адресов к которым разрешен доступ юзерам которые привысили лимит по трафику.(ICQ.Ukr.net etc) host.acl 205.188.0.0/16 64.12.0.0/16 195.248.0.0/16 213.133.0.0/16 212.42.0.0/16 195.214.0.0/16 Файл блокирующий баннеры banners.acl /banner/ .banner. /bannex/ .bannex. /baner/ .baner. /banners/ .banners. .sex. /sex/ /erotic/ .erotic. /porn/ .porn. banpics us.yimg.com [./]ad[s]?[./] ad0.bigmir.net ad1.bigmir.net ad2.bigmir.net ad3.bigmir.net ad4.bigmir.net ad5.bigmir.net ad6.bigmir.net ad7.bigmir.net ad8.bigmir.net ad2.rambler.ru /cgi-bin/banner advert adverts banner.linkexchange.com bs.yandex.ru/count/ hotlog.ru/cgi-bin/hotlog/count pics.rbc.ru/rbcmill/img/ top.list.ru/counter spylog.com/cn top100-images.rambler.ru/top100/banner counter.rambler.ru/top100.cnt ad*.lbn.ru/bb.cgi ad4.bannerbank.ru/bb.cgi b*.abn.com.ua mbn.com.ua webex.ru/bn/tbe bigbn.com.ua i.bigmir.net c.bigmir.net abnad.net top.bigmir.net ar.atwola.com/link/ ar.atwola.com/image ^http://banners.rambler.ru/advert/.*.gif ^http://www.abn-ad.com/l* ^http://kulichki.rambler.ru/reklama/banners/.*.gif ^http://www.*.yandex.ru/cgi-bin/banner/* ^http://www1.reklama.ru/cgi-bin/banner/* ^http://www.reklama.ru/cgi-bin/banner/* ^http://www.reklama.ru/cgi-bin/href/* ^http://www.100mb.net/images/ban/banner.*.gif ^http://www.bizlink.ru/cgi-bin/irads.cgi.* ^http://www.linkexchange.ru/cgi-bin/rle.cgi ^http://www.linkexchange.ru/users/.*/goto.map ^http://www.netcq.com/banners/banner.gif ^http://1000.stars.ru/cgi-bin/1000.cgi ^http://213.133.165.94/* Обновленную версию файла блокирующего баннеры можно скачать здесь: lip.kiev.ua/file/banners.acl Файл со списком юзеров которым запрещен доступ user-deny vasia petya bla-bla Конфиг Sarg Если вы хотите использовать в статистике вывод графики, у вас должен быть установлен gd пакет A graphics library for fast creation of images sarg.conf language Russian_koi8 #Файл squd где хранится статистика по юзерам access_log /usr/local/squid/logs/access.log graphs yes graph_days_bytes_bar_color red title "Stats only Internet" font_face Arial header_color darkblue header_bgcolor blanchedalmond font_size 9px header_font_size 9px title_font_size 11px background_color white text_color #000000 text_bgcolor lavender title_color green logo_text_color #000000 image_size 80 45 #директория куда помещаются отчеты #в апаче нужно прописать этот путь #типа Alias /sarg "/usr/local/www/sarg/squid-reports" output_dir /usr/local/www/sarg/squid-reports user_ip no #файл где указываются IP или DNS имена сайтов которые мы не хотим считать #это могут быть локальные etc exclude_hosts /usr/local/sarg/hosts date_format e #задаем квоту на 300 Мб тобиш юзеры которые #закачали больше 300 Мб попадают в файл #user-deny который смотрит squid per_user_limit /home/blabla/user-deny 300 remove_temp_files yes index yes overwrite_report yes topsites_num 100 topsites_sort_order CONNECT D index_sort_order D exclude_codes /usr/local/sarg/exclude_codes max_elapsed 28800000 date_time_by bytes show_sarg_info yes show_sarg_logo yes displayed_values bytes user_authentication yes #авторизация в отчеты юзеров можна зайти только каждый в свой отчет #и нужно создать в файле squid.users юзера admin он #может заходить в любые отчеты AuthName "Internet" AuthType Basic AuthUserFile /usr/local/etc/squid/squid.users require user %u /usr/local/sarg/hosts 192.168.1.1 192.168.2.1 Google.com Итак конфиги настроены нужно их синхронизировать и автоматизировать. Делаем файл /home/blabla/sarg.sh , и добавляем его в /etc/crontab 30 8,9,10,12,14,16,18,23 * * * root /home/blabla/sarg.sh > /dev/null sarg.sh #!/bin/sh squidcom='./squid.sh reload' cd /usr/local/www/sarg/squid-reports rm -R * data=`date "+%d/%m/%Y"` sarg -d 1/01/2006-$data cd /usr/local/etc/rc.d $squidcom exit Итак Sarg проанализировав access.log выводит репорт который мы смотрим через WEB. Юзеры которые провинились попадают в файл /home/blabla/user-deny, в сквиде мы создали правило юзеры которые находятся в этом файле не пускать в инет, а пускать только в аську и etc. Каждый месяц я чищу папку /usr/local/www/sarg и меняю в файле sarg.sh месяц от которого сарж будет считать трафик. Есть маленькая проблема нету градации по юзерам, например оному юзеру нужно выделить 30M а другому 300M, я на php написал скрипт если кумуто понадобится он здесь lip.kiev.ua Смысл этого скрипта: он делает файл user-deny с градацией по лимиту. Его нужно добавить в крон (ban.sh) и поправить в squid.conf путь к user-deny, тогда уже не надо параметр per_user_limit /home/blabla/user-deny 300 и скрипт sarg.sh будет выглядеть так sarg.sh #!/bin/sh cd /usr/local/www/sarg/squid-reports rm -R * data=`date "+%d/%m/%Y"` sarg -d 1/01/2006-$data exit

  • << Предыдущая ИНДЕКС Правка src / Печать Следующая >>

    Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, frad (?), 01:27, 20/03/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    люди htaccess в какой пакет входит? Думал в Apache 2, но там его нет (в Squid'е и sarg'е тоже нет). Подскажите где искать
     
     
  • 2.2, Semargl (?), 09:30, 24/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    .htaccess - это название текстового файла)
    http://www.multyportal.com/wma/doc/apacheadminhtaccess.htm
     
  • 2.3, Quadrik (?), 10:19, 24/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    В линухе (по крайней мере Suse) вместо программы htaccess будет htpasswd2.
     
  • 2.4, Semargl (?), 11:06, 24/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    .htaccess - это не программа, а текстовый файл из конигурации апача, для задания дополнительных опций, в том числе и для разграничения доступа пользователей, к различным поддиректориям www сервера, в том числе и по паролю. А пароль задаеться с помощью утилиты htpasswd2, которая идет стандартно в поставке Apache2))
     
     
  • 3.5, Quadrik (?), 11:11, 24/03/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >.htaccess - это не программа, а текстовый файл из конигурации апача, для
    >задания дополнительных опций, в том числе и для разграничения доступа пользователей,
    >к различным поддиректориям www сервера, в том числе и по паролю.
    >А пароль задаеться с помощью утилиты htpasswd2, которая идет стандартно в
    >поставке Apache2))

    Извиняюсь за дезинформацию, фрибсд не знаю

     

  • 1.6, m (??), 23:25, 07/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    форма авторизации почемуто выходит очень медленно
     
  • 1.7, pupkin (?), 16:45, 09/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    При просмотре статистики отображается только старая статистика по траффику, хотя сбор идет и каталоги на веб-сервере для ежедневной, месячной и недельной статистики создаются. В index.html в корне виртуального хоста не прописываются ссылки на эти каталоги. В чем может быть дело?

    Было обновление саржа до версии 2.0.8 в ноябре. До февраля все работало. А потом перестало. ОС - Gentoo.

     
     
  • 2.8, koly68 (ok), 13:22, 26/04/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >При просмотре статистики отображается только старая статистика по траффику, хотя сбор >идет и каталоги на веб-сервере для ежедневной, месячной и недельной статистики >создаются. В index.html в корне виртуального хоста не прописываются ссылки на эти >каталоги. В чем может быть дело?


    Это новая ошибка не создается index.html.Скачай патч где-то видел.

     

  • 1.9, cj (?), 09:53, 10/05/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    народ, а кто нить пробывал разграничивать таким образом доступ, только что бы юзеры брались с АД?
     
     
  • 2.11, kiby (?), 09:55, 22/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Да, пробовал, работает нормально. Пользователи берутся с АД, а блокируются в текстовом файлике на проксе
     
     
  • 3.26, shershun4ik (?), 07:22, 17/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А как делал разграничение доступа к статистике? Ведь пользователи не должны иметь доступа к чужой статистике. Если по доменным акаунтам, расскажи, пожалуйста, как. Мне ничего путного в голову не идет.

     
     
  • 4.27, zombie32 (?), 07:37, 17/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А как делал разграничение доступа к статистике? Ведь пользователи не должны иметь
    >доступа к чужой статистике. Если по доменным акаунтам, расскажи, пожалуйста, как.
    >Мне ничего путного в голову не идет.

    средствами sarg ты сможешь сделать только разграничение доступа по айпишникам (там создается htaccess в котором Require <привязанный к айпишнику логин>)... если хочешь разграничить доступ по доменным аккаунтам - придётся самому писать скрипт для генерации файлов htaccess...

     
  • 4.28, Quadrik (?), 07:46, 17/09/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А как делал разграничение доступа к статистике? Ведь пользователи не должны иметь
    >доступа к чужой статистике.

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

    P.S. вы всё ещё верите отчетам sarg? Более лживого счетчика трафика, пожалуй, не найти.

     

  • 1.10, def (??), 19:00, 10/05/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    exclude_hosts не работает, проверено на sarg 2.1
     
  • 1.12, scorp (??), 13:37, 26/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а как сделать так, чтобы блокировка пользователей была не по авторизации, а по IP???
    раздаю пользователям инет по IP...
     
     
  • 2.13, s2 (??), 00:04, 30/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    типа прописать правило
    acl denyuser srс "/usr/local/etc/squid/hostdeny.acl"
    http_access deny denyuser

    где в hostdeny.acl
    ----cut hostdeny.acl---
    192.168.1.20
    192.168.1.21
    ----end---

     
     
  • 3.15, Quadrik (?), 14:59, 11/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    интересный хак... но надо писать разработчикам
     

  • 1.14, freddy (??), 14:43, 11/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня сарг 2.2.1 и юзеры в сквид ходят по своим постоянным IP.

    сарг создает каталоги следующего вида:
    /var/www/sarg/ONE-SHOT/03Jul2006-05Jul2006/192.168.0.56/
    в которых лежит такой .htaccess :

    AuthUserFile /etc/httpd/.htpasswd
    AuthName "SARG, Restricted Access"
    AuthType Basic
    <Limit GET POST>
    user admin 192.168.0.56
    </LIMIT>

    теперь при доступе клиента к этому каталогу для просмотра своей статистики,должно появлятся окно авторизации. Но оно не появляется,а браузер выдает ошибку.

    Нужно в .htaccess выгружать директивы в виде

    <Limit GET POST>
    Require user admin 192.168.0.56
    </LIMIT>

    Должно быть слово Required  !!!


    В сарге 2.2 ,видимо, допущена ошибка.  

    Но я его обхитрил,поставив в /etc/sarg/sarg.conf в директиве

    Require user admin %u

    два слова Require:

    Require Require user admin %u

    и теперь в /htaccess все правильно

    <Limit GET POST>
    Require user admin 192.168.0.56
    </LIMIT>

    и окошко для ввода пароля появляется!

     
  • 1.16, s2 (??), 22:29, 17/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    (:
    лучше напиши разработчику
     
  • 1.17, Владимир Л (?), 14:28, 18/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В отчете Sarg указываются IP хостов в то-же время в sarg.conf имеется возможность назначить конкретное имя айпишнику. Вот только непонятно прокомментировано. По умолчанию стоит #username none. Я поставил usertab /usr/local/etc/sarg/myusertab
    где myusertab - текстовый файл по одноимённому пути в виде  192.168.112.80  Виктор
                 192.168.112.81  Фёдор
               и т.д.
    так эта хрень не работает. Всё равно IPшники в отчёте! Может кто делал подобное?    
     
     
  • 2.19, Victor (??), 08:07, 20/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    В sarg.usertab или в myusertab пишем
    192.168.112.81 Фёдор
    с одним пробелом :)
    после этого у меня заработало.

    А вот сейчас пытаюсь разобраться как отсортировать
    отчет index.html по датам. Типа такого:

    Период     
    01Mar2006-01Apr2006
    01Apr2006-01May2006
    01May2006-01Jun2006
    01Jun2006-01Jul2006
    01Jul2006-01Aug2006

    Почему-то куда хочет, туда и добавляет новый месяц.

     

  • 1.18, Zont (?), 16:46, 18/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    SARG устарел марально и функционально!

    юзайте lightsquid - это шаг в перёд по сравнению с sarg.
    http://lightsquid.sourceforge.net/wakka/wakka.php?wakka=HomePage

    и в портах фри

     
     
  • 2.20, Anteo (?), 18:47, 12/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    тлько что попробовал.
    Совершенно согласен
     
  • 2.21, def (??), 07:39, 16/10/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >SARG устарел марально и функционально!
    >
    >юзайте lightsquid - это шаг в перёд по сравнению с sarg.
    >http://lightsquid.sourceforge.net/wakka/wakka.php?wakka=HomePage
    >
    >и в портах фри

    Спасибо!

     

  • 1.22, Smax (ok), 10:52, 14/12/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    у меня sarg не создает файлы .htacces в чем может быть дело
    user_authentication yes
     
  • 1.23, Dmitry U. Karpov (?), 18:36, 12/02/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор явно не знаком с принципами регэкспов (регулярных выражений). Если файл banners.acl содержит регэкс-шаблоны, то точки надо бэкслэшить, т.к. в регэкспах точки играют ту же роль, что вопр.знаки в шаблонах имён файлов - заменяют собой один любой символ.

    Кроме того, можно записывать это более компактно:
    [/.](banne[rx]|baner|banners)[/.]
    (это вместо первых восьми строчек).

    И наконец, не следует смешивать вместе баннеры и порнуху, т.к. наверняка найдётся начальник, который захочет смотреть порнуху без баннеров (т.е. порнуху и баннеры надо разнести в разные ACL).

     
     
  • 2.25, kiba (??), 08:25, 25/08/2008 [^] [^^] [^^^] [ответить]  
  • +/
    а разве точка не входит в множество любых символов?
     

  • 1.24, Антон (??), 19:52, 16/09/2007 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я не силен в bash, но мне кажется, что сделать раздельные лимиты для пользователей проще следующим скриптом:

    #/bin/sh

    defaultlimit=1000000
    squidcom='/etc/init.d/squid reload'
    userlist='./userlist'


    unlink blocklist

    sarg -e stdout > /tmp/sarginfo
    sed -e '1,/---------/D' -i /tmp/sarginfo
    sed -e '/---------/,10000D' -i /tmp/sarginfo
    cat /tmp/sarginfo |
            while read no userid connect bytes bytespercent elapsedtime milisec timepersent ; do
                    bytes='echo $bytes | sed s/[.]//g'

                    str='grep $userid $userlist'
                    limit='echo $str | sed 's/\(\<[^ ]*\>\)\([ ]*\)\(\<[^ ]*\>\)/\3/g''

                    if test -z "$limit" ; then
                            limit=$defaultlimit
                    fi

                    if test "$bytes" -gt "$limit" ; then
                            echo $userid >> blocklist
                    fi
            done
    unlink /tmp/sarginfo

    $squidcom

    Файл userlist в виде:
    пользователь лимит

     
  • 1.29, Игорь (??), 11:32, 17/03/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где можно поискать расшифровку столбиков отчетов по SARG. Больше всего меня интересует IN-CACHE-OUT. Что это?
    И в access.log считается только входящий траффик или исходящий тоже?
     
  • 1.30, Qwe (?), 09:51, 04/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://www.opennet.dev/base/net/squid_sarg_script.txt.html

    Формат странички логов:

    Подключений - кол-во обращений к сквиду с этого ip
    Байт - кол-во переданных байт с прокси.
    % Байт - процент от общего трафика сквида в байтах, приходящихся на этого абонента.
    IN-CACHE-OUT IN - процент байт, которые клиент получил из кэша OUT-процент байт,
                      которые были стянуты снаружи. только чего-то результирующий процент
                      не сходится :). Буду думать. в доке нет. Возможно они просто берут
                      среднее арифметическое, а не считают сложный процент.
                      (не знаю, как алгоритм реализован).
    Общее время - сколько пользователь в онлайне прообитал
    миллисек - Сколько всего миллисекунд потратил сквид на обработку его запросов.

    Самое интересное поле это IN-CACHE-OUT поле IN это эффективность прокси.
    Можно уменьшить его на пару процентов и получаем реальную эффективность.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру