дистрибутив брать тут 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
изменил количествo poller-ов c 10 до 1000
перезапустил netxmsd, не могу подключиться win-консолью, сервис не забиндил порт
Quote from: weec on February 07, 2008, 10:16:59 AM
после процеса конфигурирования выдаёт следующее:
Build UNICODE libraries : NO
как включить этот пункт?
Он включится в том случае если была задана опция configure --with-console и на машине стоит UNICODE wxWidgets.
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
Спасибо, исправил. В аттаче исправленные скрипты для инициализации.
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.
аха проверил, содержит #define HAVE_LIBICONV 1
Quote from: weec on February 07, 2008, 02:48:35 PM
изменил количествo poller-ов c 10 до 1000
перезапустил netxmsd, не могу подключиться win-консолью, сервис не забиндил порт
Похоже что какие-то ресурсы закончились. Каждый поллер - это отдельный поток. Не может бать каких-то ограничений на количество потоков в процессе?
оно вряд ли, версия 0.2.19 работала с таким количеством poller-ов нормально
в плане проблемы с нештатной ситуацией
когда добавляешь несколько DCI с большими таймаутами
проблема осталась
в краце приведу инструкцию:
добавляю новый параметр для агента shell-команда sleep 100
по истечении 100 секунд DCI получает пустое значение
добавляю штуки 4 одинаковых DCI с вышеописанным- параметром
в итоге netxms начинает тормозить
тобишь netxms входит в состояние когда не имеет возможности получить значения со сторонних DCI (с любой node) из-за проблемных DCI (sleep 100)
при этом даже удалить проблемные DCI невозможно
может стоит добавить функцию автоматического отключения проблемных DCI?
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.
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 для получения данных статистики будет уничтожен по достижению таймаута
я правильно понимаю?
win-консоль показывает неправильные MAC-адреса
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.
тогда стоит подумать над уничтожением этих никчемных процессов
Там чисто технические проблемы, но сделать надо. Кстати Windows агент такие процессы принудительно завершает.