Jump to content
Local
Небесный

Мониторинг отвала связи между Stargazer & NAS (rcsript)

Recommended Posts

Если ли готовое решение на проверку отвала связи между Stargazer & NAS (rcsript)? Пропадает интернет от пару секунд до пару минут у некоторых абонентах, не могу отловить багу. Не хочу прямо грешить на Stargazer & NAS (rcsript), может быть проблема где-то и по транспорту к абоненту. Но, как вариант поиска проблемы - хотел промониторить эту связь.

Stargazer вроде как 408. Когда все стояло на одном сервере без NAS - песня была, когда разделил - начал замечать такую багу. Два сервера соеденены между собой отдельными сетевухами напрямую, без всяких там свичей и т.д.

База в файлах (динозавр - знаю 😉).

 

stargazer.conf

LogFile = /var/log/stargazer.log
PIDFile = /var/run/stargazer.pid
Rules = /etc/stargazer/rules
DetailStatWritePeriod = 1/6
StatWritePeriod = 30
DayFee = 1
DayFeeIsLastDay = no
DayResetTraff = 1
SpreadFee = yes
FreeMbAllowInet = no
WriteFreeMbTraffCost = yes
FullFee = yes
<DirNames>
    DirName0 = Internet
    DirName1 =
    DirName2 =
    DirName3 =
    DirName4 =
    DirName5 =
    DirName6 =
    DirName7 =
    DirName8 =
    DirName9 =
</DirNames>
ExecutersNum = 2
ModulesPath = /usr/lib/stg
MonitorDir=/var/stargazer/monitor
FeeChargeType = 1
ReconnectOnTariffChange = yes
<IncludeFile "conf-enabled.d/store_*.conf">
</IncludeFile>
<Modules>
    <IncludeFile "conf-enabled.d/mod_*.conf">
    </IncludeFile>
</Modules>
# Enable the authorization module InetAccess "mod_auth_ia.so"
<Module auth_ia>
    Port = xxxx
    UserDelay = 60
    UserTimeout = 60
    FreeMb = cash
</Module>
# Enable the module for remote execution of scripts OnConnect and OnDisconnect "mod_remote_script.so"
<Module remote_script>
    SendPeriod = 10
    SubnetFile = /etc/stargazer/remote_nas.conf
    Password = xxxxxxxxxxxxxx
    UserParams = Tariff
    Port = xxxx
</Module>

 

 

 

rcsriptd.conf

LogFileName = /var/log/rscriptd.log
ExecutersNum = 2
ConfigDir = /etc/rscriptd
Password = xxxxxxxxxxxxxxxxxx
Port = xxxx
UserTimeout = 60
ScriptOnConnect = /etc/rscriptd/OnConnect
ScriptOnDisconnect = /etc/rscriptd/OnDisconnect

 

И еще что, старгейзер 408 на убунте, рцскрипт 409 на фри. На счет разности версии не думаю, что проблема в этом. (ИМХО).

 

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

 

 

Madf, что скажешь?

Edited by Небесный

Share this post


Link to post
Share on other sites

Дай угадаю. Ты нифига не логируешь выполнение On* скриптов? В противном случае ты бы заметил, что отваливаются абоненты пачками, особенно в процессе массовой инициализации и довольно таки циклично. Правда?

 

Итого вывод напрашивается ровно один - таймаут нормальный в  rscriptd поставь.

Edited by nightfly

Share this post


Link to post
Share on other sites

Во-первых, 2.408 — древность. Разность версий тут не причем, но сидеть на древности — плохая примета.

Во-вторых, попингуй. Может у тебя потери пакетов там.

В-третьх, @nightfly правильно говорит, проверь таймауты.

Share this post


Link to post
Share on other sites

Ну у 2.408 все идеально на тему контактов с rscript из 2.409rc2 и 2.409rc5 - проверено веками. У него другая системная проблема, в виде "залипающих конфигураторов" которая по предварительным наблюдениям, полностью ушла в 2.409.

 

А по поводу отвалов юзеров - я более чем уверен, что у него до невозможности медленные On* скрипты откуда и не успевание уложится в дефолтный таймаут на каких либо осязаемых количествах юзеров.

Share this post


Link to post
Share on other sites
7 часов назад, nightfly сказал:

