nickmas 1 Опубліковано: 2010-09-10 09:34:11 Share Опубліковано: 2010-09-10 09:34:11 Принцип действия Remote Script Executer прост. На стороне Stargazer'у включается плагин mod_remote_script. На роутерах устанавливаются дэмоны rscriptd. Конфигурационные файлы дэмонов есть в архиве с исходниками. Stargazer отправляет им комманды на выполнение скриптов OnConnect/OnDisconnect со всеми необходимыми параметрами, а они, соответственно, эти скрипты выполняют. На стороне stg выполняються скрипты OnConnect, OnDisconnect при использовании Remote Script Executer? И как насчет остальных скриптов (OnChange, OnUserDel, ...), где они выполняются? (логично было бы выполняться только на стороне стг, но все же?) В мануале 2.13 действительно есть описание модуля remote_script, точнее его конфигурационные параметры. А вот принципа работы не нашел. Поэтому и возникают вопросы. Кстати, для установка rscriptd достаточно запустить build и все? Readme там не нашел. Ссылка на сообщение Поделиться на других сайтах
nightfly 1 241 Опубліковано: 2010-09-10 11:30:04 Share Опубліковано: 2010-09-10 11:30:04 На стороне stg выполняються скрипты OnConnect, OnDisconnect при использовании Remote Script Executer? ага, они, пути прописываются в /etc/rscriptd/rscriptd.conf И как насчет остальных скриптов (OnChange, OnUserDel, ...), где они выполняются? (логично было бы выполняться только на стороне стг, но все же?) только на стороне stargazer, логично =) Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-10 12:19:16 Автор Share Опубліковано: 2010-09-10 12:19:16 Принцип действия Remote Script Executer прост. На стороне Stargazer'у включается плагин mod_remote_script. На роутерах устанавливаются дэмоны rscriptd. Конфигурационные файлы дэмонов есть в архиве с исходниками. Stargazer отправляет им комманды на выполнение скриптов OnConnect/OnDisconnect со всеми необходимыми параметрами, а они, соответственно, эти скрипты выполняют. На стороне stg выполняються скрипты OnConnect, OnDisconnect при использовании Remote Script Executer? Да. И как насчет остальных скриптов (OnChange, OnUserDel, ...), где они выполняются? (логично было бы выполняться только на стороне стг, но все же?) На стороне Stg. В мануале 2.13 действительно есть описание модуля remote_script, точнее его конфигурационные параметры. А вот принципа работы не нашел. Поэтому и возникают вопросы. Кстати, для установка rscriptd достаточно запустить build и все? Readme там не нашел. Как обычно: # ./build # sudo make install Ссылка на сообщение Поделиться на других сайтах
napTu 4 Опубліковано: 2010-09-14 20:13:40 Share Опубліковано: 2010-09-14 20:13:40 При старте stargazer пишет в лог: 2010-08-14 14:59:59 -- Storage plugin: file_store v.1.04. Loading successfull. 2010-08-14 14:59:59 -- Admin '@stargazer', 0.0.0.0: User '8050304': 'cash' parameter changed from '0.000000' to '0.000000'. Freeze 2010-08-14 14:59:59 -- Admin '@stargazer', 0.0.0.0: User 'turbo': 'cash' parameter changed from '0.000000' to '0.000000'. Freeze и так пользователей 300, только вот что странно, у пользователя '8050304' cash=0.000000, а у 'turbo' cash=-160.000000, у третьего пользователя cash=100.377369 и т.д. Сообщение появляется не для всех пользователей, зависимости пока не нашёл. Откатился до версии 2.406 - таких сообщений при старте не наблюдается, снова запустил stg-2.407-rc1 и снова сообщения в логах. debian_version: squeeze/sid, kernel 2.6.32-5-686 тоже самое. Может какой костыль вставить? Не совсем понял принцип bak файлов. Они сами не бекапятся, нужно вручную создавать? А то сегодня ребутнулся сервак, пришлось вручную возвращать некоторые stat файлы, их кстати вообще не было, в прошлой версии они обнулялись при некорректном выходе, а тут вообще нет. А тут еще Freeze по 300 раз после каждой попытки запуска. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-15 07:44:51 Автор Share Опубліковано: 2010-09-15 07:44:51 При старте stargazer пишет в лог: 2010-08-14 14:59:59 -- Storage plugin: file_store v.1.04. Loading successfull. 2010-08-14 14:59:59 -- Admin '@stargazer', 0.0.0.0: User '8050304': 'cash' parameter changed from '0.000000' to '0.000000'. Freeze 2010-08-14 14:59:59 -- Admin '@stargazer', 0.0.0.0: User 'turbo': 'cash' parameter changed from '0.000000' to '0.000000'. Freeze и так пользователей 300, только вот что странно, у пользователя '8050304' cash=0.000000, а у 'turbo' cash=-160.000000, у третьего пользователя cash=100.377369 и т.д. Сообщение появляется не для всех пользователей, зависимости пока не нашёл. Откатился до версии 2.406 - таких сообщений при старте не наблюдается, снова запустил stg-2.407-rc1 и снова сообщения в логах. debian_version: squeeze/sid, kernel 2.6.32-5-686 тоже самое. Может какой костыль вставить? Не совсем понял принцип bak файлов. Они сами не бекапятся, нужно вручную создавать? А то сегодня ребутнулся сервак, пришлось вручную возвращать некоторые stat файлы, их кстати вообще не было, в прошлой версии они обнулялись при некорректном выходе, а тут вообще нет. А тут еще Freeze по 300 раз после каждой попытки запуска. Что у пользователей с passive и passiveTime? ... Не совсем понял принцип bak файлов. Они сами не бекапятся, нужно вручную создавать? А то сегодня ребутнулся сервак, пришлось вручную возвращать некоторые stat файлы, их кстати вообще не было, в прошлой версии они обнулялись при некорректном выходе, а тут вообще нет. А тут еще Freeze по 300 раз после каждой попытки запуска. bak-файлы создаются автоматически. Ссылка на сообщение Поделиться на других сайтах
napTu 4 Опубліковано: 2010-09-15 12:44:24 Share Опубліковано: 2010-09-15 12:44:24 я использую passive для блокировки по маку. Но так и не понял к чему эти сообщения. 'cash' parameter changed from '0.000000' to '0.000000'. Freeze и баланс у них не нулевой. А если bak-файлы НЕ создаются автоматически? Что может быть не так? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-16 07:25:03 Автор Share Опубліковано: 2010-09-16 07:25:03 я использую passive для блокировки по маку. Но так и не понял к чему эти сообщения. 'cash' parameter changed from '0.000000' to '0.000000'. Freeze и баланс у них не нулевой. А если bak-файлы НЕ создаются автоматически? Что может быть не так? Так все-таки, что за числа в полях passive и passiveTime для этих юзеров? bak-файлы создаются перед записью и удаляются после нее. Так-же они удаляются после чтения в случае невозможности чтения обычных файлов, если не указано RemoveBak=no Ссылка на сообщение Поделиться на других сайтах
napTu 4 Опубліковано: 2010-09-16 08:28:00 Share Опубліковано: 2010-09-16 08:28:00 Так все-таки, что за числа в полях passive и passiveTime для этих юзеров? эмм, естессно passive=1, passivetime - отсчитывает сколько времени они в этом стостоянии. Например: PassiveTime=41992335 ; PassiveTime=88925676 указано RemoveBak=no . bak-файлы создаются перед записью и удаляются после нее. т.е. увидеть их почти не реально? так может не удалять их после записи? А то у меня пропали stat файлы после panic ребута, а bak-ов нет. А может всё же писать изначально данные во временный файл, а потом, после успешной записи, переименовывать в нужный файл? Получиться быстрее - за два действия, а так нужно 3 действия скопировать в bak, записать файл, удалить bak Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-17 07:06:00 Автор Share Опубліковано: 2010-09-17 07:06:00 Так все-таки, что за числа в полях passive и passiveTime для этих юзеров? эмм, естессно passive=1, passivetime - отсчитывает сколько времени они в этом стостоянии. Например: PassiveTime=41992335 ; PassiveTime=88925676 Я, кажется, догадываюсь в чем тут может быть дело. Попробую смоделировать. указано RemoveBak=no . bak-файлы создаются перед записью и удаляются после нее. т.е. увидеть их почти не реально? так может не удалять их после записи? А то у меня пропали stat файлы после panic ребута, а bak-ов нет. А может всё же писать изначально данные во временный файл, а потом, после успешной записи, переименовывать в нужный файл? Получиться быстрее - за два действия, а так нужно 3 действия скопировать в bak, записать файл, удалить bak Да, так было бы правильней. Патчи принимаются Ссылка на сообщение Поделиться на других сайтах
napTu 4 Опубліковано: 2010-09-17 10:39:52 Share Опубліковано: 2010-09-17 10:39:52 сказано - сделано diff file_store.cpp file_store.cpp.orig 982,986c982 < string fileName2; < < fileName = storeSettings.GetUsersDir() + "/" + login + "/conf.new"; < fileName2 = storeSettings.GetUsersDir() + "/" + login + "/conf"; < --- > fileName = storeSettings.GetUsersDir() + "/" + login + "/conf"; 1046,1047d1041 < rename(fileName.c_str(),fileName2.c_str()); < Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-17 10:44:37 Автор Share Опубліковано: 2010-09-17 10:44:37 сказано - сделано diff file_store.cpp file_store.cpp.orig 982,986c982 < string fileName2; < < fileName = storeSettings.GetUsersDir() + "/" + login + "/conf.new"; < fileName2 = storeSettings.GetUsersDir() + "/" + login + "/conf"; < --- > fileName = storeSettings.GetUsersDir() + "/" + login + "/conf"; 1046,1047d1041 < rename(fileName.c_str(),fileName2.c_str()); < Перепутал исходный и оригинальный файлы и забыл про stat. Ссылка на сообщение Поделиться на других сайтах
napTu 4 Опубліковано: 2010-09-18 16:42:50 Share Опубліковано: 2010-09-18 16:42:50 ну стат файл по аналогии. и не перепутал ниче, пишем в new с хендлом fileName, потом его переносим в нужный с хендлом fileName2 diff file_store.cpp.orig file_store.cpp 982c982 < fileName = storeSettings.GetUsersDir() + "/" + login + "/conf"; --- > string fileName2; 984c984,988 < BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); --- > fileName2 = storeSettings.GetUsersDir() + "/" + login + "/conf"; > fileName = fileName2 + ".new"; > > > //BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); 1041a1046,1047 > rename(fileName.c_str(),fileName2.c_str()); > 1049c1055,1057 < fileName = storeSettings.GetUsersDir() + "/" + login + "/stat"; --- > string fileName2; > fileName2 = storeSettings.GetUsersDir() + "/" + login + "/stat"; > fileName = fileName2 + ".new"; 1051c1059 < BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); --- > //BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); 1094a1103 > rename(fileName.c_str(),fileName2.c_str()); Не совсем понятно как бекап файл создается стирается всего одним вызовом класса: BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); ? При входе в фунцию вызыватся BAK_FILE, а при выходе ~BAK_FILE ? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-09-20 07:17:04 Автор Share Опубліковано: 2010-09-20 07:17:04 ну стат файл по аналогии. и не перепутал ниче, пишем в new с хендлом fileName, потом его переносим в нужный с хендлом fileName2 При создании diff'а перепутал. Не совсем понятно как бекап файл создается стирается всего одним вызовом класса: BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak()); ? При входе в фунцию вызыватся BAK_FILE, а при выходе ~BAK_FILE ? О! Это моя любимая идиома RAII! Про конструировании объекта создается bak-файл, а при его уничтожении стирается. А уничтожается объект при выходе за пределы области видимости. Вот такая удобная штука Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-14 10:29:56 Share Опубліковано: 2010-10-14 10:29:56 Для оновлення з 2406 до 2407 достатньо ./build , gmake install-bin ? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-10-14 11:07:39 Автор Share Опубліковано: 2010-10-14 11:07:39 Для оновлення з 2406 до 2407 достатньо ./build , gmake install-bin ? Да Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-14 11:13:51 Share Опубліковано: 2010-10-14 11:13:51 Freebsd 8.0 Оновив: Error: Plugin loading failed. Cannot open "/usr/lib/stg/mod_cap_ether.so" Я зібрати цей модуль? Чи mod_cap_ether для лінуксу? Бо я конфіг з лінуксу перекинув ... Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-14 11:23:58 Share Опубліковано: 2010-10-14 11:23:58 Зрозумів, натупив, cap_bpf, все завелось, без глюків Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-14 12:51:45 Share Опубліковано: 2010-10-14 12:51:45 тепер sgconf_xml : env CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib/ ./build gmake[2]: Entering directory `/home/morfey/stg-2.4-2010.04.16-15.33.33/stglibs/srvconf.lib' cc -I/usr/local/include -fPIC -I /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../include -I ./ -DFREE_BSD5 -c netunit.cpp cc -I/usr/local/include -fPIC -I /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../include -I ./ -DFREE_BSD5 -c parser.cpp cc -I/usr/local/include -fPIC -I /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../include -I ./ -DFREE_BSD5 -c servconf.cpp g++ -L/usr/local/lib/ -Wl,-E -L/home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib -Wl,-rpath,//usr/lib/stg -shared -Wl,-rpath,//usr/lib/stg -Wl,-soname,libsrvconf.so netunit.o parser.o servconf.o -lexpat -o libsrvconf.so -L /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib ar rc libsrvconf.a netunit.o parser.o servconf.o ranlib libsrvconf.a cp *.so /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib cp *.a /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib gmake[2]: Leaving directory `/home/morfey/stg-2.4-2010.04.16-15.33.33/stglibs/srvconf.lib' gmake[1]: Leaving directory `/home/morfey/stg-2.4-2010.04.16-15.33.33/stglibs' g++ main.o parser.o /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libconffiles.so /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libstg_common.so /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so /usr/lib/libexpat.so /usr/lib/libpthread.so /usr/lib/libc.so -L/usr/local/lib/ -Wl,-E -L/home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib -Wl,-rpath,//usr/lib/stg -o sgconf_xml /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `Blowfish_Init(BLOWFISH_CTX*, unsigned char*, int)' /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `EncodeString(char*, char const*, BLOWFISH_CTX*)' /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `DecodeString(char*, char const*, BLOWFISH_CTX*)' gmake: *** [sgconf_xml] Error 1 В чому проблема? На 2406 так збирається last pid: 99567; load averages: 1.05, 1.13, 1.08 up 130+04:12:31 17:48:28 86 processes: 2 running, 84 sleeping CPU: 11.5% user, 0.0% nice, 44.4% system, 0.0% interrupt, 44.2% idle Mem: 448M Active, 408M Inact, 248M Wired, 228K Cache, 112M Buf, 767M Free Swap: 4096M Total, 4096M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 98226 root 14 92 -19 26532K 18356K CPU1 1 10:19 72.12% stargazer 965 bind 5 44 0 255M 194M kqread 0 16.7H 0.00% named 1317 root 1 44 0 132M 127M select 0 554:21 0.00% snmpd 1291 mysql 24 44 0 225M 67748K sbwait 1 192:28 0.00% mysqld Через деякий час при пыдключенні конфігуратором Recv header ansver error Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-14 15:00:59 Share Опубліковано: 2010-10-14 15:00:59 sgconf_xml не зібрався, 72.12% stargazer і росте, задаунгрейдився до 2.406... Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-10-15 07:41:24 Автор Share Опубліковано: 2010-10-15 07:41:24 тепер sgconf_xml : env CXXFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib/ ./build g++ main.o parser.o /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libconffiles.so /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libstg_common.so /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so /usr/lib/libexpat.so /usr/lib/libpthread.so /usr/lib/libc.so -L/usr/local/lib/ -Wl,-E -L/home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib -Wl,-rpath,//usr/lib/stg -o sgconf_xml /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `Blowfish_Init(BLOWFISH_CTX*, unsigned char*, int)' /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `EncodeString(char*, char const*, BLOWFISH_CTX*)' /home/morfey/stg-2.4-2010.04.16-15.33.33/projects/sgconf_xml/../../lib/libsrvconf.so: undefined reference to `DecodeString(char*, char const*, BLOWFISH_CTX*)' gmake: *** [sgconf_xml] Error 1 В чому проблема? На 2406 так збирається У 2.407 для використання цих функцій треба лінкуватись з libstg_crypto. Раніше було достатньо з libstg_common. last pid: 99567; load averages: 1.05, 1.13, 1.08 up 130+04:12:31 17:48:28 86 processes: 2 running, 84 sleeping CPU: 11.5% user, 0.0% nice, 44.4% system, 0.0% interrupt, 44.2% idle Mem: 448M Active, 408M Inact, 248M Wired, 228K Cache, 112M Buf, 767M Free Swap: 4096M Total, 4096M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 98226 root 14 92 -19 26532K 18356K CPU1 1 10:19 72.12% stargazer 965 bind 5 44 0 255M 194M kqread 0 16.7H 0.00% named 1317 root 1 44 0 132M 127M select 0 554:21 0.00% snmpd 1291 mysql 24 44 0 225M 67748K sbwait 1 192:28 0.00% mysqld Через деякий час при пыдключенні конфігуратором Recv header ansver error Навіть не знаю що сказати. А що у логах? sgconf_xml не зібрався, 72.12% stargazer і росте, задаунгрейдився до 2.406... Чи можна буде відтворити таку поведінку для виявлення і усунення причин? Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-15 10:05:39 Share Опубліковано: 2010-10-15 10:05:39 У 2.407 для використання цих функцій треба лінкуватись з libstg_crypto. Раніше було достатньо з libstg_common. А як злінкувати?)) Чи можна буде відтворити таку поведінку для виявлення і усунення причин? Спробую Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2010-10-15 10:48:16 Автор Share Опубліковано: 2010-10-15 10:48:16 У 2.407 для використання цих функцій треба лінкуватись з libstg_crypto. Раніше було достатньо з libstg_common. А як злінкувати?)) Прописати у Makefile поряд з -lstg_common Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-15 13:35:47 Share Опубліковано: 2010-10-15 13:35:47 Прописати у Makefile поряд з -lstg_common Дякую, цілий день грався) Чи можна буде відтворити таку поведінку для виявлення і усунення причин? А як виявлять причину? в дебаг моді збирать? Не дуже хочеться експерименти на живих юзерах робити Ссылка на сообщение Поделиться на других сайтах
morfey 82 Опубліковано: 2010-10-16 09:43:14 Share Опубліковано: 2010-10-16 09:43:14 Сьогодні в 7 ранку оновив, все якби нормально, не знаю чому тоді таке завантаженя було... ~200 юзерів онлайн: last pid: 51178; load averages: 0.30, 0.43, 0.39 up 131+23:09:57 12:45:54 76 processes: 1 running, 75 sleeping CPU: 3.7% user, 0.0% nice, 12.7% system, 0.0% interrupt, 83.6% idle Mem: 455M Active, 238M Inact, 270M Wired, 7392K Cache, 112M Buf, 902M Free Swap: 4096M Total, 4096M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 47180 root 14 44 -19 31652K 23940K accept 1 18:25 3.47% stargazer 965 bind 5 44 0 255M 194M kqread 0 16.9H 0.00% named 1317 root 1 44 0 134M 128M select 0 556:06 0.00% snmpd 1291 mysql 21 44 0 229M 68484K sbwait 1 195:27 0.00% mysqld Ссылка на сообщение Поделиться на других сайтах
nickmas 1 Опубліковано: 2010-11-02 09:44:35 Share Опубліковано: 2010-11-02 09:44:35 To madf: Выложи, пожалуйста, stg-2.407-rc2. Созрел уже перейти с stg-2.406 на stg-2.407-rc1. Но не хочется искать предложенные патчи по форуму и накладывать. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения