Биллинговая система Nodeny
17 Мая 2024, 12:32:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
  Начало Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 39
1  Главная категория / Nodeny Plus / Re: Обновление с PLUS на NEXT : 18 Ноября 2021, 10:19:43
Спасибо за ответ. Тогда думаю стоит и доку по установке биллинга обновить т.к в ней 5.7.
http://nodeny.com.ua/wiki/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_NoDeny
2  Главная категория / Nodeny 50 / Re: Nodeny + РРО фискальный регистратор : 17 Ноября 2021, 16:55:04
Я к Атоллу на Н+ делал если что

Не гуглиться(

тут что  то про Атол есть https://torgsoft.ua/options/podklyuchenie-fiskalnogo-registratora/
3  Главная категория / Nodeny Plus / Re: Обновление с PLUS на NEXT : 17 Ноября 2021, 16:49:27
продолжаем ловить баги после обновления Улыбающийся

теперь проблема возникла с поиском, при нажатии сортировки на названии поля выбывает ошибку

дебаг
Код:
FUNCTION nodeny.REGEXP_REPLACE does not exist 

{
  'sql' => 'SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u
LEFT JOIN data0 d ON u.id=d.uid
 WHERE u.grp in (5,7,6,23,24,25,27,20,10,1,16,21,22,12,19,9,14,18,28,13,15,8,
26) AND d._adr_street=\'10\' AND d._adr_house=\'15\'  ORDER BY u.grp, CAST(CONCAT(\'0\', REGEXP_REPLACE(d._adr_room, \'[^0-9]\', \'\')) AS SIGNED) DESC LIMIT 0, 20',
  'param' => []
};
 
 SELECT SQL_CALC_FOUND_ROWS u.* FROM fullusers u
LEFT JOIN data0 d ON u.id=d.uid
 WHERE u.grp in (5,7,6,23,24,25,27,20,10,1,16,21,22,12,19,9,14,18,28,13,15,8,

Подскажите решение если у кого есть.
4  Главная категория / Nodeny Plus / Re: Deadlock : 15 Ноября 2021, 11:28:59
Если кому мешает это:
Код:
WARNING: (123484726) sql: WARNING: Cannot do check groups when group_membership_query is not set

то нужно в файл
/usr/local/etc/raddb/mods-enabled/sql

в блок sql добавить  read_groups = no

----------------------------

Возможно у кого есть еще идеи по какой причине новая функция get_ip которая без deadlock закрепляет за клиентом сразу несколько IP и как это можно побороть.
5  Главная категория / Модули NodenyPlus / Re: Модуль Тикет : 03 Ноября 2021, 16:51:12
Подскажите, кто пользуется модулем можно ли на главной где все тикеты чтоб было видно всю необходимую информацию по клиенту. К примеру как  в userside
И мобильной версии нет ?

Кому несложно расскажите как вы используете модуль, на сколько он удобен.
6  Главная категория / Nodeny Plus / Re: Deadlock : 03 Ноября 2021, 14:01:35
Вернул старую функцию, опять есть deadlock, но зато дублей IP нет.  Правда в старой функции заменил 300 на 3600, чтоб IP абонов не часто менялись.

Код:
DROP FUNCTION IF EXISTS `get_ip`;
DELIMITER $$
CREATE FUNCTION `get_ip` ( user_id INTEGER UNSIGNED )
    RETURNS VARCHAR(15) NO SQL
BEGIN
    DECLARE user_ip VARCHAR(15);
    DECLARE real_ip VARCHAR(15);
    DECLARE row_cnt INTEGER;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id AND type='static' LIMIT 1;
    IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;

    UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600
        WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
        LIMIT 1;

    SELECT ROW_COUNT() INTO row_cnt;
    IF( row_cnt < 1 )
    THEN
        UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600
            WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            LIMIT 1;
    END IF;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id LIMIT 1;
    RETURN user_ip;

END$$
DELIMITER ;

В предыдущем случае самое плохое, что было, это в карточке клиента светилось 3 авторизации, и правильная авторизация была от нужного NAS, но IP был не верный.
Т.е на NAS один IP в биллинге с зеленым ключиком другой.
А тот что на NAS через час выдавался другому клиенту и дубли копились как снежный комп.

Пробовал функции которые тут
http://forum.nodeny.com.ua/index.php?topic=3034.msg32300#msg32300
результат аналогичный.


Может быть авторизация где все хорошо, т.е выдается одному клиенту 1 IP
Может где одному клиенту 2 ip, но второй не правильный без ключа и он освободится через 1 час.
Но самое плохое когда выдаёт 3 IP и остается с ключём неправильный IP
7  Главная категория / Nodeny Plus / Re: Deadlock : 03 Ноября 2021, 11:40:59
У нас qinq и 4 наса обслуживают все vlanы. Т.е абон подключается одновременно ко всем насам.

Но тут вышла ситуация когда подключение было в одному насу, но нас взял IP х.х.198.32,  а вот биллинг запомнил другой.

Сейчас из-за этого количество дублей начало только стремительно увеличиваться.


НАС
 
Код:
stat.3002.1300 | stat.3002.1300 | bc:ae:c5:5e:01:e6 |х.х.198.32   | 22024/22024 | ipoe |      | active | 01:11:37  
8  Главная категория / Nodeny Plus / Re: Deadlock : 03 Ноября 2021, 11:15:15
Сменил функцию get_ip  и добавил set_auth

Дедлоки ушли, но сейчас в логе увидел
Код:
Wed Nov  3 10:36:07 2021 : ERROR: (48018356) sql: ERROR: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip ended without RETURN): 2F005

Также в логе есть записи, но если я понял они есть у всех с "коробки":
Код:
Wed Nov  3 10:36:49 2021 : ERROR: (48021589) sql: ERROR: rlm_sql_mysql: ERROR 1048 (Column 'uid' cannot be null): 23000
Wed Nov  3 10:37:13 2021 : WARNING: (48023432) sql: WARNING: Cannot do check groups when group_membership_query is not set

И заметил странную ситуацию, что за одним клиентом теперь может числиться более одного IP. Скрин приложил.
Это возможно было и ранее, но так как они уходили через 2 минуты было незаметно.

9  Главная категория / Nodeny Plus / Re: Ядро, таймаут авторизации : 02 Ноября 2021, 11:37:51
Я подниму тему

Тоже столкнулся что IP освобождается сильно быстро.
У нас авторизация через радиус.

Проверил сейчас в биллинге set_auth вообще нет.  Вопрос нужно ли ее создавать ?
10  Главная категория / Nodeny Plus / Re: Deadlock : 02 Ноября 2021, 11:22:13
Сравнил normalize_ippool он как нужно,  но вот get_ip  отличается сильно.

Такой у меня (он остался с +)

Код:
| get_ip   | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `get_ip`( user_id INTEGER UNSIGNED ) RETURNS varchar(15) CHARSET utf8
    NO SQL
BEGIN
    DECLARE user_ip VARCHAR(15);
    DECLARE real_ip VARCHAR(15);
    DECLARE row_cnt INTEGER;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id AND type='static' LIMIT 1;
    IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;

    UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300
        WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
        LIMIT 1;

    SELECT ROW_COUNT() INTO row_cnt;
    IF( row_cnt < 1 )
    THEN
        UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300
            WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            LIMIT 1;
    END IF;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id LIMIT 1;
    RETURN user_ip;
END | utf8                 | utf8_general_ci      | utf8_general_ci    |

Вот новый для NEXT

Код:
DROP FUNCTION IF EXISTS `get_ip`;
DELIMITER $$
CREATE FUNCTION `get_ip` ( user_id INTEGER UNSIGNED )
    RETURNS VARCHAR(15) NO SQL
BEGIN
    DECLARE user_ip VARCHAR(15);
    DECLARE real_ip VARCHAR(15) DEFAULT 0;
    DECLARE row_cnt INTEGER;
    DECLARE ip_id INTEGER;
    DECLARE tries INTEGER DEFAULT 30;
    DECLARE id_min INTEGER;
    DECLARE id_max INTEGER;

    SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool
        WHERE uid = user_id AND type='static' LIMIT 1;
    IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;

    SELECT 1 INTO real_ip FROM users_services WHERE uid = user_id AND tags LIKE '%,realip,%';

    SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool
        WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
        LIMIT 1;


    IF( ip_id IS NOT NULL) THEN
        UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600
            WHERE id = ip_id AND uid = user_id;
        SELECT ROW_COUNT() INTO row_cnt;
        IF( row_cnt > 0 ) THEN RETURN user_ip; END IF;
        UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600
            WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0);
        SELECT ROW_COUNT() INTO row_cnt;
        IF( row_cnt > 0 ) THEN RETURN user_ip; END IF;
    END IF;

    SELECT MAX(id), MIN(id) INTO id_max, id_min
        FROM ip_pool
        WHERE type = 'dynamic' AND realip = IF(real_ip>0,1,0);

    sel_ip: WHILE tries > 0 DO
        SELECT id, INET_NTOA(ip) INTO ip_id, user_ip
            FROM ip_pool
            WHERE uid = 0
                AND id >= (CEIL(RAND() * (id_max - id_min)) + id_min)
                AND id <= id_max
                AND `release` < UNIX_TIMESTAMP()
                LIMIT 1;
        IF( user_ip IS NOT NULL) THEN
            UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600
                WHERE id = ip_id AND uid = 0 AND `release` < UNIX_TIMESTAMP();
            SELECT ROW_COUNT() INTO row_cnt;
            IF( row_cnt > 0 ) THEN RETURN user_ip; END IF;
            SET tries = tries - 5;
        END IF;
        SET tries = tries - 1;
    END WHILE;


