threem 0 Опубликовано: 2011-03-29 13:02:18 Share Опубликовано: 2011-03-29 13:02:18 здравствуйте! собрал и запустил на одном сервер 2.406 на другом rscriptd той же версии, в результате, вижу что при авторизации и подключении пользователя, идет пакет от сервера, но скрипт не запускается, как можно дебагить процесс чтобы понять в чем дело то а? Ссылка на сообщение Поделиться на других сайтах
Небесный 26 Опубліковано: 2011-03-29 13:44:35 Share Опубліковано: 2011-03-29 13:44:35 Для начала обновите версию. Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-29 14:27:22 Автор Share Опубліковано: 2011-03-29 14:27:22 Для начала обновите версию. а чего старую не заюзать? или она не рабочая в в задаче темы? Ссылка на сообщение Поделиться на других сайтах
nightfly 1 241 Опубліковано: 2011-03-29 14:49:19 Share Опубліковано: 2011-03-29 14:49:19 Для начала обновите версию А сами то пробовали rscriptd там? Могу поспорить что нет. Там изкоробки формат ID пользователя сломан - нужно патчить на ручнике. а чего старую не заюзать? Препятствий не вижу - сам пока на 2.406 или она не рабочая в в задаче темы? ну на девяти NASах как-то работает ЗЫ в 2.407 rscriptd очень крут. Ждем с нетерпением rc3 Ссылка на сообщение Поделиться на других сайтах
nightfly 1 241 Опубліковано: 2011-03-29 14:54:32 Share Опубліковано: 2011-03-29 14:54:32 идет пакет от сервера угу, вдумчиво всмотритесь в фаервол - не грохается ли какой-то UDP трафик по дороге Там все просто и работает. Со стороны биллинга /etc/stargazer.conf <Module remote_script> SendPeriod = 10 SubnetFile =/etc/stargazer/remote_nas.conf Password = mypassword UserParams=Cash Tariff Port = 9999 </Module> Со стороны NAS rscriptd.conf LogFileName=/var/log/rscriptd.log ExecutersNum=1 ConfigDir=/etc/rscriptd Password=mypassword Port=9999 UserTimeout=60 ScriptOnConnect=/etc/rscriptd/OnConnect ScriptOnDisconnect=/etc/rscriptd/OnDisconnect Единственное на что стоит обратить внимание что при конфиге приведенном выше OnConnect/OnDisconnect будут получать параметры в виде: LOGIN=$1 IP=$2 CASH=$4 ID=$3 Ну и опять же chmod a+x Дебужится все очень просто скажем методом echo "CONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH" >> /var/log/allconnect.log Также помниться для rscriptd объязательно в OnConnect/OnDisconnect указывать #!/путь/к/интерпритатору Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-29 17:31:21 Автор Share Опубліковано: 2011-03-29 17:31:21 идет пакет от сервера угу, вдумчиво всмотритесь в фаервол - не грохается ли какой-то UDP трафик по дороге Там все просто и работает. Со стороны биллинга /etc/stargazer.conf <Module remote_script> SendPeriod = 10 SubnetFile =/etc/stargazer/remote_nas.conf Password = mypassword UserParams=Cash Tariff Port = 9999 </Module> Со стороны NAS rscriptd.conf LogFileName=/var/log/rscriptd.log ExecutersNum=1 ConfigDir=/etc/rscriptd Password=mypassword Port=9999 UserTimeout=60 ScriptOnConnect=/etc/rscriptd/OnConnect ScriptOnDisconnect=/etc/rscriptd/OnDisconnect Единственное на что стоит обратить внимание что при конфиге приведенном выше OnConnect/OnDisconnect будут получать параметры в виде: LOGIN=$1 IP=$2 CASH=$4 ID=$3 Ну и опять же chmod a+x Дебужится все очень просто скажем методом echo "CONNECT: ID-$ID;LOGIN-$LOGIN;IP-$IP;CASH-$CASH" >> /var/log/allconnect.log Также помниться для rscriptd объязательно в OnConnect/OnDisconnect указывать #!/путь/к/интерпритатору каждый скрипт содержит в начале верный путь к интерпритатору конфиги модуля и демона идентичны, стоит правило на сервере разрешающее ходить трафику на всем интерфейсе вообще, при исходящем трафике от сервера, тот же 1 удп пакет на 9999 порт 20:15:14.507714 IP 192.168.2.123.1208 > 192.168.2.101.9999: UDP, length 1048 скажите плиз, при авторизации одно юзера, один пакет нужен для запуска скрипта с соотв параметрами, чтобы хоть знать что глючает, сервер или рскриптд? далее ОнКоннект скрипт, просто вписывает дату, в лог файл, пока для дебага и этого не происходит, при коннекте юзера, если руками запустить то пашет естественно. со стороны НАСа, 2011-03-29 15:43:48 -- +++++++++++++++++++++++++++++++++++++++++++++ 2011-03-29 15:55:04 -- rscriptd v. 2.406 2011-03-29 15:55:04 -- Message queue created successfully. msgKey=5555 msgID=229376 2011-03-29 15:55:04 -- rscriptd started successfully. 2011-03-29 15:55:04 -- +++++++++++++++++++++++++++++++++++++++++++++ лог такой, и запущены рскриптД и старгайзнутых процессов по количеству у меня 1-2 Ссылка на сообщение Поделиться на других сайтах
nightfly 1 241 Опубліковано: 2011-03-29 19:49:58 Share Опубліковано: 2011-03-29 19:49:58 скажите плиз, при авторизации одно юзера, один пакет нужен для запуска скрипта с соотв параметрами, чтобы хоть знать что глючает, сервер или рскриптд? Нет, он целиком шлет состояние всех юзеров и потом контролирует что в нем изменилось - в этом и ценность. далее ОнКоннект скрипт, просто вписывает дату, в лог файл, пока для дебага и этого не происходит, есть подозрение что вы не совсем верно могли заполнить SubnetFile, покажите чтоли. Также я бы сильно-сильно рекомендовал перебрать для теста rscriptd в дебаге(gmake clean && ./build debug && gmake install-bin) - вот сразу себе и увидите наглядно что он делает и почему. Можете также поставить alwaysonline какомунить юзеру чтобы быть точно уверенным что для него "по всей логике" должен сработать onconnect из удаленного rscriptd (кстати на одном хосте с самим старгейзером он у меня отказывался вобще исполнять скрипты, почему так и не понял). Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-30 06:52:22 Автор Share Опубліковано: 2011-03-30 06:52:22 ))я был бы безумно рад найти ошибку в файле с сетями, но не тут то было, он прост как 1+1 и поскольку идет отправка пакета именно тогда когда я авторизуюсь, значич он верно прописан логически а синтаксис проверяется бутом процесса, я работаю всего с одним хостом, на отдельном, резервном, сервере и насе, сервер работал локально точняк. 192.168.12.0/24 192.168.2.101 вот содержимое файла с сетями и НАСами, при этом, инет эесесс загорается зеленым. (кстати на одном хосте с самим старгейзером он у меня отказывался вобще исполнять скрипты, почему так и не понял) -- может это совпадение, у меня на этом хосто тож заинстален старгайзер, на данн момент не запущен, попробую удалить его отседава сча попробую Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-03-30 08:17:00 Share Опубліковано: 2011-03-30 08:17:00 скажите плиз, при авторизации одно юзера, один пакет нужен для запуска скрипта с соотв параметрами, чтобы хоть знать что глючает, сервер или рскриптд? Нет, он целиком шлет состояние всех юзеров и потом контролирует что в нем изменилось - в этом и ценность. ... Не совсем так. Он шлет по пакету на каждое событие Connect и Disconnect и по alive-пакету на каждого подключенного пользователя. rscriptd со своей стороны по этим пакетам отслеживает состояние пользователей и выполняет необходимые скрипты. По остальным пунктам согласен - надо журнал работы отладочной версии. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-03-30 08:18:48 Share Опубліковано: 2011-03-30 08:18:48 ... (кстати на одном хосте с самим старгейзером он у меня отказывался вобще исполнять скрипты, почему так и не понял) -- может это совпадение, у меня на этом хосто тож заинстален старгайзер, на данн момент не запущен, попробую удалить его отседава сча попробую Наверное потому что совпадают ID для Message Queue. Если их сделать разными - должно работать. Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-30 09:32:37 Автор Share Опубліковано: 2011-03-30 09:32:37 вот это реальный дебаг, дякую! очень помогает listener.cpp > 12:26:26 > Encryption initiated with password '123456' listener.cpp > 12:26:26 > LISTENER::Start() listener.cpp > 12:26:26 > Port: 9999 listener.cpp > 12:26:26 > LISTENER::PrepareNet() >>>> Start successfull. listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run мда, в обоих конфигах один и тот же пароль, нет никаких пробелов ни коца строки, и пишит такую фигню Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-30 09:37:54 Автор Share Опубліковано: 2011-03-30 09:37:54 ... (кстати на одном хосте с самим старгейзером он у меня отказывался вобще исполнять скрипты, почему так и не понял) -- может это совпадение, у меня на этом хосто тож заинстален старгайзер, на данн момент не запущен, попробую удалить его отседава сча попробую Наверное потому что совпадают ID для Message Queue. Если их сделать разными - должно работать. это как? где смотреть и менять ? в логе rscriptd вижу такое Message queue created successfully. msgKey=5555 msgID=655360 Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-03-30 10:51:43 Share Опубліковано: 2011-03-30 10:51:43 вот это реальный дебаг, дякую! очень помогает listener.cpp > 12:26:26 > Encryption initiated with password '123456' listener.cpp > 12:26:26 > LISTENER::Start() listener.cpp > 12:26:26 > Port: 9999 listener.cpp > 12:26:26 > LISTENER::PrepareNet() >>>> Start successfull. listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run мда, в обоих конфигах один и тот же пароль, нет никаких пробелов ни коца строки, и пишит такую фигню Совпадает ли архитектура сервера на котором запущен Stargazer с архитектурой сервера на котором запущен rscriptd? Не используются ли Sparc/Sparc64? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2011-03-30 10:53:11 Share Опубліковано: 2011-03-30 10:53:11 ... (кстати на одном хосте с самим старгейзером он у меня отказывался вобще исполнять скрипты, почему так и не понял) -- может это совпадение, у меня на этом хосто тож заинстален старгайзер, на данн момент не запущен, попробую удалить его отседава сча попробую Наверное потому что совпадают ID для Message Queue. Если их сделать разными - должно работать. это как? где смотреть и менять ? в логе rscriptd вижу такое Message queue created successfully. msgKey=5555 msgID=655360 Параметр ExecMsgKey. Поставить что-то отличное от 5555. Ссылка на сообщение Поделиться на других сайтах
threem 0 Опубліковано: 2011-03-30 11:21:43 Автор Share Опубліковано: 2011-03-30 11:21:43 вот это реальный дебаг, дякую! очень помогает listener.cpp > 12:26:26 > Encryption initiated with password '123456' listener.cpp > 12:26:26 > LISTENER::Start() listener.cpp > 12:26:26 > Port: 9999 listener.cpp > 12:26:26 > LISTENER::PrepareNet() >>>> Start successfull. listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run listener.cpp > 12:26:26 > Magic: 'К■{J listener.cpp > 12:26:26 > Incorrect password or invalid packet! listener.cpp > 12:26:26 > LISTENER::Run мда, в обоих конфигах один и тот же пароль, нет никаких пробелов ни коца строки, и пишит такую фигню Совпадает ли архитектура сервера на котором запущен Stargazer с архитектурой сервера на котором запущен rscriptd? Не используются ли Sparc/Sparc64? Linux reserv 2.6.26-2-686 #1 SMP Sat Nov 20 23:06:30 UTC 2010 i686 GNU/Linux -- rscriptd FreeBSD odex.freenet.od.ua 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Thu Sep 16 21:19:52 UTC 2010 root@:/usr/src/sys/i386/compile/FREENET i386 -- stargazer насколько мне известно нет такого добра, вроде оба дуалкора интеловых поменял ExecMsgKey=4444, сообщения все те же, ничего не поменялось в сторону улучшения Ссылка на сообщение Поделиться на других сайтах
vlad5503 1 Опубліковано: 2016-10-19 10:47:44 Share Опубліковано: 2016-10-19 10:47:44 Есть сервер с базой и 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 никак.... Подскажите что проверить надо бы мне? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-10-20 06:46:02 Share Опубліковано: 2016-10-20 06:46:02 Есть сервер с базой и 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 никак.... Подскажите что проверить надо бы мне? Воспроизвел у себя, буду исправлять. Ссылка на сообщение Поделиться на других сайтах
vlad5503 1 Опубліковано: 2016-10-20 11:08:31 Share Опубліковано: 2016-10-20 11:08:31 Параметр Down тоже не смог передать на удаленный NAS. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-10-20 20:40:12 Share Опубліковано: 2016-10-20 20:40:12 Параметр Down тоже не смог передать на удаленный NAS.Я так понимаю вы взяли стоковые примеры скриптов OnConnect/OnDisconnect за основу. По неизвестной причине, rscriptd по умолчанию передает меньше параметров. А именно, login, ip, id. То есть UserParams будут идти начиная с 4-го аргумента. В таком раскладе все передает нормально. Вот только я теперь не знаю, что будет более правильно сделать: исправить скрипты (тогда непонятно почему локальные скрипты и rscriptd разные) или исправить rscriptd (и сломать обратную совместимость). Ссылка на сообщение Поделиться на других сайтах
GrDEV 44 Опубліковано: 2016-10-21 05:11:09 Share Опубліковано: 2016-10-21 05:11:09 Параметр Down тоже не смог передать на удаленный NAS.Я так понимаю вы взяли стоковые примеры скриптов OnConnect/OnDisconnect за основу. По неизвестной причине, rscriptd по умолчанию передает меньше параметров. А именно, login, ip, id. То есть UserParams будут идти начиная с 4-го аргумента. В таком раскладе все передает нормально. Вот только я теперь не знаю, что будет более правильно сделать: исправить скрипты (тогда непонятно почему локальные скрипты и rscriptd разные) или исправить rscriptd (и сломать обратную совместимость). Как вариант просто сделать проверку на стандартные параметры. Все что попадает в выборку - стандартные, все остальное - пользовательские. Тогда и совместимость останется и будет как универсальное решение. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-10-21 06:16:56 Share Опубліковано: 2016-10-21 06:16:56 ... Как вариант просто сделать проверку на стандартные параметры. Все что попадает в выборку - стандартные, все остальное - пользовательские. Тогда и совместимость останется и будет как универсальное решение. Не вижу как это решает проблему. stg: login ip cash id dirs <userparams> rscriptd: login ip id <userparams> Ссылка на сообщение Поделиться на других сайтах
GrDEV 44 Опубліковано: 2016-10-21 06:56:02 Share Опубліковано: 2016-10-21 06:56:02 Все. Понял. Наверно корректней будет внести изменения в rscriptd Считаю что данные должны передаваться в одинаковом формате для stg и rscriptd Ссылка на сообщение Поделиться на других сайтах
nightfly 1 241 Опубліковано: 2016-10-21 09:29:16 Share Опубліковано: 2016-10-21 09:29:16 Эв, эв - какое сломать совместимость, мсье? Народ, вообще повергает в ужас, что им придется, что-то менять, тем более не автоматически, что-то за пределами директории www/billing. Ссылка на сообщение Поделиться на других сайтах
vlad5503 1 Опубліковано: 2016-10-22 04:17:59 Share Опубліковано: 2016-10-22 04:17:59 Я поддержу предложение GrDEV. В текущей ситуации на боевых серверах трафик управляется и рулится на одном серваке для группы юзеров(серверов несколько). Решили управление свести в одно ПО для нескольких серверов доступа(NAS). В процессе подготовки серверов обнаружены недочеты(я чуть ранее писал). В итоге на данный момент из-за невозможности передать Passive пришлось начать составлять скрипт чтобы глобально переписать Userdata0(сейчас используется как идентификатор параметра услуги для администраторов сети) для передачи его на удаленный NAS. Т.к. параметр Passive имеет значимую роль, я все же буду ждать исправления от авторов. Чтоб я мог в будущем использовать Userdata0 по текущему назначению, а Passive по прямому назначению. Благодарности авторам за Stargazer. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2016-10-22 09:24:51 Share Опубліковано: 2016-10-22 09:24:51 Я поддержу предложение GrDEV. В текущей ситуации на боевых серверах трафик управляется и рулится на одном серваке для группы юзеров(серверов несколько). Решили управление свести в одно ПО для нескольких серверов доступа(NAS). В процессе подготовки серверов обнаружены недочеты(я чуть ранее писал). В итоге на данный момент из-за невозможности передать Passive пришлось начать составлять скрипт чтобы глобально переписать Userdata0(сейчас используется как идентификатор параметра услуги для администраторов сети) для передачи его на удаленный NAS. Т.к. параметр Passive имеет значимую роль, я все же буду ждать исправления от авторов. Чтоб я мог в будущем использовать Userdata0 по текущему назначению, а Passive по прямому назначению. Благодарности авторам за Stargazer. Тут нечего исправлять, все работает. Буду ли я приводить параметры скриптов rscriptd к параметрам скриптов stg я пока не решил. Вероятно в версии 2.4 нет. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас