Перейти до

Ubilling + Debian 8.7 + Mikrotik NAS


Рекомендованные сообщения

Опубліковано: (відредаговано)
Потому что бл@#ь всё в том же FAQ есть ссылка на документацию по старгейзеру.

это вы сейчас об этом?:

 

SpreadFee
– обязательный параметр, указывающий серверу производить
ли «размазанное» снятие абонплаты. Может принимать значения yes и no.
При указании значения yes сумма абонплаты указанная в тарифе
пользователя будет сниматься не раз в месяц, а каждый день равными
долями. Стандартное значение: no.

так здесь тоже нигде не сказано, что

 

 

Стоимость тарифа делим на кол-во дней в месяце - получаем суточную стоимость тарифа.

а я, машу вать(позволю себе немного того же тона, что и вы), не хотеть догадываться как оно работает, я хочу знать точно и быть уверенным.

 

 

 

Потом читаем форум, а уже потом пишем.

не думайте, что не читаем. вопрос про начисление абонплаты за время простоя сервера уже поднимался минимум один раз, но это было довольно давно, там ничего толкового так и не прозвучало и тред сошел на нет, потому и "бампаю" этот вопрос у себя в треде. вдруг там уже какой-то механизм появился для этого дела или хотя бы кто-то ткнет в код: "дескать, вот тут это все варится и происходит, а вот в этом или в этом месте можно, теоретически, попробовать добавить то, о чем ты говорил. хочешь? - добавляй" - меня бы даже такой вариант устроил бы.

 

про право изменять только свою учетную запись, но не другие я вопросов на форуме не находил.

 

я, при всем уважении, ни разу не считаю, что мне кто-то что-то должен и, вроде как, не веду себя так. и как бы ни разу не требую, чтоб мои хотелки материализовались здесь и сейчас. при чем еще вчера, да еще и бистра-битсра. я вполне сам готов их реализовывать в меру своих знаний-умений, потому и спрашиваю, а возможно ли сделать то-то или это-то, что бы выяснить реализован данный функционал или нет. и да, я прошу, по возможности, указать мне место в коде, который так или иначе связан с моими вопросами, чтобы я, не затрачивая лишнего времени на поиски, мог попытаться сам осуществить "свою мечту". но если такой возможности нет - ну ничего не поделаешь - покопаюсь сам...

 

и, кстати, есть ли простой способ убрать alert'ы "Вы это серьезно?" - после 10-го окошка начинает поднадоедать...

 

о!, еще вдогонку по ДХЦП:

создаю я ДХЦП, скажем: 192.168.5.0/24. в "Сетях и услугах" добавляю сеть: 192.168.5.1-192.168.5.253, добавляю услугу с этой сетью. потом, пытаясь выбрать у абонента в карточке IP, обнаруживаю, что адрес 192.168.5.1 недоступен. происходит это, скорее всего потому, что 192.168.5.1 прописывается по-умолчанию в option routers в dhcpd.conf. внимание, вопрос: можно ли как-нибудь без применения "Персонального шаблона подсети DHCP" изменить это поведение, чтобы по-умолчанию option routers ставился бы {ENDIP} + 1 ? ...  Поторопился я с шаблоном... {ENDIP} + 1 и {ENDIP + 1} вообще разворачивается в 192.168.5.254 + 1. Исправил подсеть, сделав последний адрес 192.168.5.254 (192.168.5.1-192.168.5.254) и добавил в "Персональный шаблон подсети DHCP" строку option routers {ENDIP}; . Пошел в карточку абонента выбирать IP - не помогло: 192.168.5.1 все так же недоступен для выбора, зато 192.168.5.254 - доступен. Что-то непонятка...

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 84
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Удали его из таблицы users и nethosts

фу такое советовать во первых в nethosts нету записи с такой ипишкой, что как бэ намекае во вторых лезть в users ручками это мягко говоря плохая идея пользуйтесь штатными средствами для удаления юз

да услышьте же меня!!11111! тут не о типах АП речь(вопросы по типам АП я, вроде, уже все задал...), а о том, как посчитать АП за время ПРОСТОЯ сервера, если таковой(простой, то бишь) имел место случит

Posted Images

 

 

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

