Skip to content

Latest commit

 

History

History
974 lines (701 loc) · 22.7 KB

node.adoc

File metadata and controls

974 lines (701 loc) · 22.7 KB

Node

Represents NetXMS node object. Extends [class-datacollectiontarget].

Instance attributes

agentCertificateMappingData ⇒ String

Agent certificate mapping data (set in object properties).

agentCertificateMappingMethod ⇒ String

Agent certificate mapping method (set in object properties).

agentCertificateSubject ⇒ String

Subject of certificate issued for agent tunnel on this node.

agentId ⇒ String

NetXMS agent unique ID (string representation of GUID). Will return all zeroes GUID if agent is not detected on node or does not have unique ID.

agentProxy ⇒ Node

Object that is set as agent proxy in object properties or NULL.

agentVersion ⇒ String

NetXMS agent version as string.

bootTime ⇒ Integer64

UNIX time (number of seconds since epoch) of the moment when node was started or 0 if unknown.

bridgeBaseAddress ⇒ String

Base address of the switch formatted as 12 character string without separators. Value is only valid for bridges and switches. Special value 000000000000 indicates that address is unknown.

capabilities ⇒ Integer

Detected node capabilities ("Have Agent", "Support SNMP", etc.) Bitwise AND of Node capability flags constants.

cipDeviceType ⇒ Integer

EtherNet/IP device type

cipDeviceTypeAsText ⇒ String

EtherNet/IP device type as text

cipExtendedStatus ⇒ Integer

EtherNet/IP device extended status

cipExtendedStatusAsText ⇒ String

EtherNet/IP device extended status as text

cipStatus ⇒ Integer

EtherNet/IP device status

cipStatusAsText ⇒ String

EtherNet/IP device status as text

cipState ⇒ Integer

EtherNet/IP device state

cipStateAsText ⇒ String

EtherNet/IP device state as text

cipVendorCode ⇒ Integer

EtherNet/IP vendor code in numeric form.

cluster ⇒ [class-cluster]

Cluster this node is in.

components ⇒ [class-component]

Entity MIB components of class [class-component].

dependentNodes ⇒ Array

Will return array with [class-nodedependency] class objects. This array contains all objects that have current node as a proxy or data collection sources.

driver ⇒ String

Named of selected device-specific SNMP driver.

downSince ⇒ Integer64

UNIX timestamp when node went down.

effectiveAgentProxy ⇒ Node

Object that is effective agent proxy or NULL.

effectiveIcmpProxy ⇒ Node

Object that is effective ICMP proxy or NULL.

effectiveSnmpProxy ⇒ Node

Object that is effective SNMP proxy or NULL.

flags ⇒ Integer

Bit mask of Node flags.

hasAgentIfXCounters ⇒ Boolean

TRUE if agent supports 64-bit interface counters.

hasEntityMIB ⇒ Boolean

TRUE if supports ENTITY-MIB.

hasIfXTable ⇒ Boolean

TRUE if supports ifXTable via SNMP (64-bit counters for interface statistics).

hasUserAgent ⇒ Boolean

TRUE if has user agent

hasVLANs ⇒ Boolean

TRUE if VLAN information available.

hardwareId ⇒ String

Nodes' unique hardware id

hardwareComponents ⇒ Array

Retutrns an array of awailiable hardware of class [class-hardwarecomponent].

hasWinPDH ⇒ Boolean

TRUE if node supports Windows PDH parameters.

hypervisorInfo ⇒ String

Additional information about hypervisor for this node.

hypervisorType ⇒ String

Hypervisor type as string (usually hypervisor vendor or product name, like VMWare or XEN).

icmpAverageRTT ⇒ Integer

ICMP average response time for primary address. Will return null if no information.

icmpLastRTT ⇒ Integer

ICMP last response time for primary address. Will return null if no information.

icmpMaxRTT ⇒ Integer

ICMP maximal response time for primary address. Will return null if no information.

icmpMinRTT ⇒ Integer

ICMP minimal response time for primary address. Will return null if no information.

icmpPacketLoss ⇒ Integer

ICMP packet loss for primary address. Will return null if no information.

icmpProxy ⇒ Node

Object that is set as ICMP proxy in object properties or NULL.

interfaces ⇒ Array

Array with [class-interface] objects, that are under this node. First object placed at index 0.

is802_1x ⇒ Boolean

TRUE if node supports 802.1x. Equivalent of isPAE.

isAgent ⇒ Boolean

TRUE if NetXMS agent detected on node

isBridge ⇒ Boolean

TRUE if node is a bridge

isCDP ⇒ Boolean

TRUE if node supports CDP (Cisco Discovery Protocol)

isEtherNetIP ⇒ Boolean

TRUE if node supports EtherNet/IP (Industrial Protocol)

isExternalGateway ⇒ Boolean

TRUE if node is remotely managed node

isInMaintenanceMode ⇒ Boolean

TRUE if node is in maintenance mode

isLLDP ⇒ Boolean

TRUE if node supports LLDP (Link Layer Discovery Protocol)

isLocalManagement ⇒ Boolean

TRUE if node is a local management server (NetXMS server)

isLocalMgmt ⇒ Boolean

TRUE if node is a local management server (NetXMS server)

isNDP ⇒ Boolean

TRUE if node supports OSPF/NDP. Equivalent of isOSPF.

isModbusTCP ⇒ Boolean

TRUE if node supports Modbus TCP

isOSPF ⇒ Boolean

TRUE if node supports OSPF/NDP. Equivalent of isNDP.

isPAE ⇒ Boolean

TRUE if node supports 802.1x. Equivalent of is802_1x.

isPrinter ⇒ Boolean

TRUE if node is a printer

isProfiNet ⇒ Boolean

TRUE if node supports PROFINET (Process Field Network)

isRouter ⇒ Boolean

TRUE if node is a router (has IP forwarding enabled)

isSMCLP ⇒ Boolean

TRUE if node supports SMCLP (Server Management Command Line Protocol)

isSNMP ⇒ Boolean

TRUE if SNMP agent detected on node

isSSH ⇒ Boolean

TRUE if SSH is connection available

isSONMP ⇒ Boolean

TRUE if node supports SONMP/NDP (Synoptics/Nortel Discovery Protocol)

isSTP ⇒ Boolean

TRUE if node supports STP (Spanning Tree Protocol)

isUserAgentInstalled ⇒ Boolean

TRUE if user agent is installed.

isVirtual ⇒ Boolean

TRUE if node is virtual

isVRRP ⇒ Boolean

TURE if VRRP supported.

isWirelessAP ⇒ Boolean

TURE if node is wireless access point

isWirelessController ⇒ Boolean

TURE if node is wireless controller

lastAgentCommTime ⇒ Integer

Unix timestamp of last time when communication with agent was

modbusProxy ⇒ Node

MODBUS proxy object

modbusProxyId ⇒ Integer

MODBUS proxy object id

modbusTCPPort ⇒ Integer

MODBUS TCP port

modbusUnitId ⇒ Integer

MODBUS unit id

networkPathCheckResult ⇒ [class-networkpathcheckresult]

Node network path

nodeSubType ⇒ String

Node sub type

nodeType ⇒ Integer

Node type Node types

ospfAreas ⇒ [class-ospfarea]

Returns [class-ospfarea] class object

ospfNeighbors ⇒ Array

Array with [class-ospfarea] class objects

ospfRouterId ⇒ String

OSPF router ID

platformName ⇒ String

Platform name reported by NetXMS agent

physicalContainer ⇒ Object

Physical container object: Rack [class-netobj] or Chassis [class-chassis]

physicalContainerId ⇒ Integer

Physical container object id (Rack or Chassis)

primaryHostName ⇒ String

Primary host name

productCode ⇒ String

Hardware system property - product code

productName ⇒ String

Hardware system property - product name

productVersion ⇒ String

Hardware system property - product version

rack ⇒ [class-netobj]

Will return Rack object as [class-netobj] if node is added in rack

rackId ⇒ Integer

Will return Rack id if node is added in rack

rackHeight ⇒ Integer

Object height in rack

rackPosition ⇒ Integer

Object position in rack

runtimeFlags ⇒ Integer

Bit mask of Node runtime flags, uint32.

serialNumber ⇒ String

Serial number from hardware system property

snmpOID ⇒ String

SNMP object identifier (result of 1.3.6.1.2.1.1.2.0 request)

snmpProxy ⇒ Node

Object that is set as SNMP proxy in object properties or NULL.

snmpProxyId ⇒ Integer

SNMP proxy object id.

snmpSysContact ⇒ String

SNMP system contact (result of 1.3.6.1.2.1.1.4.0 request)

snmpSysLocation ⇒ String

SNMP system location (result of 1.3.6.1.2.1.1.6.0 request)

snmpSysName ⇒ String

SNMP system name (result of 1.3.6.1.2.1.1.5.0 request)

snmpVersion ⇒ Integer

Configured SNMP version:

  • 0: SNMP version 1

  • 1: SNMP version 2c

  • 2: SNMP version 3

softwarePackages ⇒ Array

Returns array of [class-softwarepackage] class objects

sysDescription ⇒ String

System description (value of System.Uname for nodes with agents or 1.3.6.1.2.1.1.1.0 for SNMP nodes)

tunnel ⇒ [class-tunnel]

Tunnel object f this node or NULL if there is no tunnel active and bound to this node.

vendor ⇒ String

Hardware vendor information

vlans ⇒ Array

Array with object [class-vlan] objects (null if there are no VLANs)

wirelessDomain ⇒ [class-wirelessdomain]

Wireless domain of this node

wirelessDomainId ⇒ Integer

Wireless domain id of this node

wirelessStations ⇒ Array

Array with object [class-wirelessstation] objects (null if there are no Wireless Stations)

zone ⇒ [class-zone]

[class-zone] object (null if zoning is disabled)

zoneProxyAssignments ⇒ Integer

Number of objects where this node is selected as either primary or backup zone proxy (0 if zoning is disabled or this node is not a zone proxy).

zoneProxyStatus ⇒ Boolean

Status of this node as zone proxy (true if active).

zoneUIN ⇒ Integer

This node zone UIN

Instance methods

callWebService(webSvcName, requestType, …​) ⇒ [class-webserviceresponse]

Finds web service by name, makes request and returns the [class-webserviceresponse] object.

Table 1. Parameters

webSvcName

String

Web service name.

requestType

String

Request type. One of: GET, DELETE, PATCH, POST, PUT

data

String or [class-jsonobject]

Depending on request type data might be required and provided as a string or JSON object. GET and DELETE requests do not allow data, PATCH, POST, PUT require data.

contentType

String

Optional parameter. Type of provided data that will be set to "Content-Type" header of request. Default type is "application/json".

acceptCached

Boolean

True if response stored in the cache is allowed to be used. Named parameter. Default: false.

…​

Strings

Optional additional parameter(s) that will be used in web service definition to expand %1, %2…​ macro.

Return

Instance of [class-webserviceresponse] with request result.

Example
//Valid example when request fails because there is no connection to agent
result = $node.callWebService("Web service name", "GET", "additional/ult/path");
println(result.success); // "false"
println(result.errorMessage); // "No connection with agent"
println(result.agentErrorCode); // "0"
println(result.httpResponseCode); // "0"
println(result.document); // ""

//Successful post request
result = $node2.callWebService("Web service name", "POST", "{ \"id\":10 }", "application/json", "additional/ult/path");
println(result.success); // "true"
println(result.errorMessage); // ""
println(result.agentErrorCode); // "0"
println(result.httpResponseCode); // "200"
println(result.document); // ""

result = $node3.callWebService("Web service name", "GET", "application/json", acceptCached: true);
createSNMPTransport(port, community, context, failIfUnreachable) ⇒ [class-snmptransport]

Create SNMP transport object of class [class-snmptransport] with communication settings defined on the node. It is possible to specify a community string but only community strings listed in Network Credentials will be accepted. Creation of SNMP transport is a preparatory operation enabling subsequent sending of SNMP requests to node. However, creation of SNMP transport does not guarantee that the node is accessible.

Table 2. Parameters

port

Integer

Optional parameter with port.

community

String

Optional parameter with community string.

context

String

Optional parameter with context.

failIfUnreachable

String

Optional parameter, is provided and is true, check that SNMP is reachable on the node before creating SNMP transport. This parameter was added in version 4.4.1.

Return

Instance of [class-snmptransport] or null if failed or node was not reacheable when failIfUnreachable was set to true.

enable8021xStatusPolling(flag) ⇒ void

Enable or disable 802.1x port state checking during status polls.

Table 3. Parameters

flag

Boolean

If 802.1x port state checking should be enabled.

enableAgent(flag) ⇒ void

Enable or disable usage of NetXMS agent for all polls.

Table 4. Parameters

flag

Boolean

If agent usage should be enabled.

enableDiscoveryPolling(flag) ⇒ void

Enable or disable discovery polling.

Table 5. Parameters

flag

Boolean

If discovery polling should be enabled.

enableEtherNetIP(flag) ⇒ void

Enable or disable usage of EtherNet/IP for polls.

Table 6. Parameters

flag

Boolean

If EtherNet/IP should be enabled.

enableIcmp(flag) ⇒ void

Enable or disable usage of ICMP pings for status polls.

Table 7. Parameters

flag

Boolean

If ICMP pings should be enabled.

enableModbusTcp(flag) ⇒ void

Enable or disable usage of Modbus TCP for polls.

Table 8. Parameters

flag

Boolean

If Modbus TCP should be enabled.

enablePrimaryIPPing(flag) ⇒ void

Enable or disable usage of ICMP ping for primary IP.

Table 9. Parameters

flag

Boolean

If primary IP ping should be enabled.

enableRoutingTablePolling(flag) ⇒ void

Enable or disable routing table polling.

Table 10. Parameters

flag

Boolean

If routing table polls should be enabled.

enableSnmp(flag) ⇒ void

Enable or disable usage of SNMP for all polls.

Table 11. Parameters

flag

Boolean

If SNMP communication should be enabled.

enableSsh(flag) ⇒ void

Enable or disable usage of SSH

Table 12. Parameters

flag

Boolean

If SSH communication should be enabled.

enableTopologyPolling(flag) ⇒ void

Enable or disable topology polling.

Table 13. Parameters

flag

Boolean

If topology polls should be enabled.

enableWinPerfCountersCache(flag) ⇒ void

Enable or disable reading of Windows performance counters metadata

Table 14. Parameters

flag

Boolean

If reading of Windows performance counters metadata should be enabled.

executeAgentCommand(command, …) ⇒ Boolean

Execute agent command (action) on node.

Table 15. Parameters

command

String

Command to be executed.

String

Optional arguments for command

Return

True if command execution is successful or false otherwise.

executeAgentCommandWithOutput(command, …) ⇒ String

Execute agent command (action) on node and return it’s output.

Table 16. Parameters

command

String

Command to be executed.

String

Optional arguments for command

Return

String with output of the command or null on failure.

executeSSHCommand(command) ⇒ array

Execute SSH command on node.

Table 17. Parameters

command

String

Command to be executed.

Return

Array of strings with output of the command or null on failure.

getInterface(ifIdentifier) ⇒ [class-interface]

Get interface object by index, MAC address or name. If name is number method will assume that it is index.

Table 18. Parameters

ifIdentifier

Integer or String

Index, MAC address or name of interface.

Return

[class-interface] object.

Example
println($node.getInterface("00:14:22:04:25:37").name); // Will print "wlp4s0"
println($node.getInterface(3).name); // Will print "wlp4s0"
println($node.getInterface("wlp4s0").name); // Will print "wlp4s0"
getInterfaceByIndex(ifIndex) ⇒ [class-interface]

Get interface object by index.

Table 19. Parameters

ifIndex

Integer

Index of interface.

Return

[class-interface] object.

Example
println($node.getInterfaceByIndex(3).name); // Will print "wlp4s0"
getInterfaceByMACAddress(ifMACAddr) ⇒ [class-interface]

Get interface object by MAC address.

Table 20. Parameters

ifMACAddr

String

MAC address of interface.

Return

[class-interface] object.

Example
println($node.getInterfaceByMACAddress("00:14:22:04:25:37").name); // Will print "wlp4s0"
getInterfaceByName(IfName) ⇒ [class-interface]

Get interface object by name.

Table 21. Parameters

IfName

String

Name of interface.

Return

[class-interface] object.

Example
println($node.getInterfaceByName("wlp4s0").name); // Will print "wlp4s0"
getInterfaceName(ifIndex) ⇒ String

Get interface name by index.

Table 22. Parameters

ifIndex

Integer

Index of interface.

getWebService(webSvcName) ⇒ [class-webservice]

Get web service object by name.

Table 23. Parameters

webSvcName

String

Name of interface.

Return

[class-webservice] object.

Example
webSvc = $node.getWebService("webSvcName");
readAgentParameter(name) ⇒ String

Reads current value of agent metric.

Table 24. Parameters

name

String

Parameter name.

readAgentList(name) ⇒ Array

Reads current value of agent list metric and returns array of strings.

Table 25. Parameters

name

String

List name.

readAgentTable(name) ⇒ [class-table]

Reads current value of agent table metric and returns [class-table].

Table 26. Parameters

name

String

Table name.

readDriverParameter(name) ⇒ String

Request driver-specific metric directly from network device driver (e.g. Rital).

Table 27. Parameters

name

String

List name.

readInternalParameter(name) ⇒ String

Read internal parameter

Table 28. Parameters

name

String

Parameter name

Return

Value of requested internal parameter

readInternalTable(name) ⇒ [class-table]

Read internal table

Table 29. Parameters

name

String

Table name

Return

Value of requested internal table of class [class-table]

readWebServiceList(name) ⇒ Array

Read list from node using web service

Table 30. Parameters

name

String

Name is expected in form service:path or service(arguments):path

Return

Array with string with web service instances

readWebServiceParameter(name) ⇒ String

Read from node web service parameter

Table 31. Parameters

name

String

Name is expected in form service:path or service(arguments):path

Return

String with result read from web service

setIfXTableUsageMode(mode) ⇒ void

Set ifXTable usage mode 0 - use default, 1 - enable, 2 - disable

Table 32. Parameters

mode

Integer

usage mode

Constants

Table 33. Node flags
Description Value

DCF_DISABLE_STATUS_POLL

0x00000001

DCF_DISABLE_CONF_POLL

0x00000002

DCF_DISABLE_DATA_COLLECT

0x00000004

DCF_LOCATION_CHANGE_EVENT

0x00000008

NF_EXTERNAL_GATEWAY

0x00010000

NF_DISABLE_DISCOVERY_POLL

0x00020000

NF_DISABLE_TOPOLOGY_POLL

0x00040000

NF_DISABLE_SNMP

0x00080000

NF_DISABLE_NXCP

0x00100000

NF_DISABLE_ICMP

0x00200000

NF_FORCE_ENCRYPTION

0x00400000

NF_DISABLE_ROUTE_POLL

0x00800000

NF_AGENT_OVER_TUNNEL_ONLY

0x01000000

NF_SNMP_SETTINGS_LOCKED

0x02000000

NF_PING_PRIMARY_IP

0x04000000

NF_DISABLE_ETHERNET_IP

0x08000000

NF_DISABLE_PERF_COUNT

0x10000000

Table 34. Node runtime flags
Description Value

DCDF_QUEUED_FOR_STATUS_POLL

0x00000001

DCDF_QUEUED_FOR_CONFIGURATION_POLL

0x00000002

DCDF_QUEUED_FOR_INSTANCE_POLL

0x00000004

DCDF_DELETE_IN_PROGRESS

0x00000008

DCDF_FORCE_STATUS_POLL

0x00000010

DCDF_FORCE_CONFIGURATION_POLL

0x00000020

DCDF_CONFIGURATION_POLL_PASSED

0x00000040

DCDF_CONFIGURATION_POLL_PENDING

0x00000080

NDF_QUEUED_FOR_TOPOLOGY_POLL

0x00010000

NDF_QUEUED_FOR_DISCOVERY_POLL

0x00020000

NDF_QUEUED_FOR_ROUTE_POLL

0x00040000

NDF_RECHECK_CAPABILITIES

0x00080000

NDF_NEW_TUNNEL_BIND

0x00100000

Table 35. Node capability flags
Value Description

0x00000001

Node supports SNMP

0x00000002

NetXMS agent detected on the node

0x00000004

Node is network bridge

0x00000008

Node is IP router

0x00000010

Node is management server (NetXMS server itself)

0x00000020

Node is printer

0x00000040

Node supports OSPF

0x00000080

CheckPoint SNMP agent detected on port 260

0x00000100

CDP supported

0x00000200

NDP(SONMP) support detected on the node (Nortel/Synoptics/Bay Networks) topology discovery)

0x00000400

Node supports LLDP

0x00000800

Node supportes VRRP

0x00001000

VLAN information available on the node

0x00002000

802.1x support detected

0x00004000

Spanning Tree (IEEE 802.1d) enabled on node

0x00008000

Node supports ENTITY-MIB

0x00010000

Node supports ifXTable via SNMP (64-bit counters for interface statistics)

0x00020000

Agent supports 64-bit interface counters

0x00040000

Node supports Windows PDH parameters

0x00080000

Node is wireless network controller

0x00100000

Node supports SMCLP protocol

0x00200000

Running agent is upgraded to new policy type

0x00400000

User (support) agent is installed

Table 36. Node types
Value Description

0

Unknown

1

Physical

2

Virtual

3

Controller

4

Container