Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: fet4 от 12 Мая 2015, 22:37:35



Название: Ipcad и rsh
Отправлено: fet4 от 12 Мая 2015, 22:37:35
Привет!
Помогите разобраться, не правильно собирается трафик. Входящий не считается(
Код:
[120.065577: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::load_users(343) Db.pm::sql(133) Db.pm::sql(320)]
SELECT uid,INET_NTOA(ip) AS ip FROM ip_pool WHERE uid<>0
Строк: 1. Время выполнения sql: 0.0004 сек

[120.066143: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::load_users(350) Db.pm::sql(133) Db.pm::sql(320)]
SELECT * FROM nets WHERE priority>0 ORDER BY priority
Строк: 2. Время выполнения sql: 0.0001 сек

[122.375422: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(103) Db.pm::line(143) Db.pm::sql(133) Db.pm::sql(320)]
SELECT UNIX_TIMESTAMP() AS t
Строк: 1. Время выполнения sql: 0.0002 сек

[122.376241: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(115) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
CREATE TABLE IF NOT EXISTS X2015_5_12 (
  `uid` mediumint(9) NOT NULL default '0',
  `iface` tinyint(4) NOT NULL default '0',
  `time` int(11) unsigned NOT NULL default '0',
  `class` tinyint(4) NOT NULL default '0',
  `in` bigint(20) unsigned NOT NULL default '0',
  `out` bigint(20) unsigned NOT NULL default '0',
  KEY `uid` (`uid`),
  KEY `time` (`time`)
) ENGINE=MyISAM;

Строк: 0. Время выполнения sql: 0.0002 сек

[122.376920: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(116) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
CREATE TABLE IF NOT EXISTS Z2015_5_12 (
  `uid` int(10) unsigned NOT NULL DEFAULT '0',
  `time` int(10) unsigned NOT NULL DEFAULT '0',
  `bytes` int(10) unsigned NOT NULL DEFAULT '0',
  `direction` tinyint(4) unsigned NOT NULL DEFAULT '0',
  `class` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `uip` int(10) unsigned NOT NULL DEFAULT '0',
  `ip` int(10) unsigned NOT NULL DEFAULT '0',
  `port` smallint(5) unsigned NOT NULL DEFAULT '0',
  `proto` smallint(5) unsigned NOT NULL DEFAULT '0',
  KEY `time` (`time`)
) ENGINE=MyISAM;

Строк: 0. Время выполнения sql: 0.0002 сек

[122.377307: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(118)]
Опрос обработчиков коллекторов

[124.382699: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(138)]
Получили данные от ipcad:127.0.0.1

[124.383152: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(150)]

   Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF
 10.192.0.1       239.255.255.250        6          966  53431  1900    17 ppp0
 8.8.8.8          10.192.0.1            59         3540      0     0     1 ppp0
 10.192.0.1       8.8.8.8               59         3540      8     0     1 ppp0

Accounting data age is     1
Accounting data age exact 60
Accounting data saved 1431463474


[124.383630: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(232)]
input: 10.192.0.1       239.255.255.250        6          966  53431  1900    17 ppp0
 uid: 1. 10.192.0.1 -> 239.255.255.250. Cls: 1

[124.383959: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(204)]
8.8.8.8 не принадлежит ни одному клиенту в базе

[124.384331: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(232)]
input: 10.192.0.1       8.8.8.8               59         3540      8     0     1 ppp0
 uid: 1. 10.192.0.1 -> 8.8.8.8. Cls: 1

[124.384902: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(251) collectors.pm::long_sql(336)]
INSERT INTO traflost (time,traf,collector,ip1,ip2) VALUES ... (rows: )

[124.385811: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(280) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
UPDATE users_trf SET actual=0 , in1=in1+'0', out1=out1+'4506' WHERE uid='1'
Строк: 1. Время выполнения sql: 0.0003 сек

[124.386438: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(282) collectors.pm::long_sql(336)]
INSERT INTO X2015_5_12 (uid,iface,class,time,`in`,`out`) VALUES ... (rows: 5)

[124.387121: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(285) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
UPDATE users_trf SET traf1=in1+out1
Строк: 1. Время выполнения sql: 0.0003 сек

[124.387767: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(286) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
UPDATE users_trf SET traf2=in2+out2
Строк: 1. Время выполнения sql: 0.0002 сек

[124.388378: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(287) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
UPDATE users_trf SET traf3=in3+out3
Строк: 1. Время выполнения sql: 0.0002 сек

[124.388969: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(288) Db.pm::do(157) Db.pm::sql(133) Db.pm::sql(320)]
UPDATE users_trf SET traf4=in4+out4
Строк: 1. Время выполнения sql: 0.0002 сек

[124.389518: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(292) Db.pm::sql(133) Db.pm::sql(320)]
SELECT g.grp_maxflow, u.id FROM user_grp g LEFT JOIN users u ON g.grp_id=u.grp WHERE g.grp_maxflow>0 AND u.state<>'off'
Строк: 0. Время выполнения sql: 0.0001 сек

[124.390054: nokernel.pl(128) tasks.pm::run(70) tasks.pm(70) collectors.pm::chk_collectors(139) collectors.pm::parse_traf(312)]
{
  'tm_start' => '13801.450493039',
  'tm_parse' => '0.002',
  'tm_save_traf' => '0.00325221400089504',
  'lines' => 9,
  'err_lines' => [
    'Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF',
    'Accounting data age is     1',
    'Accounting data age exact 60',
    'Accounting data saved 1431463474'
  ],
  'no_usr_traf' => 1,
  'err_lines_c' => 4,
  'size' => 413
};


Код:
~# rsh 0 show ip acco

   Source           Destination    Packets        Bytes  SrcPt DstPt Proto   IF
 157.56.141.114   10.192.0.1            11         7172    443 49697     6 ppp0
 10.192.0.1       157.56.141.114         9         1442  49697   443     6 ppp0
 157.56.141.114   10.192.0.1            11         7492    443 49696     6 ppp0
 10.192.0.1       157.56.141.114         9         1474  49696   443     6 ppp0
 157.56.141.114   10.192.0.1            11         7492    443 49695     6 ppp0
 10.192.0.1       157.56.141.114        10         1514  49695   443     6 ppp0
 172.30.0.1       10.192.0.1             1          525     53 63888    17 ppp0
 10.192.0.1       172.30.0.1             1           63  63888    53    17 ppp0
 8.8.8.8          10.192.0.1           174        10440      0     0     1 ppp0
 10.192.0.1       8.8.8.8              174        10440      8     0     1 ppp0

Accounting data age is     2
Accounting data age exact 178
Accounting data saved 1431463652
Interface ppp0: received 1326, 5 m average 0 bytes/sec, 0 pkts/sec
Interface ppp*: dynamic, forked 1
Flow entries made: 10
Memory usage: 0% (1360 from 52428800)
Free slots for rsh clients: 9
IPCAD uptime is 10 minutes
srv-nodeny uptime is  3:52



Название: Re: Ipcad и rsh
Отправлено: Efendy от 13 Мая 2015, 00:05:18
я так понял, трафик собирается с интерфейса, а не как в документации через divert. Так работать не будет - биллинг заточен под подсчет проходящего, а не пришедшего трафика - если абонент не авторизован или доступ закрыт, то ему не будет считаться трафик (в случае divert)


Название: Re: Ipcad и rsh
Отправлено: fet4 от 13 Мая 2015, 01:21:34
я так понял, трафик собирается с интерфейса, а не как в документации через divert. Так работать не будет - биллинг заточен под подсчет проходящего, а не пришедшего трафика - если абонент не авторизован или доступ закрыт, то ему не будет считаться трафик (в случае divert)
Ага вроде понял в чем проблема.
В ipcad.conf
Код:
interface divert port 1 netflow-disable;
interface divert port 2 netflow-disable;

Мне нужно организовать такое же только под ulog. И я всего одно правило делал.
Код:
interface ulog group 1 netflow-disable;
Я так понял port 1,2 это как раз для входящего/исходящего ? И collectors.pm как-то по-этому ориентируется да?! Не могу пока понять как он парсит данные с вывода.
Может кто-нибудь показать вывод rsh 0 show ip acco в случае с divert?!
Заранее спасибо.


Название: Re: Ipcad и rsh
Отправлено: Efendy от 13 Мая 2015, 08:57:13
Да, 1 и 2 это метка входящий или исходящий. Попробуй  netflow


Название: Re: Ipcad и rsh
Отправлено: fet4 от 21 Мая 2015, 18:48:33
Пробую netflow.

Не могу врубиться вот в это, Вы писали:
Цитировать
Обратите внимание на параметр ext_iface - номер внешнего интерфейса. Наш микротик показал, что номер = 0, хотя в netflow посылал его как №1.  Возможно это фича Микротика
Как определить этот номер который приходит от удаленного сенсора на коллектор и на что он влияет?