Jump to content
Local
jethash

Стал зависать Stargazer

Recommended Posts

Добрый вечер форумчане!

С сегодняшнего утра сабж стал вести себя некорректно. Проработал без нареканий почти два месяца, я о нем и забыл уже :)

Сначала думал, что Ubilling после обновления как-то некорректно с ним работает - оказалось, что не в нем причина. Он просто перестает откликаться на запросы биллинга. При попытке корректно его заглушить в логах стопорится на "Module: 'CAP_NF v. 0.4'. Stop successfull." и остается висеть в процессах в состоянии 'nanslp'. После перезагрузки сервера проработал несколько часов в нормальном режиме, все работало как и должно быть, а потом снова завис. В остальном в логах все ОК, кроме записей о том, что не может записать статистику для юзера. Не знаю пока куда копать, может сталкивался кто-нибудь с такой проблемой?

Share this post


Link to post
Share on other sites

"В остальном в логах все ОК, кроме записей о том, что не может записать статистику для юзера." — т.е. то что у вас навернулась БД это ОК?

Share this post


Link to post
Share on other sites

Конечно не ОК, но, скажу честно, я не обращал внимание на эту ошибку, думал разберусь после со статистикой (все тарифы анлимы), главное финансы. Финансовая часть и таривы работали, НАСы заводились, ANALYZE TABLE и CHECK TABLE не ругаются. Это-то меня и смутило. Спасибо, что подсказали куда копать. Буду бэкапить и дам старгейзеру возможность пересоздать свои таблицы самому.

Share this post


Link to post
Share on other sites

Вот сейчас сделал изменеия и получил:

2013-12-11 09:54:23 -- Admin 'admin', 127.0.0.1: User '00062': 'tariff' parameter changed from '5Unlim' to '2Unlim'. 
2013-12-11 09:54:33 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '0' to '1'. 
2013-12-11 09:54:39 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '1' to '0'. 
2013-12-11 09:55:10 -- Admin 'admin', 127.0.0.1: User '00062': 'tariff' parameter changed from '2Unlim' to '5Unlim'. 
2013-12-11 09:55:20 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '0' to '1'. 
2013-12-11 09:55:26 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '1' to '0'.

madf скажите, а ошибка со статистикой связана только с таблицей stat или цепляет и таблицу users? У меня дока 2011 года и там ERD схема только для firebird. На этом ресурсе http://stg.dp.ua/doc20/db_descr.html документ заканчивается загадочным словом "Если" :)

Share this post


Link to post
Share on other sites

Вот сейчас сделал изменеия и получил:

2013-12-11 09:54:23 -- Admin 'admin', 127.0.0.1: User '00062': 'tariff' parameter changed from '5Unlim' to '2Unlim'. 
2013-12-11 09:54:33 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '0' to '1'. 
2013-12-11 09:54:39 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '1' to '0'. 
2013-12-11 09:55:10 -- Admin 'admin', 127.0.0.1: User '00062': 'tariff' parameter changed from '2Unlim' to '5Unlim'. 
2013-12-11 09:55:20 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '0' to '1'. 
2013-12-11 09:55:26 -- Admin 'admin', 127.0.0.1: User '00062': 'disabled' parameter changed from '1' to '0'.
madf скажите, а ошибка со статистикой связана только с таблицей stat или цепляет и таблицу users? У меня дока 2011 года и там ERD схема только для firebird. На этом ресурсе http://stg.dp.ua/doc20/db_descr.html документ заканчивается загадочным словом "Если" :)

 

Исходя из того что у вас Ubilling, используемая СУБД - MySQL. Она не имеет ничего общего с ERD для PostgreSQL. Там своя крышесносящая и мозговыносящая схема. Приведенная ссылка вообще относится к Stargazer версии 2.0, т.е. имеет разве что музейную ценность.

Если в сообщении об ошибке говорится о невозможности записать статистику то она относится только к таблицам со статистикой.

Share this post


Link to post
Share on other sites

для чего дёргаете disabled? если чтобы тариф сразу вступил в силу есть опция ReconnectOnTariffChange = yes в конфиге stg

Edited by yKpon

Share this post


Link to post
Share on other sites

 

для чего дёргаете disabled? если чтобы тариф сразу вступил в силу есть опция ReconnectOnTariffChange = yes в конфиге stg

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

 

Есть еще изменения айпишек, маков, сервисов, оверрайдов скоростей и прочих вещей которые возникают в процесе експлуатации. Для всех них дергается штатный $billing->reset() выполняющий таким незатейливым способом реинициализацию пользователя (есть еще опция заменяющая disabled на AlwaysOnline).

Share this post


Link to post
Share on other sites

Доброе время суток!

Не стал открывать новую тему, пишу сюда.

С недавних пор стал вылетать процесс stargazer (в процессах остаются висеть stg-exec, самого процесса stargazer нет). Примерно раз в неделю. Раньше проблем таких не припоминаю - всё работало стабильно. 

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

