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

DataCollectionTarget object instance (e.g. $node), or null to search on all data collection targets accessible to the user on whose behalf the script is executed. If trusted node validation is enforced, search with null returns an empty array. Use the owner attribute of returned DCI objects to find out where each DCI belongs. Since 6.2.6

nameFilter

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

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.

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