Перейти до

stg-2.407-rc1


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

Принцип действия 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 там не нашел.

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 237
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Когда у абонента ip-адрес не совпадает с указанным на сервере - ключик начинает материться с такой скоростью, что закрыть его стандартными средствами не получается. Приходиться убивать его в процессах

собирал с помощью ./build сделал make clean и результат тотже. кроме того аналогичный результат при сборке sgconf, sgauth, rscriptd, convertor ... собрался только rlm_stg   проблемы в системы - мал

2010-11-30 15:58:37 -- Admin 'admin', 127.0.0.1: User 'test': 'credit' parameter changed from '0.000000' to '10000.000000'.

Posted Images

На стороне stg выполняються скрипты OnConnect, OnDisconnect при использовании Remote Script Executer?

ага, они, пути прописываются в /etc/rscriptd/rscriptd.conf

 

И как насчет остальных скриптов (OnChange, OnUserDel, ...), где они выполняются? (логично было бы выполняться только на стороне стг, но все же?)

только на стороне stargazer, логично =)

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

Принцип действия 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

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

При старте 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 раз после каждой попытки запуска.

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

При старте 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-файлы создаются автоматически.

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

я использую passive для блокировки по маку.

Но так и не понял к чему эти сообщения.

'cash' parameter changed from '0.000000' to '0.000000'. Freeze

и баланс у них не нулевой.

 

А если bak-файлы НЕ создаются автоматически? Что может быть не так?

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

я использую passive для блокировки по маку.

Но так и не понял к чему эти сообщения.

'cash' parameter changed from '0.000000' to '0.000000'. Freeze

и баланс у них не нулевой.

 

А если bak-файлы НЕ создаются автоматически? Что может быть не так?

Так все-таки, что за числа в полях passive и passiveTime для этих юзеров?

 

bak-файлы создаются перед записью и удаляются после нее. Так-же они удаляются после чтения в случае невозможности чтения обычных файлов, если не указано RemoveBak=no

Ссылка на сообщение
Поделиться на других сайтах
Так все-таки, что за числа в полях passive и passiveTime для этих юзеров?

эмм, естессно passive=1, passivetime - отсчитывает сколько времени они в этом стостоянии.

Например: PassiveTime=41992335 ; PassiveTime=88925676

 

указано RemoveBak=no .

bak-файлы создаются перед записью и удаляются после нее.

т.е. увидеть их почти не реально?

так может не удалять их после записи? А то у меня пропали stat файлы после panic ребута, а bak-ов нет.

 

А может всё же писать изначально данные во временный файл, а потом, после успешной записи, переименовывать в нужный файл?

Получиться быстрее - за два действия, а так нужно 3 действия скопировать в bak, записать файл, удалить bak

Ссылка на сообщение
Поделиться на других сайтах
Так все-таки, что за числа в полях passive и passiveTime для этих юзеров?

эмм, естессно passive=1, passivetime - отсчитывает сколько времени они в этом стостоянии.

Например: PassiveTime=41992335 ; PassiveTime=88925676

 

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

 

указано RemoveBak=no .

bak-файлы создаются перед записью и удаляются после нее.

т.е. увидеть их почти не реально?

так может не удалять их после записи? А то у меня пропали stat файлы после panic ребута, а bak-ов нет.

 

А может всё же писать изначально данные во временный файл, а потом, после успешной записи, переименовывать в нужный файл?

Получиться быстрее - за два действия, а так нужно 3 действия скопировать в bak, записать файл, удалить bak

Да, так было бы правильней. Патчи принимаются B)

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

сказано - сделано

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());
<

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

сказано - сделано

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.

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

ну стат файл по аналогии.

и не перепутал ниче, пишем в 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 ?

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

ну стат файл по аналогии.

и не перепутал ниче, пишем в new с хендлом fileName, потом его переносим в нужный с хендлом fileName2

 

При создании diff'а перепутал.

 

 

Не совсем понятно как бекап файл создается стирается всего одним вызовом класса:

BAK_FILE bakFile(fileName, storeSettings.GetRemoveBak());

?

При входе в фунцию вызыватся BAK_FILE, а при выходе ~BAK_FILE ?

О! Это моя любимая идиома RAII! Про конструировании объекта создается bak-файл, а при его уничтожении стирается. А уничтожается объект при выходе за пределы области видимости. Вот такая удобная штука :unsure:

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

Freebsd 8.0

 

Оновив:

Error: Plugin loading failed. Cannot open "/usr/lib/stg/mod_cap_ether.so"

 

Я зібрати цей модуль?

 

Чи mod_cap_ether для лінуксу? Бо я конфіг з лінуксу перекинув ... :)

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

тепер 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

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

тепер 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...

Чи можна буде відтворити таку поведінку для виявлення і усунення причин?

Ссылка на сообщение
Поделиться на других сайтах
У 2.407 для використання цих функцій треба лінкуватись з libstg_crypto. Раніше було достатньо з libstg_common.

 

А як злінкувати?))

 

Чи можна буде відтворити таку поведінку для виявлення і усунення причин?

 

Спробую

Ссылка на сообщение
Поделиться на других сайтах
У 2.407 для використання цих функцій треба лінкуватись з libstg_crypto. Раніше було достатньо з libstg_common.

 

А як злінкувати?))

 

 

Прописати у Makefile поряд з -lstg_common

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

Прописати у Makefile поряд з -lstg_common

Дякую, цілий день грався)

 

Чи можна буде відтворити таку поведінку для виявлення і усунення причин?

 

А як виявлять причину? в дебаг моді збирать? Не дуже хочеться експерименти на живих юзерах робити :)

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

Сьогодні в 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

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

To madf:

 

Выложи, пожалуйста, stg-2.407-rc2.

Созрел уже перейти с stg-2.406 на stg-2.407-rc1. Но не хочется искать предложенные патчи по форуму и накладывать.

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

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


×
×
  • Створити нове...