-
Всього повідомлень
4 122 -
Приєднався
-
Останній візит
-
Дней в лидерах
22
Тип контенту
Профили
Форум
Календарь
Сообщения додав madf
-
-
Без понятия. rscriptd тут точно никаким боком не замешан.
-
Господа, вам денег предлагают а вы картинки постите.
-
Те-же, что и раньше, те-же что в документации — любые.Ну зачем так грубо...)
Вопросик ещё. (Доберусь до железок дня через два-три...)
Какие параметры теперь можно передавать?
-
(Sh)it happens...спасибо madf глаза открыл!
я ж сам командой install убил все конфиги...и не проверив пишу на форум.....
-
Нет, он исправляет проблему отправки неправильных параметров при дисконнекте. Фактически раньше при дисконнекте отправлялись те которые были при коннекте.На сколько я понял код отправляет параметры при дисконнекте пользователя.
-
Фря?...
Далее делаю так(просто ./build выдает ошибку):
Фря!...
Делаю далее:
# make install make: "/usr/home/stg-2.409-rc2/projects/rscriptd/Makefile" line 31: Missing dependency operator ... #
Ну раз выдал ошибку делаю так:# gmake install mkdir -m 0755 -p //usr/sbin install -m 0755 -o root -s rscriptd //usr/sbin/rscriptd ... #
gmake install только что его скопировал. И конфиги все. И скрипты. И все что у вас ранее было наконфигурено — больше не наконфигурено.Копирую файл rscriptd из /usr/home/stg-2.409-rc2/projects/rscriptd/ в /usr/sbin/
ТО же что и не патченный.Запускаю:
/etc/rc.d/rscriptd start
Проверил, что есть две строки в процессах.Запускаем на другом сервере:
/ietc/rc.d/stargazer start
Проверяем наличие процессов stargazer.Смотрим отправку пакетов на удаленный сервер с помощью tcpdump - есть.
На удаленном сервере также проверяем приход пакетов управления на порт 9999 - есть.
В процессах rscriptd есть. В логе есть отметка о его запуске.
Что делает патченный rscriptd?
Наконфигурить.А ничего....
Что проверить надо мне?
что не так сделал?
-
Это процесс накладный по CPU а не по RAM или дисковому пространству.
Странно, у меня, при условии, что таблица постоянно обновляется, CPU 15% а RAM 99.9%
Я видимо не так прочитал коммент. Прием и анализ этой информации жрет CPU. Хранение ее не требует ни CPU ни RAM — хранение на диске происходит.
-
Вот патч исправляющий проблемы с передачей параметров в rscriptd при дисконнекте.
diff --git a/projects/rscriptd/listener.cpp b/projects/rscriptd/listener.cpp index cc2a056..0b626af 100644 --- a/projects/rscriptd/listener.cpp +++ b/projects/rscriptd/listener.cpp @@ -396,6 +396,7 @@ while (it != pending.end() && count < 256) { printfd(__FILE__, "Disconnect user '%s'\n", it->login.c_str()); // Disconnect existing user + uit->params = it->params; Disconnect(*uit); users.erase(uit); }
После патча нужно пересобрать rscriptd и положить новый бинарник туда где он запускается.
-
О_о так лучше)) еще вопрос. как можно узнать сколько пк стоит у абона после его роутера?
Кроме как прийти и посмотреть? Никак.
В модуле детальной статистики вы не увидите заголовки ресурсов, на которые заходили пользователи. Кроме того, хранение подобного рода информация в БД очень накладный процесс и требует большого количества ОЗУ. Так что, если есть возможность, зеркалируйте трафик и разбирайте его.
Это процесс накладный по CPU а не по RAM или дисковому пространству.
-
Оффтопик.
-
Не могу обещать никаких сроков.
-
Patches are welcome.
-
Конечно ограничена, это ж не математика а инженерия. Максимум 2147483647....
Величина чем то ограничена? Или можно хоть неделю ставить?
-
Нет, но можно поставить его побольше....
Есть способ отключить этот параметр?
...
-
В rscriptd.conf есть параметр UserTimeout, задается в секундах. Если в течении этого времени не буду приходить подтверждения о том что юзер еще законнекчен — он будет отключен. Выполнится OnDisconnect....
Спасибо, что сказали про тайм-аут. Как это происходит на NAS можете описать?
-
Они все равно отпадут по тайм-ауту....
вначале выдавал команду фаерволу на блокировку пакетов на порт 9999 удаленному серверу(с командой отключения юзеров), которые отправляет stg при выключении. Зачем это сделано? Ну вот представьте себе. Возникла необходимость профилактики сервера. Администратор дает команду остановки сервера и тут начинаются звонки от абонентов с вопросами - А где инет?! Вот чтоб не было этого я и дописал команду. При запуске на управляющем сервер:
...
По поводу неправильного значения — буду смотреть.
-
Так, стоп, давайте разберемся. Параметр не передается или передается с неправильным значением? Потому что я обсуждал не передачу параметра и в ваших скриптах нашел причину этому. Сейчас вы пишете что параметр все таки передается, но значение неправильное. Чему верить?
-
Скрипт OnDisconnect на удаленном сервере NAS(таблицы тут у нас свои):
#!/bin/sh FwCMD="/sbin/ipfw" login=$1 ip=$2 id=$3 cash=$4 d0=$5 ...
........ UserParams = Userdata0 #Passive #Phone #RealName #Userdata1 #Userdata6 #Note #Credit #Tariff ....
...Ну я же уже писал выше: login, ip, id. Нету там никакого cash. Если нужен — добавьте через UserParams.
-
У меня передается, как Passive, так и Down и Userdata0. Покажите скрипт полностью....
Но вот так и не смог добиться передачи параметра Passive на удаленный сервер через скрипт OnDisconnect.....
-
У меня передается.Madf, я в файле OnChange дописал скрипт который меняет параметр Userdata0 в зависимости от состояния параметров Down, Passive. А именно логика такая: Down=0&Passive=0 -> Usedata0=V, Down=0&Passive=1 -> Usedata0=Z, Down=1&Passive=1(или 0) -> Userdata0=O. Далее в проверках передачи состояния от управляющего сервер на NAS обнаружил, что скрипт OnDisconnect на удаленном сервере (NAS) не получает измененный параметр Userdata0.
В общем получается, что при переходе юзера из состояния Онлайн в состояние Офлайн или Заморожен, скрипт OnDisconnect на NAS-е получает всего 4 параметра: LOGIN, IP, CASH, ID.
Как вы определяете значения Down/Passive в OnChange?Другие параметры передаются только в том виде которые были до команды перехода юзера в состояние Офлайн или Заморожен.
На текущий момент пишем скрипт для обоих серверов, который бы передавал параметры на NAS, не используя rscriptd.
Хотелось бы чтоб в начале шло изменение параметров, а уж потом передача команды на удаленный сервер.
Или может я что-то не так делаю...?
-
Тут нечего исправлять, все работает. Буду ли я приводить параметры скриптов rscriptd к параметрам скриптов stg я пока не решил. Вероятно в версии 2.4 нет.Я поддержу предложение GrDEV.
В текущей ситуации на боевых серверах трафик управляется и рулится на одном серваке для группы юзеров(серверов несколько). Решили управление свести в одно ПО для нескольких серверов доступа(NAS). В процессе подготовки серверов обнаружены недочеты(я чуть ранее писал). В итоге на данный момент из-за невозможности передать Passive пришлось начать составлять скрипт чтобы глобально переписать Userdata0(сейчас используется как идентификатор параметра услуги для администраторов сети) для передачи его на удаленный NAS.
Т.к. параметр Passive имеет значимую роль, я все же буду ждать исправления от авторов. Чтоб я мог в будущем использовать Userdata0 по текущему назначению, а Passive по прямому назначению.
Благодарности авторам за Stargazer.
-
Не вижу как это решает проблему....
Как вариант просто сделать проверку на стандартные параметры. Все что попадает в выборку - стандартные, все остальное - пользовательские. Тогда и совместимость останется и будет как универсальное решение.
stg: login ip cash id dirs <userparams>
rscriptd: login ip id <userparams>
-
Я так понимаю вы взяли стоковые примеры скриптов OnConnect/OnDisconnect за основу. По неизвестной причине, rscriptd по умолчанию передает меньше параметров. А именно, login, ip, id. То есть UserParams будут идти начиная с 4-го аргумента. В таком раскладе все передает нормально.Параметр Down тоже не смог передать на удаленный NAS.
Вот только я теперь не знаю, что будет более правильно сделать: исправить скрипты (тогда непонятно почему локальные скрипты и rscriptd разные) или исправить rscriptd (и сломать обратную совместимость).
-
Воспроизвел у себя, буду исправлять.Есть сервер с базой и stg-2.409-rc2. Включен модуль remote_script. В конфиге remote_script.conf указал передаваемые параметры:
UserParams = Passive
Есть удаленный сервер NAS. установлен rscriptd. В нем есть OnConnect и OnDosconnect, в редакции под наши нужды.В общем не могу добиться передачи параметра Passive. Проверял передачу других параметров: Note, Phone, Userdata0...9, Credit, IP, Tariff, RealName - приходят на удаленный сервер. Параметры Login, IP, Cash, Id передаются.
А вот Passive никак....
Подскажите что проверить надо бы мне?
rscriptd
в Питання по Stargazer
Опубліковано:
Виндовый конфигуратор — очень древняя штука. Последние изменения в нем были в 2008-м году и с каждым выходом новой винды я надеюсь что он наконец умрет. К сожалению, у Windows очень хорошо с обратной совместимостью
А что в логе stg при таких ошибках?
Работает ли sgconf?