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 - blazarov

#46
Hi,
I have a relatively large NetXMS deployment and I have nodes organized in multi-level container hierarchy, e.g.:

-Infrastructure
|__Client1
     |___PDC
             |___Node1
             |___Node2
             |___Node3
     |___DRC
             |___Node1
             |___Node2
             |___Node3
     |___Branches
             |___East-Side
                      |____Node1
                      |____Node2
                      |____Node3
             |___West-Side
                      |____Node1
                      |____Node2
                      |____Node3
|__Client2
     |___PDC
             |___Node1
             |___Node2
             |___Node3
     |___DRC
             |___Node1
             |___Node2
             |___Node3
     |___Branches
             |___East-Side
                      |____Node1
                      |____Node2
                      |____Node3
             |___West-Side
                      |____Node1
                      |____Node2
                      |____Node3
.... and so on..

What i want to achieve is to set few custom attributes on higher-level containers (e.g. Client1, Client2) with general client-specific info such as contact details, email notification recipients, etc. that i can use in events and actions.
In order to achieve that i need some sort of Custom Attribute "inheritance" from top to bottom, or alternatively a way to access parent containers custom attributes.

Is there a way to achieve that?
#47
Hi,

I think it will be really nice and powerful feature to have if there's a way for the end user to change the time-range of the graphs in the Performance tab.

This will give us Cacti-like end user experience which i know users find quite easy and intuitive.
#48
Nice, good to know.
Will this feature help in my case - when the device goes back up and returns good value will it return automatically from unsupported state?
#49
Hi
Is there a way to invalidate a value and just force netxms to NOT write the value recieved in the database.
I need that because we're extensively using imcp.pingresponsetime function on remote agents. When a monitored node goes down the agent returns value of 10000ms which renders my graph useless and also skews the max/avg stats.
What i need is to get no data for icmp round trip time while the node is unreachable. I have partial success with replacing 10000 with 0 which makes the graph look acceptable, but still skews the averages.
So is there a way to prevent a value from being written into the dci value database?
#50
Hi,
I am working on setting up instance discovery for our routers in order to have the DCIs automatically created for all interfaces that have IP addresses set.
I have almost made it working using this script:

snmp = CreateSNMPTransport($node);

if (snmp == null)
return -1;

oid = ".1.3.6.1.2.1.4.20.1.2"; // ip-to-ifindex relationship
vars = SNMPWalk(snmp, oid);

if (vars == null)
return -2; // SNMPWalk failed

foreach (v: vars) {
trace(5, "SNMP WALK ".v->name."=".v->value);
if (v->value == $1) {
ifName = SNMPGetValue(snmp, ".1.3.6.1.2.1.2.2.1.2." . $1);
trace(5, "interface index id ".$1." has IP and its name is ".ifName." so we return true");
return %(true, $1, ifName);
} else {
trace(5, "interface index id ".$1." has no IP and its name is ".ifName." so we return false");
return %(false, $1, ifName);
}
}


The issue is that it seems that SNMPWalk function returns only the first row instead of array of all 6 rows. So when I initiate instance discovery it creates a DCI only for instance id 5 (the first row from snmpwalk).

Here are some tests with snmpwalk:

# snmpwalk -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.4.20.1.2
IP-MIB::ipAdEntIfIndex.10.10.2.110 = INTEGER: 5
IP-MIB::ipAdEntIfIndex.10.207.141.109 = INTEGER: 11
IP-MIB::ipAdEntIfIndex.172.16.1.110 = INTEGER: 8
IP-MIB::ipAdEntIfIndex.172.20.1.110 = INTEGER: 9
IP-MIB::ipAdEntIfIndex.172.20.5.110 = INTEGER: 10
IP-MIB::ipAdEntIfIndex.192.168.110.1 = INTEGER: 7

cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.5
IF-MIB::ifDescr.5 = STRING: FastEthernet4
cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.11
IF-MIB::ifDescr.11 = STRING: Vlan2
cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.8
IF-MIB::ifDescr.8 = STRING: Loopback0
cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.9
IF-MIB::ifDescr.9 = STRING: Tunnel11
cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.10
IF-MIB::ifDescr.10 = STRING: Tunnel13
cnr-srv-11:~ # snmpget -v 2c -c CyIraBpNx3JjBqUDExzM 172.16.1.110 .1.3.6.1.2.1.2.2.1.2.7
IF-MIB::ifDescr.7 = STRING: Vlan1

Please help - where am I wrong?

P.S. what happens when an interface gets deleted - does netxms delete the relevant DCIs?