FindAllDCIs

FindAllDCIs(node, nameFilter, descriptionFilter, userTagFilter, relatedObjectFilter): Array

Find all DCI on the node matching nameFilter, descriptionFilter, userTagFilter, and relatedObjectFilter. Filters can contain glob symbols ? and *. If a filter is null, it’s ignored.

Table 1. Parameters

node

Node object instance (e.g. $node)

nameFilter

GLOB for matching DCI name or null if name should be ignored.

descriptionFilter

GLOB for matching DCI description or null if description should be ignored. Optional parameter.

userTagFilter

GLOB for matching DCI user tag or null if user tag should be ignored. Optional parameter.

relatedObjectFilter

Related object filter: NetObj instance or object ID, or null to ignore. Optional parameter.

Added in version 5.2: userTagFilter parameter

Added in version 5.3: relatedObjectFilter parameter

Return

Array of DCI.

>>> list = FindAllDCIs($node, "Server*", "*MAIN*");
>>> for (row : list) {
>>> 	println(row.id .. ": " .. row.description .. " (" .. row.name .. ")");
>>> }
91: Server thread pool MAIN: usage (Server.ThreadPool.Usage(MAIN))
92: Server thread pool MAIN: normalized load average (1 minute) (Server.ThreadPool.LoadAverage(MAIN,1))
93: Server thread pool MAIN: current load (Server.ThreadPool.Load(MAIN))

>>> list = FindAllDCIs($node, "Server*");
>>> for (row : list) {
>>> 	println(row.id .. ": " .. row.description .. " (" .. row.name .. ")");
>>> }
100: NetXMS server: database writer's request queue (other queries) (Server.AverageDBWriterQueueSize.Other)
101: NetXMS server: database writer's request queue (Server.AverageDBWriterQueueSize)
103: NetXMS server: data collector's request queue (Server.AverageDataCollectorQueueSize)
…

>>> list = FindAllDCIs($node, null, "*load average*");
>>> for (row : list) {
>>> 	println(row.id .. ": " .. row.description .. " (" .. row.name .. ")");
>>> }
119: CPU: load average (15 minutes) (System.CPU.LoadAvg15)
123: CPU: load average (5 minutes) (System.CPU.LoadAvg5)
83: Server thread pool AGENT: normalized load average (1 minute) (Server.ThreadPool.LoadAverage(AGENT,1))
…

>>> for (interface : $node.interfaces) {
>>>   list = FindAllDCIs($node, null, null, null, interface);
>>>   if (list.size > 0) {
>>>     println(interface.name);
>>>     for (row : list) {
>>>       println("  " .. row.id .. ": " .. row.description .. " (" .. row.name .. ")");
>>>     }
>>>   }
>>> }
virbr0
  2536: Outbound traffic on virbr0 (Net.Interface.BytesOut64(6))
  2534: Inbound traffic on virbr0 (Net.Interface.BytesIn64(6))