News:

We really need your input in this questionnaire

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - enp

#16
Текущая ситуация на скриншоте. Там видно, что нода enp ну никак не должна была попасть в сеть 192.168.191.0/24.

Вообще расскажите, как формируется список нод в сети? Сети хранятся в БД в таблице subnets, а принадлежность тоже хранится или вычисляется?
#17
Здравствуйте!

У части неуправлемых нод (без интерфейсов) сменились адреса - при этом они появились в новой сети, но из старой не исчезли. Точнее, они исчезли из Address Map, но остались в дереве и на вкладке Nodes. Так и должно быть или это баг?
#18
Сейчас Network Discovery выключен, но проблема сохраняется. Иногда такое происходит несколько раз в сутки, иногда - ни разу. Связи с загрузкой CPU, например, не замечено.
#19
Общие вопросы / Re: Active Discovery bugs
December 30, 2013, 12:08:26 PM
Quote from: Victor Kirhenshtein on December 28, 2013, 05:25:28 PM
Проверьте что CheckTrustedNodes в настройках сервера выставлен в 0.
CheckTrustedNodes

Нет, как раз CheckTrustedNodes = 1. Спасибо, при следующих попытках попробую поменять.
#20
Общие вопросы / Re: Active Discovery bugs
December 21, 2013, 01:18:13 PM
Я попробовал зайти еще с одной стороны и написал такой скрипт в Automatic Bind Rules для контейнера Discovered:

parents = GetNodeParents($node);

foreach(p : parents)
trace(1, "Parent object: name='" . p->name . "' id=" . p->id);

if (p == null)
return true;
else
return false;


Еще не успело ничего найтись, как в этот контейнер были добавлена куча нод, принадлежащая другим контейнерам. Т.е. функция GetNodeParents для них вернула null. Что же тогда понимается под родителями нод и есть ли способ узнать, принадлежит ли нода какому-либо контейнеру?
#21
Общие вопросы / Re: Active Discovery bugs
December 21, 2013, 12:20:35 PM
Quote from: enp on December 20, 2013, 12:43:48 PM
С учетом необходимости добавления новых нод в специально выделенный для этих целей контейнер мне, видимо, нужен такой Filter / Custom script:


if (AddrInSubnet($1->ipAddr, "192.168.191.0", "255.255.255.0")) {
BindObject(FindObject("Discovered"), $1);
return true;
} else {
return false;
}


Нет, не работает - Function or operation argument is not an object на строчке с BindObject. Подозрение на то, что в $1 попадает экземпляр NewNode, а ожидается Node или NetObj. Можно ли преобразовать NewNode в Node или при выполнении скрипта Node еще не существует и задача нерешаемая?

Можно, конечно, сделать иначе: периодически выбирать ноды без контейнеров и их уже складывать в контейнер через Java API - но эта идея мне совсем не нравится.
#22
Здравствуйте!

После обновления до 1.2.10 и включения Network Discovery регулярно (дважды за последнюю ночь) стал получать такие алармы:


Thread "Syncer Thread" is not responding
Thread "Syncer Thread" was returning to running state


Нужно ли (и как) с этим бороться?
#23
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 12:43:48 PM
Все правильно, в документации http://wiki.netxms.org/wiki/UM:Network_Discovery написано:

Quote"Address Filters" Section

In this section you can define address ranges for automatically generated discovery filter. This list has no effect if discovery is off or filter is not set to "Automatically generated script".

Т.е. без галочки "Accept node if it is within given range or subnet" писать что-либо в Address Filters нет никакого смысла.

Active Discovery Targets нужен только для активного опроса с помощью ICMP. Соответственно, ноды из других подсетей я вижу благодаря обязательным "ARP and routing information". Не помешал бы, кстати, вариант "Active only".

С учетом необходимости добавления новых нод в специально выделенный для этих целей контейнер мне, видимо, нужен такой Filter / Custom script:


if (AddrInSubnet($1->ipAddr, "192.168.191.0", "255.255.255.0")) {
BindObject(FindObject("Discovered"), $node);
return true;
} else {
return false;
}
#24
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 11:21:57 AM
Quote from: enp on December 20, 2013, 09:26:31 AM
Active Discovery Targets - обязательный параметр или достаточно Address Filters?

Кстати, ни одного не достаточно. В обоих параметрах у меня 192.168.191.0/24, Filter / Custom script для фильтрации выглядит так:


trace(0, "New node address = " . $1->ipAddr);
return false;


В логе:

Dec 20 13:16:17 monitor netxmsd[11538]: New node address = 10.11.80.71


Предполагать, что Filter выполняется раньше, чем Active Discovery Targets и Address Filters, вроде глупо - или это так? Я могу, наверное, и в скрипте фильтровать по сети/диапазону - но зачем тогда нужны Active Discovery Targets и Address Filters? Мне бы хотелось, чтобы не интересующие меня сети вообще не опрашивались - это можно сделать?
#25
Не вижу, чем передача $event и любых объектов вообще из командной строки идет поперек концепции. Это просто более прямой способ отладки скриптов. Похоже, он действительно не востребован из-за того, что скрипты обычно маленькие и отлаживать там особо нечего.

Я ж не с претензиями, я всего лишь вопросы задаю :)
#26
Общие вопросы / Re: Check database bugs
December 20, 2013, 10:21:47 AM
Ноды без контейнеров можно найти так:


select id, name, primary_ip
from nodes inner join object_properties on id = object_id
where id not in (select object_id from container_members)


Поля guid/name/primary_ip сейчас в БД не являются уникальными, поэтому особых проблем, получается, и нет. Просто мне казалось, что в каких-то предыдущих версиях что-то из перечисленного было уникальным.
#27
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 09:36:37 AM
Quote from: kozlov_ao on December 20, 2013, 09:33:22 AM
тыкай не по ноде, а по папке в Infrastructure Services

понял, спасибо
#28
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 09:29:07 AM
А как хотя бы вручную добавить ноду в контейнер, если она видна исключительно в Entire Network? Там у нод ничего похожего по смыслу в контекстном меню я не вижу.
#29
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 09:26:31 AM
Active Discovery Targets - обязательный параметр или достаточно Address Filters?
#30

$ nxscript
NetXMS Scripting Host  Version 1.2.10
Copyright (c) 2005-2013 Victor Kirhenshtein

Usage: nxscript [options] script [arg1 [... argN]]

Valid options are:
   -d         Dump compiled script code
   -e <name>  Entry point
   -r         Print script return value


Что такое entry point? Объекты вроде $event в nxscript передать нельзя?