Хотел уточнить, после замены функции, все должно работать ? или может что-то нужно еще править.
И я вроде как не первый кто обновился, странно, что никто об этом ранее не написал.
11  Главная категория / Nodeny Plus / Deadlock : 01 Ноября 2021, 12:23:34
Обновили + на NEXT и перенесли работать под VM на базе proxmox.

Решил посмотреть в лог радиуса и там заметил записи:
Код:
Deadlock found when trying to get lock; try restarting transaction

Авторизации проходят, глюков не заметили.

Подскажите, в чем может быть причина Deadlock и стоит ли волноваться ?

Код:
| InnoDB |      | 
=====================================
2021-11-01 11:51:23 0x93f340700 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 40 seconds
-----------------
BACKGROUND THREAD
-----------------
srv_master_thread loops: 92389 srv_active, 0 srv_shutdown, 54 srv_idle
srv_master_thread log flush and writes: 92443
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 5541118
OS WAIT ARRAY INFO: signal count 5730755
RW-shared spins 0, rounds 2708391, OS waits 789633
RW-excl spins 0, rounds 124594692, OS waits 834675
RW-sx spins 3665545, rounds 98289045, OS waits 1616329
Spin rounds per wait: 2708391.00 RW-shared, 124594692.00 RW-excl, 26.81 RW-sx
------------------------
LATEST DETECTED DEADLOCK
------------------------
2021-11-01 11:50:45 0x93e386600
*** (1) TRANSACTION:
TRANSACTION 659162265, ACTIVE 0 sec starting index read
mysql tables in use 1, locked 1
LOCK WAIT 3 lock struct(s), heap size 1136, 2 row lock(s)
MySQL thread id 48084, OS thread handle 39715082496, query id 181416906 localhost nodeny Searching rows for update
UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300
            WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            LIMIT 1
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 1073 page no 507 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162265 lock_mode X waiting
Record lock, heap no 449 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
 0: len 8; hex 0000000000000000; asc         ;;
 1: len 4; hex 00000004; asc     ;;

