Objects

From NetXMS Wiki
Jump to navigation Jump to search

Overview

All network infrastructure monitored by NetXMS inside monitoring system represented as a set of objects. Each object represents one physical or logical entity (like host or network interface), or group of them. Objects organized into hierarchical structure. There are 30 different object classes:

Object Class Description
Entire Network Abstract object representing root of IP topology tree. All zone and subnet objects located under it. System can have only one object of this class.
Zone Object representing group of (usually interconnected) IP networks without overlapping addresses. Contains appropriate subnet objects.
Subnet Object representing IP subnet. Typically objects of this class created automatically by the system to reflect system's knowledge of IP topology.
Node Object representing physical host or network device. These objects can be created either manually by administrator or automatically during network discovery process.
Cluster Object representing cluster consisted of two or more hosts.
Interface Object representing network interface of node. These objects created automatically by the system during configuration polls.
Network Service Object representing network service running on a node (like http or ssh).
VPN Connector Object representing VPN tunnel endpoint. Such objects can be created to add VPN tunnels to network topology known y NetXMS server.
Service Root Abstract object representing root of your infrastructure service tree. System can have only one object of this class.
Container Grouping object which can contain nodes, subnets, clusters, conditions, or other containers. With help of container objects you can build object's tree which represents logical hierarchy of IT services in your organization.
Condition Object representing complicated condition – like "cpu on node1 is overloaded and node2 is down for more than 10 minutes".
Template Root Abstract object representing root of your template tree.
Template Group Grouping object which can contain templates or other template groups.
Template Data collection template. See Data Collection section for more information about templates.
Network Map Root Abstract object representing root of your network map tree.
Network Map Group Grouping object which can contain network maps or other network map groups.
Network Map Network map.
Dashboard Root Abstract object representing root of your dashboard tree.
Dashboard Dashboard. Can contain other dashboards.
Report Root Abstract object representing root of your report tree.
Report Group Grouping object which can contain reports or other report groups.
Report Report object.
Business Service Root Abstract object representing root of your business service tree. System can have only one object of this class.
Business Service Object representing single business service. Can contain other business services, node links, or service checks.
Node Link Link between node object and business service. Used to simplify creation of node-related service checks.
Service Check Object used to check business service state. One business service can contain multiple checks.

Every object has set of attributes; some of them are common (like id and name), while other depends on object class – for example, attribute "SNMP community string" have only node objects.

Top Level Objects

NetXMS has eight top level objects – Entire Network, Service Root, Template Root, Policy Root, Network Map Root, Dashboard Root, Report Root, and Business Service Root. These objects served as an abstract root for appropriate object tree. The following table represents possible child object classes for top level objects:

Object Possible childs
Entire Network
  • Zone
  • Subnet
Service Root
  • Container
  • Subnet
  • Node
  • Cluster
  • Condition
Template Root
  • Template Group
  • Template
Policy Root
  • Policy Group
  • Policy
Network Map Root
  • Network Map Group
  • Network Map
Dashboard Root
  • Dashboard
Report Root
  • Report Group
  • Report
Business Service Root
  • Business Service

All top level objects has only one editable attribute – object's name.

Subnet Objects

Subnet objects represent IP subnets. These objects created automatically by NetXMS server to represent known IP topology. Subnet objects can only contain node objects. The system places node objects inside an appropriate subnet object based on an interface configuration. Subnet objects have only one editable attribute – an object's name.

Container Objects

Container objects (or simply containers) serve as building blocks for creating logical service hierarchy. Containers can have subnets, nodes, conditions, or other containers as child objects. Containers can be created in Infrastructure Services tree. Existing nodes and subnets can be added to containers by using Bind operation, and removed by using Unbind operation.

Condition Objects

Conditions may represent more complicated status checks because each condition can have a script attached. Interval for evaluation of condition status is configured in Server Configuration Variables as ConditionPollingInterval with default value 60 seconds. Input values for the condition script can be added in the Data tab. Such values are accessible via $1, $2, ... variables inside the script.

Node Objects

Node objects (or nodes) represent computers and other network-enabled devices (such as routers and switches) in your network. They have a lot of attributes controlling all aspects of interaction between NetXMS server and managed node. For example, the attributes specify what data must be collected, how node status must be checked, which protocol versions to use etc. Node objects contain one or more interface objects. The system creates interface objects automatically during configuration polls.

Interface Objects

Interface objects represent network interfaces of managed computers and devices. Usually these objects created automatically by management server during configuration polls.

VPN Connector

VPN Connector objects are created manually. In case if there is a VPN connection linking two different networks open between two firewalls that are added to the system as objects, a user can create a VPN Connector object on each of the firewall objects and link one to another. The network topology will now show that those two networks are connected and the system will take this condition into account during problem analysis and event correlation.

Network Service Objects

Network Service object is always created under a node and represents a network service (such as HTTP or SSH), which is accessible online (via TCP IP). Network Service objects are always created manually. When creating a new Network Service, a user has to set a protocol type for it. Currently, the system works with the following protocols - HTTP, POP3, SMTP, Telnet, and SSH. In addition to that, it is also possible to define a Custom protocol type. For Custom protocol, a user should define the TCP port number and the system will be checking whether that port is available. For the predefined standard services the system will also check whether an appropriate response is returned. In case of SMTP, the system will send a test mail, in case of POP3 – try to log in with a certain user, in case of HTTP – check whether the contents of a desired web page correspond to a certain given template. As soon as the Network Service object is created, it will be automatically included into the status poll. Each time when the status poll for the particular node is carried out, all Network Service objects are polled for a reply. If an object's reply corresponds to a certain condition, its status is set as NORMAL. If an object is not responding, its status will be hanged to CRITICAL. For more information on object statuses and object status estimation, please refer to Object Status chapter.

Template Objects

Template object represents a template for data collection. For more information, please refer to Templates chapter.

Template Group

Grouping object, which can contain templates or other template groups, in a form of template tree.

Custom Attributes

Every object can have custom attributes defined either by user or integrated application via NetXMS API. Custom attributes distinguished by names (an attribute name can contain up to 127 printable characters), and have string values of unlimited length. However, if you wish to access custom attributes in NXSL scripts as properties of node object, you should name them conforming to NXSL identifier naming constraints. To create or change value of custom attribute manually, right-click object in NetXMS console, select "Properties", then select "Custom Attributes" tab.