Перейти к содержимому
Калькуляторы

Abills в контейнере LXC

Добрый день!
Пробуем запустить Abills в контейнере LXC, Debian 9. 
Всё работает кроме Детализации трафика, точнее не работет traffic2sql.
В режиме отладки выдаёт

 

Debug mode on
<pre><code>
SELECT id, tp_id FROM tarif_plans;
</code></pre>
<pre><code>
SELECT u.uid,
    calls.framed_ip_address AS ip,
    calls.user_name AS login,
    calls.acct_session_id,
    calls.acct_input_octets,
    calls.acct_output_octets,
    calls.tp_id,
    UNIX_TIMESTAMP() - calls.lupdated AS interim_time,
    calls.nas_id,
    u.reduction,
    CONNECT_INFO,
    u.activate,
    dv.netmask,
    dv.join_service
    FROM (dv_calls calls, users u)
    LEFT JOIN dv_main dv ON (u.uid=dv.uid)
   WHERE u.id=calls.user_name AND u.domain_id=0 AND calls.status<11
   and calls.nas_id IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100);
</code></pre>
/usr/abills/var/log/ipn//ft-v05.2018-04-03.212000+0300
/usr/local/bin/flow-cat /usr/abills/var/log/ipn//ft-v05.2018-04-03.212000+0300 | /usr/local/bin/flow-print |
<pre><code>
INSERT INTO ipn_unknow_ips (src_ip, dst_ip, size, nas_id, datetime)
        VALUES (?, ?, ?, ?, now());
</code></pre>

 

И так висит бесконечно.
Что это может быть?
Ему нужен доступ к железу?

Изменено пользователем Anton89

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вручную команда

/usr/local/bin/flow-cat /usr/abills/var/log/ipn//ft-v05.2018-04-03.212000+0300 | /usr/local/bin/flow-print

выполняется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, ваполняется

 

10.128.0.151     93.158.134.119   6     54722    443      9614        19
178.154.131.216  10.128.0.151     6     443      54733    4996        8
178.154.131.216  10.128.0.151     6     443      54732    306074      222
77.88.8.7        10.128.0.109     6     53       42737    319         4
40.121.213.159   80.95.47.62      6     443      64345    40          1
93.158.134.119   10.128.0.151     6     443      54722    39616       36
10.128.0.109     77.88.8.7        6     42784    53       348         6

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В SQL-запросе 4 параметра, а в выдаче их 7.

Причем судя по именам полей в БД, в выдаче их порядок перепутан.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

База перенесена с рабочей системы, код traffic2sql не редактировался.

Может каких расширений Perl не хватает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скорее всего ошибка в SQL.

У Perl я как раз сталкивался с таким — когда SQL-запрос невалидный и сервер возвращает ошибку, скрипт зависает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, Anton89 сказал:

Да, ваполняется

А select выполняется вручную?

Что в процессах висит, когда скрипт запущен?

Есть ли коннекты к базе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

А select выполняется вручную?

Database changed
MariaDB [abills]> SELECT id, tp_id FROM tarif_plans;
+-----+-------+
| id  | tp_id |
+-----+-------+
| 100 |     1 |
| 101 |     2 |
| 102 |     3 |
| 103 |     4 |
| 104 |     5 |
| 105 |     6 |
| 106 |     7 |
+-----+-------+
7 rows in set (0.00 sec)

MariaDB [abills]> SELECT u.uid,
    ->     calls.framed_ip_address AS ip,
    ->     calls.user_name AS login,
    ->     calls.acct_session_id,
    ->     calls.acct_input_octets,
    FROM (dv_calls calls, users u)
    LEFT JOIN dv_main dv ON (u.uid=dv.uid)
    ->     calls.acct_output_octets,
    ->     calls.tp_id,
    ->     UNIX_TIMESTAMP() - calls.lupdated AS interim_time,
    ->     calls.nas_id,
    ->     u.reduction,
    ->     CONNECT_INFO,
    ->     u.activate,
    ->     dv.netmask,
    ->     dv.join_service
    ->     FROM (dv_calls calls, users u)
    ->     LEFT JOIN dv_main dv ON (u.uid=dv.uid)
    ->    WHERE u.id=calls.user_name AND u.domain_id=0 AND calls.status<11
    ->    and calls.nas_id IN (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100);