На форуме уже 150 раз жевали про типы АП. Их внезапно всего два - нормальный и размазанный. Есть подневные тарифы, есть помесячные, всё это обсуждалось с комментариями либо madf либо понимающих людей ;)

 

По поводу места в коде - ищите, поймете тривиальную структуру убиллинга и не будете задвавать вопросов где, что и как искать.

Ну и освойте себе netbeans, гораздо быстрее ваше разбирательство пройдет за счет констуркции ctlr + left click на имя функции ;)

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
На форуме уже 150 раз жевали про типы АП. Их внезапно всего два - нормальный и размазанный. Есть подневные тарифы, есть помесячные, всё это обсуждалось с комментариями либо madf либо понимающих людей ;)

да услышьте же меня!!11111! тут не о типах АП речь(вопросы по типам АП я, вроде, уже все задал...), а о том, как посчитать АП за время ПРОСТОЯ сервера, если таковой(простой, то бишь) имел место случиться... если такого механизма нет, и нет желания рассусоливать, где конкретно по тексту кода будет уместнее всего его внедрить - то просто скажите: в данный момент так сделать нельзя НИКАК, а хочешь сам внедрить - ищи-колупай. хотя я был бы благодарен хотя бы за пинок в направлении страгейзера или, собственно, убиллинга в плане того ГДЕ лучше это внедрять, но, судя по тому, что модуль Достоевского работает, как я понимаю, "в среде" убиллинга - то и эту хотелку, по идее, можно реализовать имено в убиллинге....

 

 

 

Ну и освойте себе netbeans, гораздо быстрее ваше разбирательство пройдет за счет констуркции ctlr + left click на имя функции ;)

да и PHPStrom в этом плане весьма неплох... ;)

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

и все же, как сделать так, чтобы из подсетей, например, 192.168.5.0/24, 192.168.6.0/24 и т.д., абонентам были доступны адреса с 1-го по 253-й, а не как сейчас со 2-го по 253-й...

то есть, чтобы был доступен именно указанный диапазон ВЕСЬ(192.168.5.1-192.168.5.253)...

 

или...может...мне вообще не нужно в убиллинге добавлять ДХЦП-сети, если машина с убиллингом НЕ является ДХЦП-сервером, а им является Mikrotik NAS?
post-25487-0-30251200-1493362448.png

 

но даже после удаления всех ДХЦП-сетей все равно в карточке абонента в выпадающем списке IP адресов выбор "начинается" со второго адреса...

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах

 

 

да услышьте же меня!!1111

Когда я говорю, что вопросы про АП уже обсосали на форуме - их уже обсудили и это в том числе.

Я просто не тот кусок процитировал, хотел процитировать место, что нигде не сказанно, как считается размазня. Вот и вышло непонятно. 

И как снимать АП за время простоя уже тоже было. И нахуя вам биллинговый сервер, если можно допустить его простой в пару суток - этот вопрос тоже обсуждался.

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

 

 

и все же, как сделать так, чтобы из подсетей, например, 192.168.5.0/24, 192.168.6.0/24 и т.д., абонентам были доступны адреса с 1-го по 253-й, а не как сейчас со 2-го по 253-й...

Смотрим в код, я не собираюсь тыкать в конкретное место, ибо каждый раз указывать вам на строчку которую нужно модифицировать.... ну это как-то неправильно. Раз можете чето там сами модифицировать то ищите и всё получится.

Могу разве что дать намек что сетями внезапно занимается networking ;)

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)
что нигде не сказанно, как считается размазня

я имел в виду, что нигде в офф. доках и FAQ не сказано, тащемта. может стоит обновить/дополнить эти документы? дадут доступ - даже я смогу. ну или в необходимом, за ранее оговоренном, формате могу это все предоставить...

 

 

 

И как снимать АП за время простоя уже тоже было. И нахуя вам биллинговый сервер, если можно допустить его простой в пару суток - этот вопрос тоже обсуждался.

"обсуждения" как такового я не обнаружил. были только выпады в сторону ТСа вот как раз типа вашей реплики

 

И нахуя вам биллинговый сервер, если можно допустить его простой в пару суток

 