Итого вывод напрашивается ровно один - таймаут нормальный в  rscriptd поставь.

Нормальный - это какой. )))

 

#! /bin/sh

# Login
LOGIN=$1

#user IP
IP=$2

#user ID
ID=$3

TARIFF=$4
SPEED=`sh /etc/rscriptd/functions/getspeed.sh $TARIFF`
SCOUNT="Kbit"

IPFW_ID1=`expr $ID + 101`;
IPFW_ID2=`expr $ID + 18101`;

# Äîáàâëÿåì â òàáëèöó ðàçðåøåííûõ ïîëüçîâàòåëåé èíòåðåíò
/sbin/ipfw table 11 add $IP

#ñîçäàíèå ñîáñòâåííî ñàìîé òðóáû
/sbin/ipfw pipe $IPFW_ID1 config bw $SPEED$SCOUNT queue 32Kbytes
/sbin/ipfw pipe $IPFW_ID2 config bw $SPEED$SCOUNT queue 32Kbytes

#äîáàâëÿåì â òàáëèöó àéïèøêó ñ àéäè òðóáû
ipfw table 3 add $IP $IPFW_ID1
ipfw table 4 add $IP $IPFW_ID2

touch /etc/rscriptd/online_users/$LOGIN
echo "$IPFW_ID1 $IPFW_ID2 $TARIFF" > /etc/rscriptd/online_users/$LOGIN

#echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log

 

 

Ну и сама функция

#!/bin/bash

ftariff=$1
pr_bomba=`echo $ftariff | head -c 5`
proverka=$(echo "$ftariff" | sed "s/[^0-9]//g")
streth=$(echo "$ftariff" | grep 'eth')

if [ "$proverka" != "" ]
then
    if [ `date +"%H:%M"` \< "10:00" ]
        then
            fspeedkb=1000000 # Íî÷íîé òàðèô ÁÎÌÁÀ
        else
                fspeedkb=$(($proverka + ($proverka/100)*20)) # Äíåâíîé òàðèô
        fi
fi

if [ "$streth" = "$ftariff" ];
then
        if [ `date +"%H:%M"` \< "10:00" ]
        then
                fspeedkb=1000000 # Íî÷íîé òàðèô ÁÎÌÁÀ
        else
                fspeedkb=$(($proverka * 2 + ($proverka/100)*20)) # Äíåâíîé òàðèô
        fi
fi


if [ "$proverka" = "" ];
then
        fspeedkb=64
fi

echo $fspeedkb

 

Share this post


Link to post
Share on other sites
1 минуту назад, Небесный сказав:

Нормальный - это какой. )))

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

 

2 минуты назад, Небесный сказав:

#echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log

Я же говорил...что нихера ты не логируешь.

А так бы ты знал, сколько времени примерно уходит на каждого юзера ;)

Share this post


Link to post
Share on other sites
48 минут назад, nightfly сказал:

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

 

Я же говорил...что нихера ты не логируешь.

А так бы ты знал, сколько времени примерно уходит на каждого юзера ;)

😀 Уговорил друг, пойду и раскоментирую. Поставил 300 таймаут, сойдет. Если пропадает проблема, потом начну уменьшать - если дело в этом.

Share this post


Link to post
Share on other sites
2 минуты назад, Небесный сказав:

Если пропадает проблема, потом начну уменьшать

зачем, и какая в этом логика?

 

2 минуты назад, Небесный сказав:

если дело в этом.

в этом.

 

Хотя я уже ничему не удивляюсь и привык, что окружающие прилагают просто космические какие-то усилия для того чтобы делать что угодно и найти себе проблем на ж#пу и поебаться на ровном месте, вместо того, чтобы просто работать и быть счастливыми.

Share this post


Link to post
Share on other sites
3 минуты назад, nightfly сказал:

зачем, и какая в этом логика?

 

в этом.

 

Хотя я уже ничему не удивляюсь и привык, что окружающие прилагают просто космические какие-то усилия для того чтобы делать что угодно и найти себе проблем на ж#пу и поебаться на ровном месте, вместо того, чтобы просто работать и быть счастливыми.

😋 Если чесно, если оно заработает, кто туда полезет. Нету ничего постоянного, как временное. 😁

 

Отчего у меня версия 408 стоит то? От сюда оно. )))

