(Active) Discovery stuck

Started by scuq, February 10, 2013, 01:47:26 PM

Previous topic - Next topic

scuq

i tested netxmsd with some nodes, now i've extended the active discovery and filter ranges, but somehow no new nodes are added,
"show stat" shows 209 node since 2 days,

active discovery targets are set to ranges like
10.255.1.200-10.255.1.254
10.255.2.200-10.255.2.254

filter is now "open" only "accept node if it has snmp agent" is set, but still no new nodes, any hint on this?

thx.

Victor Kirhenshtein

How do you run netxmsd? It uses ICMP pinf for active discovery, so it must be run as root to be able to open raw socket for sending ICMP packets, and ICMP pings must be allowed on firewalls if there are any in between NetXMS server and subnets you are discovering.
Also, you can try to run netxmsd with debug level 5 or higher (using -D command line option) and check it's log for details and possible errors.

Best regards,
Victor

scuq

i've installed the x64 .deb package on ubuntu 12.04, and started it with the init script (/etc/init.d/netxmsd)

well as above mentioned i've discovered some parts of the subnet, e.g. the router in 10.255.0.0/16.

in my active discovery definition are the ranges

10.255.1.200-10.255.1.254
10.255.2.200-10.255.2.254

this are the ranges where the mgmt-ips of the access switches are. the access switches are pingable from the server hosting the netxmsd and also walkable by snmp (no firewall in path). turning debug to 5 show something called "Discovery poll for node" but just for nodes already added "rereading" their routing tables.

i don't see a discovery of new nodes, is it possible to trigger the active icmp/snmp discovery of a specific range?
is there a limit for the number of entries of "active disocvery targets"?

many thx.

br
scuq

scuq

ok, now i'm getting a lot of "AcceptNewNode", not for the range i'm waiting for, but for nodes in other subnets which also needs more discovery,

AcceptNewNode(10.254.0.80): auto filter - range check result is 0

but this node (10.254.0.80) is no network device, it's a client pc without snmp, is the above message just the notification that this ip is pingable and would be accepted by the filter if it would have snmp running?

Victor Kirhenshtein

This debug output a bit misleading. AcceptNewNode is a function which checks every potential node to be accepted for adding to NetXMS or not. Message "range check result is 0" means that node didn't pass IP range checking. And I just found a bug in discovery code - if IP range is not specified in the filter, but filter is set (like in your case for SNMP supported nodes, but not for being in specific address range), all nodes are discarded. I'll fix that in release 1.2.6. As a workaround, you can check filter by address range option, and add subnet 0.0.0.0 with mask 0.0.0.0 as address filter, which will effectively allow IP addresses.

Best regards,
Victor

scuq

ok, i'll try this.

a last question to discovery, is a custom filtering possible based on parts of the snmpSysName or dns-name of the node, this would be great, e.g. in hpov we use the prefix N* as discovery/node add filter, because all our network devices sysnames are beginning with "N" or "n".

many thanks.
br scuq

Victor Kirhenshtein

You can use custom filtering script instead of basic filters. Filtering script takes object of class NewNode (http://wiki.netxms.org/wiki/NXSL:NewNode) as first argument and should return TRUE to accept new node or FALSE to reject it. More information about scripting you can find in our wiki: http://wiki.netxms.org/wiki/Scripting_Guide. Looks like it's not possible to check sysName of new node, only sysObjectId. I'll add more properties, it's easy.

Best regards,
Victor