*** (2) TRANSACTION:
TRANSACTION 659162263, ACTIVE 0 sec updating or deleting
mysql tables in use 1, locked 1
7 lock struct(s), heap size 1136, 386 row lock(s), undo log entries 1
MySQL thread id 47609, OS thread handle 39698589184, query id 181416897 localhost nodeny updating
UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 300
            WHERE uid = 0 AND type = 'dynamic' AND realip = IF(real_ip>0,1,0)
            LIMIT 1
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 1073 page no 507 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162263 lock_mode X
Record lock, heap no 449 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
 0: len 8; hex 0000000000000000; asc         ;;
 1: len 4; hex 00000004; asc     ;;

Record lock, heap no 451 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
 0: len 8; hex 0000000000000000; asc         ;;
 1: len 4; hex 00000009; asc     ;;


и так далее до


Record lock, heap no 721 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
 0: len 8; hex 0000000000000000; asc         ;;
 1: len 4; hex 000001e1; asc     ;;

Record lock, heap no 769 PHYSICAL RECORD: n_fields 2; compact format; info bits 32
 0: len 8; hex 0000000000000000; asc         ;;
 1: len 4; hex 00001ff1; asc     ;;

*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 1073 page no 730 n bits 1000 index uid of table `nodeny`.`ip_pool` trx id 659162263 lock_mode X locks gap before rec insert intention waiting
Record lock, heap no 722 PHYSICAL RECORD: n_fields 2; compact format; info bits 0
 0: len 8; hex 00000000000027d8; asc       ' ;;
 1: len 4; hex 00001631; asc    1;;

*** WE ROLL BACK TRANSACTION (1)
------------
TRANSACTIONS
------------
Trx id counter 659189013
Purge done for trx's n:o < 659187785 undo n:o < 0 state: running but idle
History list length 530
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 281509884874504, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884878120, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884882640, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884880832, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884876312, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884873600, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884879024, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884884448, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884872696, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884877216, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884879928, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884875408, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 281509884871792, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
--------
FILE I/O
--------
I/O thread 0 state: waiting for i/o request (insert buffer thread)
I/O thread 1 state: waiting for i/o request (log thread)
I/O thread 2 state: waiting for i/o request (read thread)
I/O thread 3 state: waiting for i/o request (read thread)
I/O thread 4 state: waiting for i/o request (read thread)
I/O thread 5 state: waiting for i/o request (read thread)
I/O thread 6 state: waiting for i/o request (read thread)
I/O thread 7 state: waiting for i/o request (read thread)
I/O thread 8 state: waiting for i/o request (read thread)
I/O thread 9 state: waiting for i/o request (read thread)
I/O thread 10 state: waiting for i/o request (write thread)
I/O thread 11 state: waiting for i/o request (write thread)
I/O thread 12 state: waiting for i/o request (write thread)
I/O thread 13 state: waiting for i/o request (write thread)
I/O thread 14 state: waiting for i/o request (write thread)
I/O thread 15 state: waiting for i/o request (write thread)
I/O thread 16 state: waiting for i/o request (write thread)
I/O thread 17 state: waiting for i/o request (write thread)
Pending normal aio reads: [0, 0, 0, 0, 0, 0, 0, 0] , aio writes: [0, 0, 0, 0, 0, 0, 0, 0] ,
 ibuf aio reads:, log i/o's:, sync i/o's:
Pending flushes (fsync) log: 0; buffer pool: 0
70121 OS file reads, 14797413 OS file writes, 14684844 OS fsyncs
0.00 reads/s, 0 avg bytes/read, 173.82 writes/s, 173.82 fsyncs/s
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 72, seg size 74, 3986 merges
merged operations:
 insert 7439, delete mark 898, delete 214
discarded operations:
 insert 0, delete mark 0, delete 0