ну вот случилось так. случилось - и пездейц.(например, маааалинькая, компания в которой не могут/не хотят тратиться на круглосуточную техподдержку. и на поддержку этих тоже не хотят. и в празднки-выходные биллнговый сервер предоставлен исключительно сам себе). ведь реализация такого механизма относительно не сложная штука...

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Всем снова доброго времени суток!

Пока писал-ковырял свои мелкие  хотелки, да вносил минмальные багфиксы, а потом еще и обновился до 0.8.2 rev 5482 сегодня ВНЕЗАПНО обнаружил, что перестала работать синхронизация с Mikrotik, мать его... Правда тестовый микротик с тех пор поменялся, но не думаю, что это сильно важно.

Суть в том, что в сервера доступа NAS микротик добавлен, "волшебная" кнопка "Расширенная настройка" - есть, по нажатию этой кнопки в эту самую расширенную настройку я попадаю, все данные, которые должны подтягиваться с микротика, а именно интерфейсы, общая инфорация о состоянии - все подтягивается. Поскольку микротик тестовый - "галочки" для On*-скриптов отмечены все(как в принципе было и ранее, с первым тестовым микротиком, когда все ще работало). Проблема же заключается в том, что никаких вообще данных о тестовых абонентах на микротике не появляется: беру рандомного тестового абона, делаю ему отрицательный баланс на счету/снова делаю положительный баланс/делаю просто "ресет пользователя" - и ничего не происходит. Нет записей ни в Access List'ах, ни в арп, нигде.

Такое впечатление, что не отрабатывают эти самые On*-скрипты, хотя каталог старгейзера никто не трогал вообще - то есть там все в том виде, в каком оно было, когда это все еще работало.

Собственно - вопрос: как это можно отдебажить, проследить ход выполения, хотя бы увидеть где-то, что, например, Script OnDisconnect started или там Script OnDisconnect failed.

З.Ы. до сих пор не знаю, имеет ли это значение, но считаю обязательным упомянуть: на новом тестовом микротике нет поднятого дхцп или прописанных абонентских подсетей на "Интерфейсе пользователей". И да, тестовый микротик и серевер Убиллинга НЕ находятся в одном сетевом сегменте(в одной подсети) - может это тоже имеет значение...

По сути, мне сейчас очень хочется увидеть пару добавленных в Access List записей с именем ALLOW и IP-шниками абонов...

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Итак, мои изыскания по последнему вопросу, а именно - синхронизации с микротиком.

Но для начала - мои мысли по поводу "как все происходит"(очень прошу пнуть в верном направлении, если они не верны):

1. При запуске страгейзер добавляет всех, кому можно в инет, в ALLOW address-list на микротике. Соответственно, записи тех, кому нельзя он делает disabled=1. Если записи абонента нет вообще в ALLOW address-list на микротике - он должен ее добавить и флаг disabled выставить в соответствии с текущим статусом абонента.

2. Если я в Убиллинге сделаю абоненту отрицательный баланс на счету - старгейзер должен сделать его запись disabled=1 в ALLOW address-list на микротике

3. Если я в Убиллинге снова сделаю абоненту положительный баланс на счету - старгейзер должен сделать его запись disabled=0 в ALLOW address-list на микротике

4. Если я в Убиллинге меняю абоненту IP - старгейзер должен поменять IP в ALLOW address-list на микротике

5. Если я в Убиллинге делаю ресет абоненту - старгейзер должен перепроверить и, при необходимости, добавить в ALLOW address-list, а так же флаг disabled выставить в соответствии с текущим статусом абонента.

 

Я ничего не говорил про то, что старгейзер может так же провести манипуляции с DHCP-лизами, ARP-записями и прочим, поскольку мне важнее всего именно манипуляции в ALLOW address-list.

 

В данный момент я сделал вывод, что скрипты On* у меня не отрабатывают вообще. От слова совсем. Как я это определил? Следующим образом:

в каталоге billing/api есть три каталога: sgconf, sgconfxml и xmlrpc. В каждом из трех каталогов есть файл handlers.php. Поскольку я точно не знал, какой именно handlers.php использует "мой" Убиллинг, то в каждый из них в function executor() я добавил строку:

file_put_contents('/var/log/stargazer/STG_executor.log', date("Y-m-d H:i:s") . ' ' .  'cmd string:  ' . $configurator . "\n", FILE_APPEND);

 аккурат перед 