В логах единственное что нашёл (на основном сервере, где крутиться stargazer): 

Nov  2 18:00:10 gw1 kernel: [9340000.611965] stargazer[12820]: segfault at 8c ip b614eb59 sp b37fe990 error 4 in mod_remote_script.so[b6139000+2c000]

 

система Debian (да, да - эти наши линуксы)

Linux gw1 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux

на NAS

Linux gw3 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

 

Помогите советом!

Share this post


Link to post
Share on other sites

Что последнее в логе?

Share this post


Link to post
Share on other sites

В логах stargazer ничего подозрительного нет. В логах сервера (/var/log/kern.log) единственное что нашёл в момент падения:

 

Nov  2 18:00:10 gw1 kernel: [9340000.611965] stargazer[12820]: segfault at 8c ip b614eb59 sp b37fe990 error 4 in mod_remote_script.so[b6139000+2c000]

 

 

Если нужно содержимое каких-либо конфигов и т.д. могу выложить. 

Edited by felixio_01

Share this post


Link to post
Share on other sites

вот кусок лога (allconnect.log) в этот период

 

2014.11.02 17:55:02 DISCONNECT: ID-965;LOGIN-h40let21ap0_0152;IP-15.15.1.48;CASH-0.000000
2014.11.02 17:55:02 CONNECT: ID-965;LOGIN-h40let21ap0_0152;IP-15.15.1.48;CASH-0.000000;SPEED-8192;UPSPEED-8192,MAC-00:30:67:47:1d:46
2014.11.02 17:57:09 DISCONNECT: ID-962;LOGIN-hlen36ap1_9iiu;IP-15.15.0.3;CASH-0.000000
2014.11.02 18:11:38 CONNECT: ID-964;LOGIN-sovetskaya8_52;IP-10.255.2.2;CASH-55.000000;SPEED-20000;UPSPEED-20000,MAC-f4:6d:04:1d:35:a6 (это уже, получается, после перезапуска stargazer)
 
кусок лога stargazer.log
 
2014-11-02 17:55:49 -- Admin 'admin', 127.0.0.1: User 'h40let21ap0_0152': 'cash' parameter changed from '0.000000' to '100.000000'.
2014-11-02 17:57:09 -- Admin 'admin', 127.0.0.1: User 'hlen36ap1_9iiu' deleted.
2014-11-02 18:11:37 -- Stg v. 2.408
2014-11-02 18:11:37 -- Message queue created successfully. msgKey=5555 msgID=458752
2014-11-02 18:11:37 -- Timer thread started successfully.
2014-11-02 18:11:37 -- Storage plugin: mysql_store v.0.67. Loading successfull.
2014-11-02 18:11:37 -- Users started successfully.
2014-11-02 18:11:37 -- Traffcounter started successfully.
2014-11-02 18:11:37 -- Module: 'Pinger v.1.01'. Start successfull.
2014-11-02 18:11:37 -- Module: 'Remote script v 0.3'. Start successfull.
2014-11-02 18:11:37 -- Module: 'Stg configurator v.0.08'. Start successfull.
2014-11-02 18:11:38 -- Module: 'Always Online authorizator v.1.0'. Start successfull.
2014-11-02 18:11:38 -- Module: 'InetAccess authorization plugin v.1.4'. Start successfull.
2014-11-02 18:11:38 -- Module: 'CAP_NF v. 0.4'. Start successfull.
2014-11-02 18:11:38 -- Stg started successfully.
2014-11-02 18:11:38 -- +++++++++++++++++++++++++++++++++++++++++++++
 
Edited by felixio_01

Share this post


Link to post
Share on other sites

Значит надо собирать в отладочном режиме и запускать из-под gdb.

Share this post


Link to post
Share on other sites

забыл указать версию stg-2.408

мне нужно будет пересобрать stargazer с ключиком debug?

это сервер с примерно 400 абонентами. В отладочном режиме stargazer работает также, только логов больше? т.е. как это отразиться на работе абонентов? 

Share this post


Link to post
Share on other sites

 

мне нужно будет пересобрать stargazer с ключиком debug?

да

 

+ не забудьте сделать предварительно cp -R /etc/stargazer /etc/stargazer_bak

 

 

В отладочном режиме stargazer работает также, только логов больше?

на таких объемах - приблизительно так же.

 

 

 

т.е. как это отразиться на работе абонентов?

В вашем случае - скорее всего никак. Энивей при такой абонбазе в случай чего можно в радиусе минуты откатиться на нормальную сборку (не забываем бекапить /etc/stargazer)

 

По идее install-bin должен все нормально ставить, но помниться с дебаг сборками там в свое время был какой-то ньюанс.

 

Share this post


Link to post
Share on other sites

Да, вместо install-bin нужно руками раскидать: stargazer в /usr/sbin/stargazer, .so-файлы в /usr/lib/stg/