Hash table size 1106311, node heap has 54 buffer(s)
Hash table size 1106311, node heap has 75 buffer(s)
Hash table size 1106311, node heap has 43 buffer(s)
Hash table size 1106311, node heap has 24 buffer(s)
Hash table size 1106311, node heap has 4460 buffer(s)
Hash table size 1106311, node heap has 30 buffer(s)
Hash table size 1106311, node heap has 2673 buffer(s)
Hash table size 1106311, node heap has 44 buffer(s)
11306.34 hash searches/s, 2921.50 non-hash searches/s
---
LOG
---
Log sequence number 156519175267
Log flushed up to   156519175132
Pages flushed up to 156363911047
Last checkpoint at  156363911047
0 pending log flushes, 0 pending chkp writes
14657859 log i/o's done, 173.82 log i/o's/second
----------------------
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 4397727744
Dictionary memory allocated 606886
Buffer pool size   262122
Free buffers       182455
Database pages     72264
Old database pages 26667
Modified db pages  1157
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 176, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 70039, created 2225, written 130776
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 72264, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
----------------------
INDIVIDUAL BUFFER POOL INFO
----------------------
---BUFFER POOL 0
Buffer pool size   32767
Free buffers       22951
Database pages     8905
Old database pages 3288
Modified db pages  146
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 28, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8630, created 275, written 14459
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 8905, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 1
Buffer pool size   32768
Free buffers       22888
Database pages     8939
Old database pages 3300
Modified db pages  75
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 25, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8633, created 306, written 13778
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 8939, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 2
Buffer pool size   32764
Free buffers       22798
Database pages     9026
Old database pages 3313
Modified db pages  76
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 34, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8759, created 267, written 14527
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 9026, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 3
Buffer pool size   32764
Free buffers       22686
Database pages     9167
Old database pages 3365
Modified db pages  204
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 34, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8897, created 270, written 22655
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 9167, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 4
Buffer pool size   32766
Free buffers       22646
Database pages     9187
Old database pages 3380
Modified db pages  103
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 21, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 9042, created 145, written 14075
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 9187, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 5
Buffer pool size   32764
Free buffers       22669
Database pages     9165
Old database pages 3384
Modified db pages  116
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 4, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8838, created 327, written 14432
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 9165, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 6
Buffer pool size   32764
Free buffers       23144
Database pages     8682
Old database pages 3224
Modified db pages  193
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 11, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8427, created 255, written 16232
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 8682, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 7
Buffer pool size   32765
Free buffers       22673
Database pages     9193
Old database pages 3413
Modified db pages  244
Pending reads      0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 19, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 8813, created 380, written 20618
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 9193, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue
0 read views open inside InnoDB
Process ID=15923, Main thread ID=39828897792, state: sleeping
Number of rows inserted 110076506, updated 14465305, deleted 203636, read 3171617681
1298.44 inserts/s, 175.72 updates/s, 0.02 deletes/s, 23364.79 reads/s
----------------------------
END OF INNODB MONITOR OUTPUT
============================
 |

Все правки в базе которые делали для переноса описаны тут:
http://forum.nodeny.com.ua/index.php?topic=3302.msg37084#msg37084
12  Главная категория / Nodeny Plus / Re: NoDeny NEXT + Freeradius3 + accel-ppp + QinQ (DHCP) : 01 Ноября 2021, 12:17:37
Опишу тут что мне потребовалось изменить для корректного перехода с + на NEXT
Спасибо парням за помощь из группы https://t.me/nodeny_chat


На сервере с чистым NEXT

Код:
DROP DATABASE nodeny;
create database nodeny;
use nodeny;
source /usr/local/nodeny/bill.sql;
source /home/nodeny.sql;
---------------------------------
Пришлось поправить некоторые поля, иначе были ошибки по созданию пользователей, или изменения других полей

Код:
ALTER TABLE `admin`   CHANGE COLUMN `name` `name` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `post` `post` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `privil` `privil` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `usr_grps` `usr_grps` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `tunes` `tunes` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `ext` `ext` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER TABLE `admin`   CHANGE COLUMN `balance` `balance` VARCHAR(255) NOT NULL DEFAULT '' COLLATE 'utf8_general_ci' AFTER `passwd`;
ALTER DATABASE nodeny CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE services ADD `plain_description` varchar(512) NOT NULL DEFAULT '';
ALTER TABLE admin MODIFY COLUMN passwd varbinary(64) NOT NULL;
ALTER TABLE users MODIFY COLUMN comment varchar(8192) NOT NULL DEFAULT '';
ALTER TABLE `users_trf` ENGINE=InnoDB;
ALTER TABLE `data1` ENGINE=InnoDB;
ALTER TABLE `websessions` ENGINE=InnoDB;
ALTER TABLE `config` ENGINE=InnoDB;
ALTER TABLE `datasetup` ENGINE=InnoDB;
ALTER TABLE `dictionary` ENGINE=InnoDB;
ALTER TABLE `nets` ENGINE=InnoDB;
ALTER TABLE `ses_traf` ENGINE=InnoDB;
ALTER TABLE `user_grp` ENGINE=InnoDB;

