Sum values from nodes

Started by jhonnyvey, February 29, 2016, 01:13:02 AM

Previous topic - Next topic

jhonnyvey

Good night to everyone,

I am using the netxms and enjoying it, however i need a help.
I would like to sum some dci values ​​from my nodes.
My nodes are inside containers Ex: Servers\Server1 , Servers\Web1
I would like to sum, For example , Network in and out and iis current users .
What is the  better way to do this ?
I search int forum a few examples , but I can not understand how to do it

Tks all.

tomaskir

Take a look in this thread, it discusses something very similar:
https://www.netxms.org/forum/general-support/dci-question/

If you need help, post more info.

jhonnyvey

H itomaskir,

Tks for reply!
I see topic, but the sum is from values ​​of a single node.

I need make  sum of values from two nodes.
Exemple:

Node 1, = Name: Server1 , DCI NetworkIN
Node 2, = Name: Server2 , DCI NetworkIN

So how can i make a sum from DCI NetworkIN from server1 and server 2 ?

Tks!

tomaskir

Its pretty much the same thing:


val1 = GetDCIValueByDescription(FindObject("node1"), "DCI1 description");
val2 = GetDCIValueByDescription(FindObject("node2"), "DCI2 description");

if (val1 == null || val2 == null)
  return 0;

return val1 + val2;


Functions can be found here:
https://wiki.netxms.org/wiki/NXSL_Function_Reference

Please be award of security implications:
https://wiki.netxms.org/wiki/SG:Security_Issues

jhonnyvey

Tks alot tomaskir,

That work's perfect  ;D ;D

mgthump

I'm trying to build a variable script to find all objects beneath a template contain and sum a value from a DCI .1.3.6.1.4.1.17713.21.1.2.10.0. that is common to every device within the container.

is there a way to take the node and DCI values and create them in a dynamic fashion?  the goal is to read the total number of connected subs to an AP and have this read additional APs over time automatically.   I've gotten spoiled with the auto-bind functions :)


val1 = GetDCIValueByDescription(FindObject("node1"), "DCI1 description");
val2 = GetDCIValueByDescription(FindObject("node2"), "DCI2 description");

if (val1 == null || val2 == null)
  return 0;

return val1 + val2;

Tatjana Dubrovica

Find template function using https://wiki.netxms.org/wiki/NXSL:FindObject function and then iterate over children using https://wiki.netxms.org/wiki/NXSL:GetObjectChildren function and for every netObject with type Node execute GetDCIValueByDescription.