Перейти до

Масовий ресет


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

За яких обставин (налаштувань) може відбуватися масовий ресет?

NAS і Ubilling(0.7.0 rev. 4720) на окремих серверах. Користувачів 470. Сьогодні пару абонентів подзовинили і повідомили що у них пропав Інтернет.

Перевіряю  таблицях ipfw на NAS - IP прописане в таблицях 3 і 4, а от pipe для цього IP є тільки до таблиці 3 а до 4 нема. І так по кожному абоненту. В логах allconnect.log на NAS - масовий ресет користувачів з часу до двух ночі. При чому якраз на цих користувачах, що не прописалися pipe вискакували помилки:

Warning: mysql_connect(): MySQL server has gone away in /etc/rscriptd/GetUpSpeed on line 5
 
Warning: mysql_connect(): Error while reading greeting packet. PID=40025 in /etc/rscriptd/GetUpSpeed on line 5
 
Warning: mysql_connect(): MySQL server has gone away in /etc/rscriptd/GetUpSpeed on line 5
 
Warning: mysql_select_db(): No such file or directory in /etc/rscriptd/GetUpSpeed on line 6
 
Warning: mysql_select_db(): A link to the server could not be established in /etc/rscriptd/GetUpSpeed on line 6
 
Warning: mysql_query(): No such file or directory in /etc/rscriptd/GetUpSpeed on line 8
 
Warning: mysql_query(): A link to the server could not be established in /etc/rscriptd/GetUpSpeed on line 8
 
Кожному з цих абонентів я зробив ресет вручну - все працює. Але чому могла виникнути така ситуація. Раніше такого не помічав. Ніяких серйозних змін в системі не робив, крім оновлення Ubilling. Правда вночі пропадав канал із шлюзом пару раз і як раз приблизно в цей час. Але хіба при падінні каналу зі шлюзом повинен відбуватися масовий ресет? Перевірив в логах піврічної давності - такого не спостерігалося. В alter.ini MASSRESET_ENABLED=0
Ссылка на сообщение
Поделиться на других сайтах

 

 

NAS і Ubilling(0.7.0 rev. 4720)

Доброго дня панове некрофіли.

 

http://wiki.ubilling.net.ua/doku.php?id=faq

 

Q: У вас так часто выходят релизы, обновляться объязательно?
A: Да. Что платной, что бесплатной поддержке подлежат только текущие версии Ubilling с ревизиями равными или большими ревизии последнего стабильного релиза. Обновления для того и выходят, чтобы вы любимые наши, не напоминали нам о багах исправленных еще год назад. И нет - предложения о портировании новых модулей в ваш «старый любимый 0.2.8» тоже не рассматриваются.

 

 

 

Кожному з цих абонентів я зробив ресет вручну - все працює. Але чому могла виникнути така ситуація.

Написано ж англіцьким по білому

 

 

 

MySQL server has gone away

 

 

 

Але хіба при падінні каналу зі шлюзом повинен відбуватися масовий ресет?

Дивлячись, шо ви розумієте під "масовим ресетом". Очевидно далеко не те, чим воно є насправді. В такому випадку, остаточно не зрозуміло, чому ви намагаєтесь оперувати невідомою вам термінологією, і при цьому сподіваєтесь, що хтось буде вгадувати, в чому ваша проблема і як в вас побудовано взаємодію з NAS-ами.

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

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

ну и да, загадка что ж там с бд такого происходит

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

Під "масовим ресетом" я мав на увазі масове відключення всіх користувачів і повторне їх включення за дуже малий проміжок часу. В прикріпленому файлі - лог цих подій(з allconnect.log).

allconnect.txt

Схоже дійсно на те як сказав l1ght - втрачається звязок між білінгом і насом, я дійсно і раніше спостерігав при падінні каналу перших секунд 10-20 не маю доступу до сервера з насом. Що відбувалося з бд в той час не можу сказати, логування в mysql не було включено.

А на рахунок, як побудована взаємодія з NAS, то як описано в рекомендціях до Ubilling так і зробив. Два сервера, на обох intel i350-t4, один інтерфейс NAS аплінковий, інший - на обонентів і біллінг. Установлював і біллінг і NAS зі скриптів інсталяторів, що вказані в документації до Ubilling.

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

 

 

Під "масовим ресетом" я мав на увазі масове відключення всіх користувачів і повторне їх включення за дуже малий проміжок часу. В прикріпленому файлі - лог цих подій(з allconnect.log).

Як водиться просто дісконнект при втраті зв'язку між rscript та біллінговим сервером. Це штатна поведінка - так і має бути. Має це якесь відношення до події "ресет"? Ні - не має. Має це якесь відношення до старої механіки примусового массресету? Ні - не має. А ви собі продовжуйте розуміти як хочете.

 

 

 

А на рахунок, як побудована взаємодія з NAS, то як описано в рекомендціях до Ubilling так і зробив. Два сервера, на обох intel i350-t4, один інтерфейс NAS аплінковий, інший - на обонентів і біллінг.

Ну про існування зовнішнього NAS-у з rscript очевидно, з вигляду оригінальної теми треба було здогадуватись. Окей - повгадували. Далі шо?

Або осильте хоч якийсь стабільний лінк між біллінгом та НАС-ом(нормальний варіант), або крутіть таймаут в rscriptd.conf (ублюдський варіант) - більше вам порадити нічого.

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

Дякую за поради. 

До речі, про існування зовнішнього NAS-су, я написав ще в першому пості

 

 

NAS і Ubilling(0.7.0 rev. 4720) на окремих серверах.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Вхід

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

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

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

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

    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
    • Від ukrtelekom
      Доброго часу!
      Шукається адміністратор віддалений для разової роботи по коригуванню працюючого Ubilling з мікротами. Якщо стосунки зклєяться- то до постійної додаткової копійки. 
      Всім заздалегідь дякую. Хейти, бажано не писати. Контакти в приватні повідомлення або O73283344O
×
×
  • Створити нове...