The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите с биллингом"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Настройка Squid и других прокси серверов (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите с биллингом"  
Сообщение от little_roo email(ok) on 06-Апр-07, 16:13 
   Добрый день.

У нас сейчас для учета телефонии и инета используется ipsoft+ барсун.

Хотел бы считать голосовой траффик и инет на каком нибудь решении на базе Squid.

Главная задача  - это удобная работа со статистикой.

Может кто используется хорошее решение и подскажет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Помогите с биллингом"  
Сообщение от Allan_Sundry email(ok) on 10-Апр-07, 12:04 
>   Добрый день.
>
>У нас сейчас для учета телефонии и инета используется ipsoft+ барсун.
>
>Хотел бы считать голосовой траффик и инет на каком нибудь решении на
>базе Squid.
>
>Главная задача  - это удобная работа со статистикой.
>
>Может кто используется хорошее решение и подскажет.


Могу подсказать решение касательно работы со статистикой - необходимо написать скрипт для введения логов squid в mysql и дальше обрабатывать данные непосредственно в mysql. Срипт можно найти готовый или написать самостоятельно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помогите с биллингом"  
Сообщение от little_roo email(ok) on 11-Апр-07, 11:17 
   ДА если это возможно - было бы супер

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помогите с биллингом"  
Сообщение от Allan_Sundry email(ok) on 11-Апр-07, 11:46 
>   ДА если это возможно - было бы супер

Скрипт вносит данные из access.log squid в БД mysql.

Перед запуском скрипта необходимо:
1. создать БД в mysql. В БД должна быть таблица access c столбцами time, duration, ip, result, bytes, request, url, login, domen, hierarchy, type
2. срипт и все файлы отрабатывают в папке /usr/squid2mysql/ - в случае запуска из другой папки необходимо изменить пути в скрипте.
3. создать файл access.csv
4. скопировать access.log в access.tmp.

#!/usr/local/bin/perl

# соединение с БД
use Mysql;
$host = 'имя_сервера_с_БД';
$database = 'имя_БД';
$user = 'имя_пользователя';
$password = 'пароль_пользователя';
$dbh = Mysql->Connect($host,$database,$user,$password);

# обработка логфайла и внесение данных в БД
# access.tmp - копия access.log, как вариант после squid -k rotate
open(ACCESS,"/usr/squid2mysql/access.tmp");
while (<ACCESS>)
{
chop;
@a = split ' ';
$_=$a[0];

        if ($_=@a[6])
        {
        # убираем некоректные символы из запрашиваемого линка перед внесением в БД
        s/\\/_slash_/g;
        s/\"/_quote_/g;
        s/\'/_apos_/g;
        s/\`/_rapos_/g;
        @a[6]=$_;

        # выделение доменов из запрашиваемой пользователем ссылки (потом можем парсить интересы пользователей сравнивая с БД из редиректора rejik)
        s/(h).*?(\/\/)//;
        s/(h).*?(\/\/)//;
        s/www.//;
        s/(\/).*?($)//;
        s/(:).*?($)//;
        @a[10]=$_;
        }

# формируем csv файл для загрузки в БД (200Mb у меня вносится в БД в течении 5 секунд)
open(CSV,">>/usr/squid2mysql/access.csv");
        if (@a[0]!='')
        {
        print CSV "@a[0];@a[1];@a[2];@a[3];@a[4];@a[5];@a[6];@a[7];@a[10];@a[8];@a[9];\n";
        }
close (CVS);

}

# внесение информации в БД из сформированного файла
$sql = "LOAD DATA INFILE '/usr/squid2mysql/access.csv' INTO TABLE access FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n'";
$dbh->Query($sql);

#$dbh = Mysql->disconnect();
close (ACCESS);
exit;

Если интересно - могу добавить скрипт внесения в БД url из БД rejik.

Заранее приношу простить за допущенные ошибки недоработки т.к. я все еще работаю над данным скриптом.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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