Share this post


Link to post
Share on other sites

последовательность действий следующая:

делаем бекапчик

sudo cp -R /etc/stargazer /etc/stargazer_bak

 

собрать Stargazer в отладочном режиме (находимся в папке stg-2.408/projects/stargazer/):

sudo ./build debug

после этого собираем 

sudo make install

копируем ручками файлики

sudo cp stargazer /usr/sbin/stargazer
sudo cp ../../lib/* /usr/lib/stg/
sudo cp modules/* /usr/lib/stg/

устанавливаем gdb, и потом из под него запускаем stargazer

sudo gdb /usr/sbin/stargazer

и ждать падения stargazer?

 

поправьте плиз, если что то упустил. 

Share this post


Link to post
Share on other sites

последовательность действий следующая:

делаем бекапчик

sudo cp -R /etc/stargazer /etc/stargazer_bak

 

собрать Stargazer в отладочном режиме (находимся в папке stg-2.408/[/size]projects/stargazer/[/size]):

sudo ./build debug

 

Можно без sudo.

 

после этого собираем 

sudo make install

 

Без install, просто make. И можно без sudo.

 

копируем ручками файлики

sudo cp stargazer /usr/sbin/stargazer
sudo cp ../../lib/* /usr/lib/stg/
sudo cp modules/* /usr/lib/stg/

 

Библиотеки можно не копировать, cp ../../lib не нужно.

 

устанавливаем gdb, и потом из под него запускаем stargazer

sudo gdb /usr/sbin/stargazer
После этой команды откроется консоль gdb. Там надо выполнить:

r /etc/stargazer

и ждать падения stargazer?

 

поправьте плиз, если что то упустил.

После падения делаем thread apply all bt и выхлоп мне (сюда или на почту faust@stg.dp.ua).

Share this post


Link to post
Share on other sites

ещё один нюанс, который заметил сегодня (опять упал stargazer). Падает stargazer когда удаляешь абонента через в Ubilling "Чёрная магия"->"Удаление пользователя"

 

 

P.S. stargazer пока не пересобрал, лень ночью выходить... днём абонентиГи скушают ))) Но на днях всё же решусь.

Share this post


Link to post
Share on other sites

это то понятно... только абоненты у нас мотёрые, с вилами могут прийти ))) шучу шучу...

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Impulsee
      День добрый!
      Есть Связка Ubilling+NAS на freebsd. 
      Настроена на Виртуалке VMware. 
      Без VLAN все работает идеально. Трафик бегает, IP раздается, Денюжка зачисляется и т.д.
      Появилась потребность поднять 3 VLAN на локальном интерфейсе для Абонов. 
      Сделал: /etc/rc.conf
       
      Вывод /etc/firewall.conf 
       
       
      Сети, шаблоны NAS, в биллинге прописал. Абоны IP получают через VLAN. Интернет есть....
       
      НО:
       
      При отрицательном балансе на em1 все отключается мгновенно, и отправляет в кабинет. 
      А на VLAN сетях Интернет есть. 
       
      Кусок /var/stargazer/allconnect.log

       
      кусок /var/log/stargazer.log
       
       
      Подскажите, плиз, в какую сторону копать?
       
    • By mac
      Добрый день всем!
      Прочитал в вики про Stargazer 2.409 о том, что "реализованы плавающие периоды тарификации".
      Это то, что я думаю??? (пример) :
       
      Где, кроме исходного кода, можно узнать более подробно, какие параметры использовать? В документации к Stargazer 2.408 не нашел или не увидел.
    • By ppv
      Підкажіть будь ласка яким чином генерується Платіжний ID, а це в мене в деяких абонентів 10 цифр а в деяких 9?
       
       
    • By ppv
      В 79 строці файлу https://github.com/nightflyza/Ubilling/blob/master/openpayz/frontend/ipayx/index.php
      79   $customerId = $transactionInfo->acc;
      Так не працює, але якщо acc замінити на order тоді все гуд.
    • By pavlabor
      Почитал вопросы возникающие вокруг работы ubilling и понял что проблемы связаны с архитектурой  Stargazer
      Насколько я понял проблем очень много, некоторые из них.
      Stargazer работает с базой в памяти и при параллельной работе с базой возникают конфликты с работой, например с внесением оплаты другим приложением.
      При остановке Stargazerа или биллинга идет сбой работы Насов.
      Текущая архитектура может стать ограничением по количеству возможно обслуживаемых клиентов.
       
      Проблемы не все, но этих достаточно чтобы задуматься о альтернативе написания эмулятора  Stargazer-а.
      Мое понимание, эмулятор должен выглядеть как модуль, который можно включить или выключить, или выбор работы или через Stargazer, или через внутренний модуль.
       
      Приветствуется любая критика и предложения,
      помощь в консультации и программировании.
      Спонсирование заинтересованных сторон, приветствуется.
×