Empty set (0.00 sec)


 

 

  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /sbin/init
   35 ?        Ss     0:00 /lib/systemd/systemd-journald
   48 ?        Ss     0:00 /usr/sbin/cron -f
   78 ?        Ss     0:00 /sbin/dhclient -4 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases
   98 pts/0    Ss+    0:00 /sbin/agetty --noclear tty1 linux
   99 pts/1    Ss+    0:00 /sbin/agetty --noclear tty2 linux
  100 pts/0    Ss+    0:00 /sbin/agetty --noclear --keep-baud console 115200,38400,9600 vt220
  101 pts/2    Ss+    0:00 /sbin/agetty --noclear tty3 linux
  102 pts/3    Ss+    0:00 /sbin/agetty --noclear tty4 linux
  114 ?        Ss     0:00 /usr/bin/flow-capture -S 5 -n 287 -N 0 -d 5 -w /usr/abills/var/log/ipn/ 0/0/9996
  121 ?        Ss     0:00 /usr/sbin/sshd -D
  123 ?        Ss     0:00 /usr/sbin/apache2 -k start
  124 ?        S      0:00 /usr/sbin/apache2 -k start
  126 ?        Sl     0:02 /usr/sbin/apache2 -k start
  127 ?        Sl     0:03 /usr/sbin/apache2 -k start
  267 ?        Ssl    0:28 /usr/sbin/mysqld
  558 ?        Ssl    0:00 /usr/sbin/radiusd
  567 ?        Ss     0:01 sshd: root@notty
  715 ?        Ss     0:00 sshd: root@pts/5
  721 pts/5    Ss     0:00 -bash
 1426 pts/5    S+     0:01 /usr/bin/perl /usr/abills/libexec/traffic2sql 0-100 flowdir=/usr/abills/var/log/ipn/ D
 1432 ?        Rs     0:00 sshd: root@pts/4
 1438 pts/4    Ss     0:00 -bash
 1446 pts/4    R+     0:00 ps -ax


 

 

до запуска скрипта

mysqladmin status -u root
Uptime: 15842  Threads: 6  Questions: 31181  Slow queries: 0  Opens: 132  Flush tables: 1  Open tables: 126  Queries per second avg: 1.968

после

mysqladmin status -u root
Uptime: 15852  Threads: 8  Questions: 31260  Slow queries: 0  Opens: 132  Flush tables: 1  Open tables: 126  Queries per second avg: 1.971

 

Изменено пользователем Anton89

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Процессор не загружается при выполнении скрипта, только непонятная активность на диска,  индикаторы постоянно начинают гореть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

После отключения опции $conf{UNKNOWN_IP_LOG}=1; всё заработало.

Но очень медленно

Изменено пользователем Anton89

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Трафик за 10 минут обрабатывается 12 мин.

date && /usr/abills/libexec/traffic2sql 0-100 flowdir=/usr/abills/var/log/ipn/ && date
Ср апр  4 17:25:41 MSK 2018
Ср апр  4 17:37:57 MSK 2018
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема решена настройками mysql из /usr/abills/misc/mysql/my.cnf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 часов назад, Anton89 сказал:

Проблема решена настройками mysql из /usr/abills/misc/mysql/my.cnf

Всегда призывать убивать за такие ответы. Из рогатки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

On 04.04.2018 at 7:10 PM, Anton89 said:

Проблема решена настройками mysql из /usr/abills/misc/mysql/my.cnf

а както подробней можно ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.