MySQL процедуры для авторизации абонента по логину

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT Null, login, 'Cleartext-Password' AS Attribute, '' AS Value,':=';
END$$
DELIMITER ;

DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;

  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
  SELECT NULL,login,'Acct-Interim-Interval','120','=';

END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radupdate`;
DELIMITER $$
CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':','')));
  UPDATE data0 SET _name_radius=login WHERE _name_radius=login LIMIT 1;
END$$
DELIMITER ;


DROP PROCEDURE IF EXISTS `radstop`;
DELIMITER $$
CREATE PROCEDURE `radstop`(IN login VARCHAR(64))
BEGIN
 DECLARE usr_id INT;
  SELECT uid INTO usr_id FROM data0 WHERE _name_radius=login LIMIT 1;
  DELETE FROM auth_now WHERE ip = get_ip(usr_id) LIMIT 1;
END$$
DELIMITER ;

DROP FUNCTION IF EXISTS `normalize_ippool`;
DELIMITER $$
CREATE FUNCTION `normalize_ippool` ( )
    RETURNS TINYINT NO SQL
BEGIN
    DECLARE mid INTEGER UNSIGNED;

    SELECT MAX(id) into mid FROM ip_pool;
    UPDATE ip_pool SET id = id + mid;
    SET @i = 0;
    UPDATE ip_pool SET id = @i:=@i+1 ORDER BY realip, type, tags;

    RETURN 1;
END$$
DELIMITER ;

-----------------
Для работы работы модуля карт:

Код:
ALTER TABLE places CHANGE `img` `img` VARCHAR(5) NOT NULL DEFAULT '';
ALTER TABLE places CHANGE `descr` `descr` VARCHAR(4096) NOT NULL DEFAULT '';
ALTER TABLE places CHANGE `location` `location` VARCHAR(4096) NOT NULL DEFAULT '';
ALTER TABLE places CHANGE `gpsX` `gpsX` FLOAT NOT NULL DEFAULT 0;
ALTER TABLE places CHANGE `gpsY` `gpsY` FLOAT NOT NULL DEFAULT 0;

И главное не забыть в NEXT зайти: ядро - услуги - Запускать модуль при запуске ядра NoDeny.
Если его не включить то тариф завершаться не будет.

Также если у кого ЛК с изменениями и на NEXT при авторизации не будет редиректа то заходим в биллинг так:

http://192.168.1.1/cgi-bin/stat.pl?_uu=admin&_pp=pass
Далее в документах убераем теги с раздела авторизации и меняем код ЛК под NEXT
13  Главная категория / Nodeny Plus / Re: Обновление с PLUS на NEXT : 01 Ноября 2021, 11:37:58
Да, сами на это попали, но благо что сначала развернули на тесте все так словили этот прикол.
14  Главная категория / Модули NodenyPlus / Re: Модуль мониторинга PON : 23 Октября 2021, 15:33:51
Потехеньку пробую зробити заміну ponmonitor'а

Точку топологии привязываете в ручную ?
Возможно что еще новое появилось за это время ?
15  Главная категория / Модули NodenyPlus / Re: Модуль Тикет : 23 Октября 2021, 13:44:52
quote author=Stronglan link=topic=2804.msg36070#msg36070 date=1590594493]
Возможно ли организовать функционал такой что если к тикету прикрепляется монтажник, чтобы ему в личку telegram приходило оповещение о тикете и содержании тикета?
[/quote]


Подскажите это уже реализовано?
Планируем купить, но я пока не нашел описания как монтажник узнает что у него новый тикет.
Страниц: [1] 2 3 ... 39
Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!