тестирование 0.2.20 RC1

Started by weec, February 07, 2008, 10:16:59 AM

Previous topic - Next topic

weec

дистрибутив брать тут https://www.netxms.org/download/rc
исправленные sql-файлы лежат здесь https://netxms.org/forum/index.php/topic,215.msg1070.html#msg1070

после процесcа конфигурирования выдаёт следующее:
Build UNICODE libraries : NO
как включить этот пункт?

содержимое config.h
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1

/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */

/* Define to 1 if iconv supports ASCII */
#define HAVE_ICONV_ASCII 1

для версии 0.2.19 выкладывался патч
почему ошибка с ICONV не исправлена в 0.2.20 RC1 ?

процессы конфигурирования, сборки и установки прошли на ура# uname -rms
FreeBSD 6.3-STABLE i386
# ./configure --with-server --with-client  --with-agent --with-mysql


поменялись аргументы запуска netxmsd
обновление старой бызы прошло без проблем

при инициализации новой базы выводит ошибку# mysql -p netxms < dbinit_mysql.sql
Enter password:
ERROR 1064 (42000) at line 342: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'integter not null,
situation_instance varchar(255) not null,
PRIMARY KEY(rule_' at line 12

# nxdbmgr -c /usr/local/etc/netxmsd.conf init dbinit_mysql.sql
NetXMS Database Manager Version 0.2.20-rc1

Configuration file OK
Initializing database...
SQL query failed:
CREATE TABLE event_policy
(
rule_id integer not null,
flags integer not null,
comments blob not null,
script blob not null,
alarm_message varchar(255) not null,
alarm_severity integer not null,
alarm_key varchar(255) not null,
alarm_timeout integer not null,
alarm_timeout_event integer not null,
situation_id integter not null,
situation_instance varchar(255) not null,
PRIMARY KEY(rule_id)
)
Database initialization failed



weec

#1
изменил количествo  poller-ов c 10 до 1000
перезапустил netxmsd, не могу подключиться win-консолью, сервис не забиндил порт

Victor Kirhenshtein

Quote from: weec on February 07, 2008, 10:16:59 AM
после процеса конфигурирования выдаёт следующее:
Build UNICODE libraries : NO
как включить этот пункт?

Он включится в том случае если была задана опция configure --with-console и на машине стоит UNICODE wxWidgets.

Victor Kirhenshtein

#3
Quote from: weec on February 07, 2008, 10:16:59 AM
при инициализации новой базы выводит ошибку
# mysql -p netxms < dbinit_mysql.sql
Enter password:
ERROR 1064 (42000) at line 342: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'integter not null,
situation_instance varchar(255) not null,
PRIMARY KEY(rule_' at line 12


Спасибо, исправил. В аттаче исправленные скрипты для инициализации.

Victor Kirhenshtein

Quote from: weec on February 07, 2008, 10:16:59 AM
содержимое config.h
/* Define to 1 if you have the `gmtime_r' function. */
#define HAVE_GMTIME_R 1

/* Define to 1 if you have the `iconv' function. */
/* #undef HAVE_ICONV */

/* Define to 1 if iconv supports ASCII */
#define HAVE_ICONV_ASCII 1

для версии 0.2.19 выкладывался патч
почему ошибка с ICONV не исправлена в 0.2.20 RC1 ?

Она исправлена. Наверняка в config.h присутствует

#define HAVE_LIBICONV 1


а дальше правильная функция выбирается уже в unicode.cpp.

weec

аха проверил, содержит #define HAVE_LIBICONV 1

Victor Kirhenshtein

Quote from: weec on February 07, 2008, 02:48:35 PM
изменил количествo  poller-ов c 10 до 1000
перезапустил netxmsd, не могу подключиться win-консолью, сервис не забиндил порт

Похоже что какие-то ресурсы закончились. Каждый поллер - это отдельный поток. Не может бать каких-то ограничений на количество потоков в процессе?

weec

оно вряд ли, версия 0.2.19 работала с таким количеством poller-ов нормально

weec

#8
в плане проблемы с нештатной ситуацией
когда добавляешь несколько DCI с большими таймаутами
проблема осталась

в краце приведу инструкцию:
добавляю новый параметр для агента shell-команда sleep 100
по истечении 100 секунд DCI получает пустое значение

добавляю штуки 4 одинаковых DCI с вышеописанным- параметром
в итоге netxms начинает тормозить
тобишь netxms входит в состояние когда не имеет возможности получить значения со сторонних DCI (с любой node) из-за проблемных DCI (sleep 100)
при этом даже удалить проблемные DCI невозможно

может стоит добавить функцию автоматического отключения проблемных DCI?

Victor Kirhenshtein

Ispravil problemu s DCI kotorie vizivajut timeout. Teper' server dolzen ih normal'no obrabativat'. Takze pojavilsja novij parametr - AgentCommandTimeout, po omolchaniju 2 secundi. Kogda sobiraem znachenija s agenta, zdem etot timeout, esli ne poluchili dannie - schitaem chto proizoshla oshibka i perehodim k sledujuschemu DCI.

weec

Quote from: Victor Kirhenshtein on February 07, 2008, 11:30:11 PMzdem etot timeout, esli ne poluchili dannie - schitaem chto proizoshla oshibka i perehodim k sledujuschemu DCI.
тобишь процесс порожденный DCI для получения данных статистики будет уничтожен по достижению таймаута
я правильно понимаю?

weec

win-консоль показывает неправильные MAC-адреса

Victor Kirhenshtein

Quote from: weec on February 08, 2008, 10:00:13 AM
Quote from: Victor Kirhenshtein on February 07, 2008, 11:30:11 PMzdem etot timeout, esli ne poluchili dannie - schitaem chto proizoshla oshibka i perehodim k sledujuschemu DCI.
тобишь процесс порожденный DCI для получения данных статистики будет уничтожен по достижению таймаута
я правильно понимаю?

Нет, не будет. На агенте все будет продолжать работать, просто сервер не будет ждать результатов. Он и раньше должен был так делать, но был баг, который ему мешал :) Я сейчас переделываю также и агента, чтобы он не ждал долго работающие процессы вызванные для ExternalParameter.

weec

тогда стоит подумать над уничтожением этих никчемных процессов

Victor Kirhenshtein

Там чисто технические проблемы, но сделать надо. Кстати Windows агент такие процессы принудительно завершает.