Silitra
СitizensТип контенту
Профили
Форум
Календарь
Все, що було написано Silitra
-
billing# gdb stargazer stargazer.core GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... Core was generated by `stargazer'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/lib/stg/libstg_logger.so...done. Loaded symbols fo
-
есть еще одна проблемка стг падает при изменении юзера, а конкретно при смене тарифа. последняя строка в логе Admin 'admin', 127.0.0.1: User 'homer': 'cash' parameter changed from '0.000000' to '24.035000'. old_balance за ней должна идти Admin 'admin', 127.0.0.1: User 'homer': 'tariff' parameter changed from 'UNLIMITED_64K' to 'UNLIMITED_64K'. но ее нет, тут же сегфаульт. billing# gdb stargazer stargazer.core.100908 GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welco
-
2madf конвертор может забирать данные из бд самописного билинга и импортировать их в работающий stg учитавая фильтры(например только юзеры с ип 192.168.0.%). ?
-
выруби плагин rscript
-
перед запуском killall -9 stargazer
-
Импорт производится на работающем билинге
-
Разработка модуля Netflow для STG 2.4
тема ответил в Max пользователя Silitra в Модулі для Stargazer
пользую stg-2.405.9.8 +nf + stg_web0.08 -
Разработка модуля Netflow для STG 2.4
тема ответил в Max пользователя Silitra в Модулі для Stargazer
Нет. Найденные ошибки исправляются автором. -
Эти пункты лишние: - закрывается сокет; - делается форк; - открывается TCP-сокет; Не плохо бы сделать груповые вставки, т.е формировать XML со списком юзеров, которых необходимо добавить/изменить. будет в разы быстрее. Зачем каждый раз открывать сокет ? не проще ли постоянно ждать данные? Тут где то проскочило, что некоторые из ошибок будут исправленны в след. версии. Когда ждать?
-
2den68 Детальная стата нужна да и проблема точно не в этом. 2madf Этот буфер работает не правильно, т.к в него не поступают пакеты во время FlushAndRemove. Нужна другая организация буфера. Как ускорить протокол конфигуратора, в чем заключаются его тормоза ? Вот скрипт, конвертор не юзал так как импорт производится не из стг. <? $host="*.*.*.*"; $db="****"; $user="stg"; $pass="******"; function stg_encode12($src) { $ofs = ord('a'); $dst = ""; for ($i=0; $i<strlen($src); $i++) { $c1 = (ord($src[$i]) & 15) + $ofs; $c2 = (ord($src[$i]) >> 4) + $ofs; $dst .= chr($c1
-
Вобщем проблема с медленной записью статы решилась, сделал так в users.cpp //lastWriteStat = stgTime + random() % settings->GetStatWritePeriod(); lastWriteStat = stgTime + settings->GetStatWritePeriod(); Теперь на WriteStat для всех юзеров тратится 25 сек. так же упала нагрузка на CPU со 100% до 20-30%. И стала менее выраженной проблема потерей пакетов между mod_capture и traffcounter'ом (test# netstat -s -p udp | grep full) Вобщем тут еще одна мелкая проблемка. Запустил скрипт импорта юзеров в stg на удаленной машине, скрипт берет юзеров из базы mysql и впихивает их средс
-
2 madf Закоментировал вызов WriteStat Проблема оказалась не в тормазнутости функции. stg ее вызывает редко. if (stgTime - lastWriteStat > settings->GetStatWritePeriod()) { printfd(__FILE__, "USER::WriteStat user=%s\n", GetLogin().c_str()); // WriteStat(); // WriteConf(); }
-
1) Как исправить ? 2) Если прикрутить mutex куда будут писатся данные во время flush? Потеряется смысл буфера. Как првильно сделать буфер? 3) Вывод stg. (Поток netflow не поступает в коллект), так скажим - холостой ход. Видно, что время между вызовами FlushAndRemove приходит в норму, а время исполнения WriteStat и между вызовами, такое же как и под нагрузкой. Почему так медленно ? user.cpp > 22:05:22 > USER::WriteStat user=duke1 traffcounter.cpp > 22:05:23 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0) user.cpp > 22:05:24 > USER::WriteStat user=tyutu
-
1) public: FLOW_CAP(); virtual ~FLOW_CAP(){};//146 строка void SetUsers(USERS * u){}; 2) Вотд патчик. diff -Naur 1/netflow_cap.cpp 2/netflow_cap.cpp --- 1/netflow_cap.cpp 2007-04-24 23:53:09.000000000 +0600 +++ 2/netflow_cap.cpp 2008-08-20 21:41:15.000000000 +0600 @@ -424,7 +424,15 @@ errorStr = string("Cannot open socket!:")+errorStr; return -1; } - } + } + + nonstopBuffer = true; + /*Run flush thread*/ + if (pthread_create(&threadBuffer, NULL,RunBufferFlush , this) != 0){ + errorStr = string("Cannot run buffer thread!:")+errorStr; + return
-
машинка 2 Dual Xenon 3.2 Загрузка CPU во время WriteStat 100%, грузит только 1 процессор. Может возможно оптимизировать код под многопроцессорные машины? Насколько это сложно?
-
Корка под 120Мбайт. Мне кажется, что там, что то есть. Разбирались куда теряются пакеты между сенсором и коллектором, нашли (спасибо Platex за реализацию буфера для модуля netflow), проблема была в в локе в FlushAndRemove(), за время выполнения последней в массив packets (к которому как я понимаю имеет доступ другой поток) не поступали данные от модуля Capture (причем не важно cap_nf от madf или netflow). Обнаружилась еще одна проблема, после 10-15 минут работы перестает проявлять себя traffcounter Функция FlushAndRemove перестает вызыватся вовремя или совсем. traffcounter.
-
(gdb) bt #0 0x283dcfa0 in ?? () #1 0x283f30ba in ~FLOW_CAP (this=0x284152e0) at netflow_cap.h:146 #2 0x283f117e in ~FLOW_CAP_CREATOR (this=0x283f7ebc) at netflow_cap.cpp:64 #3 0x283eee50 in __tcf_1 () at netflow_cap.cpp:76 #4 0x282067e7 in __cxa_finalize () from /lib/libc.so.7 #5 0x283ee683 in __do_global_dtors_aux () from /usr/lib/stg/mod_cap_netflow.so #6 0x283f4eac in _fini () from /usr/lib/stg/mod_cap_netflow.so #7 0x280fd560 in ?? () from /libexec/ld-elf.so.1 #8 0x280fd3f4 in ?? () from /libexec/ld-elf.so.1 #9 0xbfbfe9d8 in ?? () #10 0x280db449 in dlsym () from /libexec/ld-elf.s
-
Запустил с модулем cap_nf в кору не падает.
-
в файле build найди echo "SHELL=/bin/bash" >> $CONFFILE замени на echo "SHELL=/bin/sh" >> $CONFFILE найди LIB_THREAD=-lc_r замени на LIB_THREAD=-lpthread В Makefile найди -lc_r \ замени на -lpthread \ В make_css.sh в первой строке #!/bin/bash поменяй на #!/bin/sh
-
billing# uname -rs FreeBSD 7.0-RELEASE stg-2.405.9.8 с родным модулем mysql При завершении падает в кору (только когда собран с debug'ом) user.cpp > 03:41:36 > Disconnect. User name 'aaa' ip=192.168.x.x user.cpp > 03:41:36 > Disconnect. User name 'bbb' ip=195.184.x.x traffcounter.cpp > 03:41:36 > FlushAndRemove() packets: 20035(rem 1163) ip2packets: 40070(rem 2326) traffcounter.cpp > 03:41:39 > TRAFFCOUNTER::Stop() users.cpp > 03:41:39 > USERS::Stop() users.cpp > 03:41:39 > RealDelUser() users to del: 0 users.cpp > 03:41:39 > Brfo
-
А в скриптах OnConnect и OnDisconnect что ?
-
у меня тоже упал, только молча, не успев списать абонку.
-
Нашел причину постоянного падения stg-2.405.9.8 с модулем mysql_mutex-0.68_STG-WEB Ошибка закралась в функцию WriteDetailedStat sprintf(qbuf,"INSERT INTO detailstat_%02d_%4d SET login='%s', day=%d, startTime='%s', endTime='%s',", lt->tm_mon+1, lt->tm_year+1900, login.c_str(), lt->tm_mday, stTime.c_str(), endTime.c_str() ); int retRes; map<IP_DIR_PAIR, STAT_NODE>::const_iterator stIter; stIter = statTree->begin(); while (stIter != statTree->end()) { sprintf(param,"IP='%s', dir=%d, down=%lld, up=%lld, cash=%f, sess_id='%s'", inet_ntostr(stIter->first
-
2Alferov Так ведь не должно быть? При внесении средст с помощью конфигуратора в стг-веб "Статистика, история » Деньги" записи не отображаются При этом если вносить через stg_web то все ок. Stargazer в таблицу logs_%m_%y пишет. Из запроса SELECT count(a.unid) AS total FROM actions a LEFT JOIN users u ON a.login=u.login WHERE a.unid<>'' AND (a.time_stop>='2008-07-01 00:00:00' OR a.time_stop='0000-00-00 00:00:00') AND a.time_start<'2008-08-01 00:00:00' AND a.time_start>='2008-06-30 23:59:59' AND a.action LIKE 'pay_%' AND a.action != 'pay_credit_down' видно, что STG_WEB и