The OpenNET Project / Index page

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

Подсчет трафика в Squid

19.01.2004 14:51

Станислав Осипов написал статью о подсчете трафика проходящего через Squid используя MySQL.

  1. Главная ссылка к новости (http://www.opennet.me/base/net...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/3317-traffic
Ключевые слова: traffic, squid, mysql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, avial (?), 19:52, 19/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нда. Интересно, и многие новые ядра сразу на рабочие машинки ставят? Неужели история с первыми 2.4.* ничему не научила?
     
  • 1.2, Nikolaev_D (?), 22:07, 19/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >многие новые ядра сразу на рабочие машинки ставят?

    А где там про ядра ?

     
  • 1.3, Zergling (?), 22:13, 19/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    с одной стороны человек потрудился :)
    молодец! для тех кому лень возиться
    и для новичков очень не плохая (делай
    раз, делай два, делай три) статья!
    причем не жадный :) все ... раз и выложил
    а с другой стороны ....
    плохо - очень плохо!!!
    угу а если у нас задача (а так обычно оно и есть)
    отрубать пользователя превысившего лимит а ?
    чего делать тогда ? при такой схеме ?
     
     
  • 2.19, Осипов Станислав (?), 19:47, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >с одной стороны человек потрудился :)
    >молодец! для тех кому лень возиться
    >и для новичков очень не плохая (делай
    >раз, делай два, делай три) статья!
    >причем не жадный :) все ... раз и выложил
    >а с другой стороны ....
    >плохо - очень плохо!!!
    >угу а если у нас задача (а так обычно оно и есть)
    >
    >отрубать пользователя превысившего лимит а ?
    >чего делать тогда ? при такой схеме ?

    читать ман по скуиду и думать.
    я же написал _ПРОСТЕЙШУЮ_ схему.
    додумывайте сами, ибо я дал фундамент, а дома построите сами.
    А то, что не жадный просто говорит о том, что я получаю за свою работу приличные деньги и доволен своей работой.

     

  • 1.4, small (?), 22:16, 19/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не знаю, у меня трафик виндовая прога "запамятовал как она называется великолепно считает"
     
  • 1.5, Nikolaev_D (?), 22:36, 19/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > великолепно считает

    Все считать у нас в стране любят. Пусть файл стоит 1$. Типа я файл скопировал у меня стало 2$.

     
  • 1.6, avial (?), 00:12, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2 Nikolaev_D

    Linux 2.6.0

     
  • 1.7, Алекс (?), 03:54, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да и отрубать можно при такой схеме... :)
    Только чуть-чуть переделать...

    Вся проблема в том, что сквид сбрасывает в лог запись только после того как соединение прекращено. Т.е. если лимит 10 Мб, а пользователь скачал одним куском 1500 Мб, то его отключит после завершения закачки.

     
     
  • 2.11, WizART (?), 08:23, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    В сквиде есть такая штука: cache manager
    Настроив его и выполнив 'squidclient -p $squid_port cache_object://127.0.0.1/active_requests' можно узнать об активных на текущий момент сессиях... в т.ч. и о скачаных объемах, о IP и портах клентского стека TCP/IP.
    Соответственно, можно прикрыть на время этот клиентский IP:порт на прокси правилом reset файлвола.
    Вполне работоспособное решение будет.
     

  • 1.8, RiTmiK (?), 05:55, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Считать траффик только по сквиду и тем более контролировать лимиты - плохая идея. ИМХО проще через правила, или, если надо по пользователям, через VPN.
     
     
  • 2.13, aleks (?), 10:02, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    а как тогда по VPN считать трафик с многопользовательских машин? Если у меня все либо через Windows Terminal Services или x-terminal в интернет выходят и счтитать надо по login'ам?
     
     
  • 3.14, MOByte (?), 11:47, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    У терминала ip есть? По VPN x-terminal нельзя поднять?
     
     
  • 4.17, aleks (?), 17:50, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда? всё исполняется на сервере, а отображается на клиенте. Т.е. все запросы идут с ИП сервера.
     
     
  • 5.23, yarmol (?), 18:16, 21/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >Откуда? всё исполняется на сервере, а отображается на клиенте. Т.е. все запросы
    >идут с ИП сервера.

    Ну тут только по пользователю можно ориентироваться.
    Можно оттолкнуться от системы luta, она где-то на этом сервере анонсировалась. Считает коннекты и трафик по юзерам, но это не учетка, а только счетчики.
    А я, в свое время, обошелся iptables. Просто весь трафик от определенного юзера маскарадился от определенного ip (которого физически не существует).
    В результате, на роутере можно считать трафик по ip в обе стороны (по owner только исходящий), и на роутере-же отрубать кто переходил свои лимиты.

    Ес-сно все эти решения только под линух

     
     
  • 6.24, aleks (?), 12:09, 22/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в том-то и смысл данных систем, что трафик считается не по ИП (тут наработок много и всё прозрачно), а по логинам. Требуется считать только web-трафик и ничего другого. Задача в том, как это делать точно. У меня всё-таки windows более распростанён (скоро на BeTwin перейду). Про LUTA я знал, но это только под linux :( Сейчас смотрю http://apserver.sourceforge.net/ это вроде можно переделать для решения данной задачи.
     

  • 1.9, urpyLLIKa (?), 07:32, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NetFlow - если хочешь считать более или менее правильно трафик.

    Вопрос только какого уровня тебе его считать нужно.

    Статья интересная, но есть недоработки.

    Гигабитный интерфейс - смысл его держать? Коли каналы не толстые у провайдеров и за трафик платить все равно приходится... Хотя для понту - можно :0))

    SQUID дает относительную статистику (незабывай про другие протоколы еще).

     
     
  • 2.18, Осипов Станислав (?), 19:42, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    смысл в гигабитах простой - у нас до провайдера гигабит. Поэтому все ядро нашей сети тоже построено на гигабите.
     

  • 1.10, Игорь (?), 07:41, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне лично проще было решить проблему в лоб. Написал простой cgi - скрипт на С++ и вся проблема. Судя по первому впечатлению от статьи на С++ писать не сложнее.
    К концу месяца считает подолгу. А так никаких проблем. Можно написать демонок и тогда будет считать быстро. Неохота.
     
  • 1.12, Andrey Tuev (?), 09:03, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самая главная проблема в этом решении - ошибка в скрипте для переноса данных MySQL, работать таки образом с логом просто нельзя :)
     
  • 1.15, Дмитрий (?), 14:49, 20/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вам не приходила в голову мысль, что можно взять Freeradius, pppd, внести небольшие изменения в их исходный код и использовать NAT. Достаточно приемлимо. Я сейчас пишу систему подсчета для WIN2k-SERVER и выше. Написал реализацию Freeradius под WIN. =) Считает нормально. Проблема с отключением пользователей(только в версии под WIN2K). Кто хочет принять участие в проекте пишите на мое мыло.
     
     
  • 2.20, Осипов Станислав (?), 19:47, 20/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >А вам не приходила в голову мысль, что можно взять Freeradius, pppd,
    >внести небольшие изменения в их исходный код и использовать NAT. Достаточно
    >приемлимо. Я сейчас пишу систему подсчета для WIN2k-SERVER и выше. Написал
    >реализацию Freeradius под WIN. =) Считает нормально. Проблема с отключением пользователей(только
    >в версии под WIN2K). Кто хочет принять участие в проекте пишите
    >на мое мыло.

    простите, причем тут windows?

     
     
  • 3.21, Дмитрий (?), 00:26, 21/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    >простите, причем тут windows?

    Мдя, не подумал =) Про M$ я наверно зря заговорил, просто в WIN и Linux алгоритм подсчета по схеме, которую я привел выше, во многом совпадает =)
    Ты же не будешь спорить, что подсчет трафика можно реализовать с помощью Remote Authentication Dial In User Service (RADIUS), pppd, iptables.
    Это конечно не относится к Squid, но при помощи него, я бы не стал считать трафик.

     

  • 1.22, oleg (?), 15:44, 21/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    люди, зачем все это?
    веть есть же squid2mysql (http://evc.fromru.com/squid2mysql/index.html) и custom_log patch from squid-cache.org CVS.
    зачем изобретать велосипед с квадратными колесами ? :-)
     
  • 1.25, Аноним (25), 01:51, 23/01/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Проще всего юзат один НАТ. Айпитаблесом все кидать в  юзер-моде прогу, которая в реал-тайме ловит логи кернела (в них все расписано, кто, куда, сколько). Такая прога может логировать все в мускл (для дальнейших анализов), а так же в реал-тайме принимать решения о отрубе инета и т.д.
     
     
  • 2.26, Pavel (?), 16:31, 23/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    И ты можешь привести пример такой проги?
     
     
  • 3.27, Алекс1 (?), 10:17, 25/01/2004 [^] [^^] [^^^] [ответить]  
  • +/
    FreeBSD+UTM - вот решение всех проблем.
     
  • 3.28, anonymous (?), 07:18, 29/02/2004 [^] [^^] [^^^] [ответить]  
  • +/
    netams

     

  • 1.29, Аноним (25), 00:20, 27/03/2004 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    analog.cx отлично считает отчет по юзерам если лог пишется сквидом в режиме совместимости с httpd
     

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



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

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