Edited by Небесный

Share this post


Link to post
Share on other sites

Эх, и все же это не биллинг. ((( У сотрудника отвалился на полминуты интернет, я проверил логи, а конекта-дисконекта то не было. Будем искать по пути транспорта. В рамки данного раздела форума - это не входит.

 

Да и вот логи, за пару часов - это точно не оно.

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

C 2020.08.20-19.02.14 10.104.0.11
C 2020.08.20-19.02.23 10.104.0.11
C 2020.08.20-19.16.21 10.200.0.106
C 2020.08.20-20.11.16 10.10.25.205
C 2020.08.20-21.23.40 10.10.26.39

 

Edited by Небесный

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 ppv
      Після переїзду на оновлений сервер (відповідно змінилась версія з PHP Version 5.4.45 на  PHP Version 7.4.0), вискакує помилка.
       
      Notice: Trying to access array offset on value of type null in /usr/local/www/apache24/data/billing/api/libs/api.corporate.php on line 81
       
      Хтось може щось підкаже

    • By KJack
      Продам NAS  4x250Gb hdd ціна 900 грн 







    • By Serverator
      Многодисковые хранилища с поддержкой RAID. 
      Некоторые модели в стойку
      Все новое запакованое, гарантия.
      Интерфейс - USB, 1394, Thunderbolt, RJ45
      Количество в наличии  1-3шт каждой модели
       
      ЦЕНЫ 50% от рыночных!!
       
      Stardom SOHOTANK ST5610 ST5610-4S-U5 RAID 0, 1, 3, 5, 6, 10 miniSAS 4-Bay miniSAS Пристрій гарячого заміни RAID.   90ye
      STARDOM Deck 4-Bay eSATA + FW400 / 800 + USB 2.0 корпус1U Підтримка RAID 5.  100ye
      Stardom Sohotank ST8-S2P-4Sx8 8-накопичувач SATA JBOD Корпус із інтерфейсом eSATA   300ye
      STARDOM SD-MR2-WBS2 - SOHORAID MR2-WBS2. 80ye
      STARDOM SOHORAID MR2-WB3 2-Bay USB корпус RAID 80ye
      Stardom DeckRaid DR5-WBS3 300ye
      Stardom Decktank DT2-WBS  80ye
      Stardom SR6500-WB ext.SOHO-RAID, 5 x IDE HDD, RAID 0,1,3,5 1394b, USB2 150ye
      Stardom Sohoraid SR4-WBS3+  150ye
      Stardom Safe Capsule SC2-WB3 2-Bay 3,5 "" SATA Firewire 800 x 2 порти + USB 3.0 порт RAID 0,1.  50ye
      Капсула Stardom Safe SC2-B2 RAID 1 / JBOD 2 3,5 "накопичувач накопичувачів 1x USB 2.0 підсистема RAID1 / JBOD і USB-концентратор, сумісний з Mac.  50ye
      STARDOM Sohotank ST2-WB3 2-Bay USB-RAID масив USB 3.0 60ye
      Qnap NAS Server TS-101 Turbo Statio 100ye
      AKiTiO Neutrino Thunder Duo 2 x 1TB 2,5 "Thunderbolt x 2 Mac AK-NEU2-TIS-AKT1UH THUNDER DUO Thunderbolt.   80ye
      miniEPICa серія EP-D501-C3A 3,5- USB 3.0, eSATA, 1394b-SATA II RAID на 5 Bays 100ye
      Areca ARC-5040  350ye







    • By madf
      И снова здравствуйте!

      Ссылка для скачивания: https://stg.net.ua/files/stg-2.409.tar.gz

      Важная информация
      В связи с тем что управление доменом stg.dp.ua находится у третьих лиц, и отдавать его они никак не хотят (древние терки примерно 15-летней давности), старый сайт существует лишь по столько по скольку. Почта на домене stg.dp.ua и stargazer.dp.ua умерла, по этому писать на старые адреса мне или stg34 смысла нет. Мне можно писать на stg@madf.info.

      На новом сайте есть HTML-версия документации (https://stg.net.ua/doc/index.html) и XML-RPC API (https://stg.net.ua/doc/api/index.html).

      Новый сайт: https://stg.net.ua
      Багтреккер: https://stg.codes
      Репозиторий: https://git.stg.codes
      Зеркало на GitHub: https://github.com/madf/stg
       
      В планах — модернизация проекта, перевод его на современный стандарт C++ (11, 14, 17 а может и 20), переход на CMake для сборки, предоставление REST или JSON-RPC API для упрощения построения веб-интерфейсов. Возможно простенький встроенный веб-интерфейс на замену конфигуратора под Windows. Часть работ уже ведется в репозитории в ветке master.

      А тепер, собственно, о релизе:

      General:
      Новый сайт (https://stg.net.ua), багтреккер (https://stg.codes), репозиторий (https://git.stg.codes) и зеркало проекта на GitHub (https://github.com/madf/stg). Документация приведена в порядок и выложена на сайт в виде HTML. Поддержка FreeBSD10, FreeBSD11 и FreeBDS12. А так же, потенциально, следующих версий. Удалены устаревшие и тестовые плагины. Проект convertor переименован в sgconv. Compilation:
      Добавлена возможность переопределить стандартные утилиты ar и ranlib при сборке с помощью переменных окружения AR и RANLIB. * Добавлена возможность собрать только библиотеки. Добавлена возможность сборки на платформе Darwin (Stargazer теперь можно запускать на Mac OS X, но это больше для разработки). Libraries:
      В библиотеку шифрования добавлена поддержка потокового шифрования/расшифровки. Plugins:
      (Linux) Добавлен плагин захвата трафика nfqueue, на замену устаревшему ipqueue. (FreeBSD) В плагин divert добавлена возможность отключения форвардинга трафика. В плагин InetAccess добавлена возможность включать журналирование ошибок протокола. В плагин InetAccess добавлена возможность перечитывания некоторых парамеров по SIGHUP. В плагин XMLRPC добавлен метод получения списка авторизаторов используемых пользователем. В плагин XMLRPC добавлено управление политиками тарификации. В плагине sgconfig реализована возможность обработки нескольких параллельных запросов одновременно. В плагин SMUX добавлена возможность реконнекта. stargazer:
      Добавлена возможность передавать произвольный набор параметров в скрипты OnConnect/OnDisconnet, в том числе через rscriptd (см. параметры ScriptParams и UserParams). Добавлена возможность отключать журналирование сессий (см. параметр DisableSessionLog). Добавлена возможность фильтровать журналирование изменений параметров (см. параметр FilterParamsLog). Добавлена возможность использовать ежедневное списание абонплаты с фиксированной суммой. Добавлены политики тарификации (временный запрет на смену тарифа вниз, вверх или вообще). sgconf/sgconf_xml:
      Добавлена возможность получить список авторизаторов используемых пользователем. Разрешено использовать точку в логинах админов и пользователей. Добавлено управление политиками тарификации.
      По сравнению с stg-2.409-rc5 изменения только в системе сборки (переопределение AR и RANLIB), документации и установочных конфигах.

      Для пользователей СУБД Firebird и PostgreSQL нужно обновить версию структуры БД до 2 и 8 соответственно.

      Пользователям Firebird нужно воспользоваться файлами:
      projects/stargazer/inst/var/01-alter-02.sql projects/stargazer/inst/var/02-alter-03.sql Пользователям PostgreSQL нужно воспользоваться файлами:
      projects/stargazer/inst/var/01-alter-02.postgresql.sql projects/stargazer/inst/var/02-alter-03.postgresql.sql Если структуру БД не обновлять — система будет работать корректно, но функции ежедневных тарифов и политик тарификации будут работать в „демо-режиме“, до первой перезагрузки.

      Пользователи файловой базы и СУБД MySQL получат обновление автоматически при запуске новой версии Stargazer.
       
      stg-2.409.tar.gz
      help.pdf
    • By Yewhenyi
      Сетевой дисковый накопитель NAS D-Link DNS-320L ShareCenter на два жёстких диска и поддержкой сервиса mydlink.
       
      Рабочие!

      Имеются незначительные косметические изъяны - потёртости, царапинки. На работу не влияют.
       
      Комплектация полная.
       
      Цена 1350 грн./шт.
       
      Пересылка по Украине! Без предоплат! 
      В Киеве есть самовывоз в районе метро Минская.
      Отвечу на ваши вопросы по телефону +380997302055



×