shell_exec($configurator);

Далее, такую же строчку, только со слегка измененным текстом, который записывается в лог я добавил в OnConnect, OnDisconnect, OnChange и в конструктор класса ubilling.cls, который лежит в /etc/stargazer/system

Так вот, при проведении манипуляций, изложенных выше в моих размышлениях добавленная в handlers.php строчка четко отрабатывает и пишет в лог что-то типа:

 

2017-06-16 15:46:20 cmd string:  /usr/sbin/sgconf_xml -s localhost -p 5555 -a admin -w 123456 -r '<SetUser><login value="test" /><down value="0" /></SetUser>'
2017-06-16 15:48:05 cmd string:  /usr/sbin/sgconf_xml -s localhost -p 5555 -a admin -w 123456 -r '<SetUser><login value="test" /><down value="1" /></SetUser>'
2017-06-16 15:48:05 cmd string:  /usr/sbin/sgconf_xml -s localhost -p 5555 -a admin -w 123456 -r '<SetUser><login value="test" /><ip value="10.205.0.5" /></SetUser>'
2017-06-16 15:48:06 cmd string:  /usr/sbin/sgconf_xml -s localhost -p 5555 -a admin -w 123456 -r '<SetUser><login value="test" /><down value="0" /></SetUser>'

 

а вот строчки из On* скриптов и ubilling.cls - не отрабатывают. из чего я делаю вывод, что и сами скрипты, собственно - никем не запускаются. кстати, если запустить модифицированный скрипт руками - получим: Only STG can run script! в консоли и вожделенную запись в /var/log/stargazer/STG_executor.log.

 

Дальше у меня идеи кончились.... Почему старгейзер может игнорировать On* скрипты? Права на эти файлы еще раз перепроверил...

Если у кого-то есть хоть какие-то мысли, где может быть собака зарыта - очень прошу поделитесь здесь, а то у меня мозг уже сварился...

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Итак, продолжение борьбы.

Вчера решил попробовать запустить один из On* скриптов руками. Выбор пал на OnConnect. Предварительно встроил в ubilling.cls, file.drv и mysql.drv "дебаггинговые" записи в отдельный лог.

В итоге, после выполнения комманды

php -f OnConnect <all_needed_params>

- все "взлетело", в микротике появились: address-lists ALLOW, запись в simple queue и запись в ARP. Старгейзер же упорно не хотел этого делать по велению Убиллинга, хотя в том же stargazer.log исправно появлялись записи:

 

2017-06-22 15:43:23 -- Admin 'admin', 127.0.0.1: User '2ap0_5xw8': 'cash' parameter changed from '-42.571429' to '4.428571'.

или

2017-06-22 15:44:16 -- Admin 'admin', 127.0.0.1: User '2ap0_5xw8': 'disabled' parameter changed from '1' to '0'.

2017-06-22 15:45:56 -- Admin 'admin', 127.0.0.1: User '2ap0_5xw8': 'disabled' parameter changed from '0' to '1'.

то есть, Убиллинг таки комманды Старгейзеру давал и они до него "добирались", но вот выполнение On* скриптов почему-то тупо не происходило.

 

В итоге я психанул и снес Страгейзер с благой мыслью переустановить. Переустановил, едрить его за ногу. Теперь он не стартует вообще. После выполнения в консоли stargazer происходит что-то такое(это я сам энтером "проклацал", чтобы, так сказать, виднее было):

post-25487-0-58627600-1498200185_thumb.png

и все. так оно "висит" может с минуту, может с две потом управление консолью возвращается, в процессах видим stg-exec, но не видим stargazer, в stargazer.log появляются три строчки:

 

2017-06-23 09:13:58 -- Stg v. 2.409
2017-06-23 09:13:58 -- Message queue created successfully. msgKey=5555 msgID=196608
2017-06-23 09:13:58 -- Timer thread started successfully.

и тишина. До подгрузки модулей, я так понял, не доходит. Процесс сборки и инсталляции самого старгейзера проходит без видимых ошибок.

Кудой копать?

 

а, и да, SIGTERM теперь на stg-exec и stargazer не действует. только SIGKILL...

Відредаговано bobr-kun
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент


×
×
  • Створити нове...