This section documents the generic network model for Smartscape. The model consists of two entities - Network Device and Network Interface - which are populated by network extensions and integrations (both Dynatrace-developed and custom).
The Smartscape ID for Network Devices (EXT_NETWORK_DEVICE) is calculated based on the its chassis' MAC address which can be defined as the first valid MAC address assigned to the device components.
For Network Interfaces (EXT_NETWORK_INTERFACE) the Smartscape ID is calculated based on both the underlying device's chassis MAC address as well as the interface's name.
The device_type field allows narrowing down the scope of queries by the device's technology type. Within the SNMP Autodiscovery extension, this value is computed based on the device's System Object ID (1.3.6.1.2.1.1.2) and allows mapping to a recommended Dynatrace Extension for further monitoring.
Integrators can reuse the same value or provide their own alternative to describe the general family of such devices.
The monitoring_mode field indicates the level of data available for a particular device. SNMP Autodiscovery uses two such values:
Discovery - indicates that the device is part of the extension's discovery configuration and it has been polled successfully. The entity has complete metadata information, but lacks any health/performance insights - it is a candidate for monitoring with the recommended extension.Neighbor - indicates that the device has not been polled directly but is referenced by another device as a link neighbor. The entity was created from potentially incomplete data and will be replaced once direct polling is enabled.Dynatrace Extensions as well as other integrators are advised to use the value Extension. This indicates that the device is polled directly and benefits of monitoring insights from a specialized integration.
Smartscape node type: EXT_NETWORK_DEVICE
A Network Device entity. Represents a physical device with network connectivity.
Fetch all network device entities.
smartscapeNodes EXT_NETWORK_DEVICE
Count network devices by their monitoring mode.
smartscapeNodes EXT_NETWORK_DEVICE| summarize count(), by: { monitoring_mode }
Find devices that are network neighbors and include their names.
smartscapeEdges calls| filter target_type == "EXT_NETWORK_DEVICE"| fieldsAdd source_name=getNodeName(source_id), target_name=getNodeName(target_id)
The following base fields are used for all entities.
| Attribute | Type | Description | Examples |
|---|---|---|---|
id | smartscapeId | stable The entity ID. | HOST-1234; K8S_POD-1234; SERVICE-1234 |
id_classic | string | stable The entity ID that was used in the classic entity store. This ID is present in old monitoring data. | HOST-1234; CLOUD_APPLICATION-1234; SERVICE-1234 |
name | string | stable The entity name. | localhost; easyTravel; product-catalog |
type | string | stable The entity type. | HOST; K8S_POD; SERVICE |
tags | record | stable A consolidated record that aggregates all tag values originating from different contexts. Each nested field within tags represents a specific key (for example, release or name). The value of each nested field is the tag value from one or multiple contexts. Tags for specific context can be queried via tags:context field. Note that rule-based tags do not exist in the new model. | tags[tag_key-1] = [context_A_tag_val-1, context_B_tag_val-1]; tags[tag_key-2] = context_C_tag_val-1; tags:context_A[tag_key-1] = context_A_tag_val-1 |
lifetime | timeframe | stable The lifetime of the entity. classicField: lifetime | { start: 2022-07-06T13:36:00.808Z, end: 2024-04-11T06:56:01.204Z } |
references | record | stable Provides access to static edges pointing to other entities. In this record each nested field represents a relationship type and target type, and the value is an array of target smartscape IDs. This field is hidden by default but can be added using the fieldsAdd command. | { references[runs_on.host] : [HOST-1234,HOST-5678], references[runs_on.container] : [CONTAINER-1234] } |
dt.security_context | string[] | resource stable The security context is used in access permissions to limit the visibility. Learn more about the Dynatrace permission model Tags: permission | [] |
Fields common to all entities within the shared network model
| Attribute | Type | Description | Examples |
|---|---|---|---|
description | string | stable A description of the network entity. | Cisco IOS Software, C2960X Software (C2960X-UNIVERSALK9-M); GigabitEthernet0/1; Vlan10 |
ip | ipAddress[] | experimental A collection of IP addresses that may be used to identify this entity. | ['192.168.0.1', '10.10.10.10']; ['10.10.10.10']; ['2001:0000:130F:0000:0000:09C0:876A:130B'] |
mac | string[] | experimental A collection of MAC addresses that can be used to identify this entity. | ['4C:03:4F:5B:E8:89'] |
Fields that describe all network devices
| Attribute | Type | Description | Examples |
|---|---|---|---|
lldp.chassis_id | string | stable The LLDP Chassis ID of this network device | 00:1A:2B:3C:4D:5E; device.example.com; XTU123P4 |
cdp.device_id | string | stable The CDP Device ID of this network device | 00:1A:2B:3C:4D:5E; device.example.com; XTU123P4 |
monitoring_mode | string | stable The type of monitoring data available for this network device. Extension indicates monitoring data is available, Discovery indicates only topology data is available and this is a candidate for monitoring, and Neighbor indicates limited information is available (this is a link layer neighbor reference) | Discovery; Extension; Neighbor |
device_type | string | stable A string to represent the broader make, model, or family of network device. | f5-big-ip; dell-powerconnect; cisco-nexus; infoblox-ipam |
chassis_mac | string | experimental The MAC address of the device chassis; defined as the first non-empty MAC address of the device. | 00:1A:2B:3C:4D:5E |
contact | string | stable Identification of the contact person for this device, together with information on how to contact them. If no contact information is known, use n/a instead. | John Doe, Network Administrator; john.doe@example.com; n/a |
location | string | stable The physical location of this device. If the location is unknown, use n/a instead. | Some data center, Rack 123ABC; Some network cabinet, Floor 123; n/a |
capabilities | string[] | experimental The set of capabilities supported by this network device as advertised in link layer discovery. | ['bridge', 'wlanAccessPoint']; ['router', 'telephone'] |
firmware_revision | string | experimental A version or revision identifer for the firmware in use on the network device. | 1000234 |
hardware_revision | string | experimental A version or revision identifer for the hardware in use on the network device. | 45.1C |
software_revision | string | experimental A version or revision identifer for the software on the network device. | 1.63.1 |
part_number | string | experimental Identifer of the chassis part number of the network device. | EUKY55658 |
serial_number | string | experimental A serial number for the network device. | FTX123456789 |
vendor | string | experimental Name of the vendor for the network device. | Cisco; Juniper |
os.name | string | resource stable The OS name in a short, human-readable format. | iOS |
Fields specific to network devices discovered via SNMP
| Attribute | Type | Description | Examples |
|---|---|---|---|
snmp.sys_object_id | string | resource stable OID 1.3.6.1.2.1.1.2 (SNMPv2-MIB::sysObjectId): The vendor's authoritative identification of the network management subsystem contained in the entity. | 1.3.6.1.4.1.25461.2.3.38; 1.3.6.1.4.1.9.1.1046 |
Fields specific to network devices created by the SNMP Autodiscovery extension
| Attribute | Type | Description | Examples |
|---|---|---|---|
autodiscovery.config_label | string | stable The label assigned to the Autodiscovery configuration that includes this device | Data Center ABC; On prem |
autodiscovery.group_label | string | stable The label assigned to the Autodiscovery group that includes this device | Core Routers; Edge Switches; Subnet 3A |
autodiscovery.default_extension | string | stable Indicates the default Dynatrace Extension recommended for insights into this device type | com.dynatrace.extension.f5.bigip; com.dynatrace.extension.snmp-generic-cisco-device |
| Attribute | Type | Description | Examples |
|---|---|---|---|
calls | record | stable Defines a "horizontal" relationship between two entities that "call" each other. The "calls" relation does not imply a parent/child or other strong structural relation but rather a dynamic communication association. Examples: Typical examples include services calling other services, but also services calling databases, queue brokers, or other infrastructure entities. Relationships: smartscapeId dt.smartscape.ext_network_device |
Smartscape node type: EXT_NETWORK_INTERFACE
A Network Interface entity. Represents a physical or virtual network interface or port on a network device.
Fetch all network interface entities.
smartscapeNodes EXT_NETWORK_INTERFACE
Fetch traffic in and out timeseries for all network interfaces.
timeseries {traffic.in=avg(com.dynatrace.extension.network_device.if.bytes_in.count, scalar: true),traffic.out=avg(com.dynatrace.extension.network_device.if.bytes_out.count, scalar: true)},filter: { isNotNull(dt.smartscape.ext_network_interface) },by: { dt.smartscape.ext_network_interface }
Fetch all interfaces that are link neighbors with each other, along with the devices they belong to.
smartscapeEdges calls| filter source_type == "EXT_NETWORK_INTERFACE"| fieldsneighbor.device=getNodeName(getNodeField(source_id, "references")[belongs_to.ext_network_device][0]),neighbor.interface=getNodeName(source_id),relation=concat("--- ", type, " --->"),base.interface=getNodeName(target_id),base.device=getNodeName(getNodeField(target_id, "references")[belongs_to.ext_network_device][0])
The following base fields are used for all entities.
| Attribute | Type | Description | Examples |
|---|---|---|---|
id | smartscapeId | stable The entity ID. | HOST-1234; K8S_POD-1234; SERVICE-1234 |
id_classic | string | stable The entity ID that was used in the classic entity store. This ID is present in old monitoring data. | HOST-1234; CLOUD_APPLICATION-1234; SERVICE-1234 |
name | string | stable The entity name. | localhost; easyTravel; product-catalog |
type | string | stable The entity type. | HOST; K8S_POD; SERVICE |
tags | record | stable A consolidated record that aggregates all tag values originating from different contexts. Each nested field within tags represents a specific key (for example, release or name). The value of each nested field is the tag value from one or multiple contexts. Tags for specific context can be queried via tags:context field. Note that rule-based tags do not exist in the new model. | tags[tag_key-1] = [context_A_tag_val-1, context_B_tag_val-1]; tags[tag_key-2] = context_C_tag_val-1; tags:context_A[tag_key-1] = context_A_tag_val-1 |
lifetime | timeframe | stable The lifetime of the entity. classicField: lifetime | { start: 2022-07-06T13:36:00.808Z, end: 2024-04-11T06:56:01.204Z } |
references | record | stable Provides access to static edges pointing to other entities. In this record each nested field represents a relationship type and target type, and the value is an array of target smartscape IDs. This field is hidden by default but can be added using the fieldsAdd command. | { references[runs_on.host] : [HOST-1234,HOST-5678], references[runs_on.container] : [CONTAINER-1234] } |
dt.security_context | string[] | resource stable The security context is used in access permissions to limit the visibility. Learn more about the Dynatrace permission model Tags: permission | [] |
Fields common to all entities within the shared network model
| Attribute | Type | Description | Examples |
|---|---|---|---|
description | string | stable A description of the network entity. | Cisco IOS Software, C2960X Software (C2960X-UNIVERSALK9-M); GigabitEthernet0/1; Vlan10 |
ip | ipAddress[] | experimental A collection of IP addresses that may be used to identify this entity. | ['192.168.0.1', '10.10.10.10']; ['10.10.10.10']; ['2001:0000:130F:0000:0000:09C0:876A:130B'] |
mac | string[] | experimental A collection of MAC addresses that can be used to identify this entity. | ['4C:03:4F:5B:E8:89'] |
Fields representing all network interfaces when running on network devices
| Attribute | Type | Description | Examples |
|---|---|---|---|
device.chassis_mac | string | experimental The MAC address of the device chassis; defined as the first non-empty MAC address of the device hosting the interface. | 00:1A:2B:3C:4D:5E |
interface_type | string | experimental The type of network interface. If possible, should use the standard types defined by IANA. | ethernetCsmacd; propVirtual; l2vlan; tunnel |
alias | string | stable An alternative name for the interface; relates to the ifAlias SNMP field. | lan; Configured from Cisco DNA-Center; Fabric Physical Link |
operational_status | string | stable The operational status of the interface | up; down; testing |
admin_status | string | stable The admin status of the interface | up; down; testing |
speed | string | experimental The speed of the interface in bits per second | 1000000000; 10000000000 |
| Attribute | Type | Description | Examples |
|---|---|---|---|
belongs_to | record | stable This is similar to an aggregation in UML. It is a many-to-many relationship without existential properties (the destination is not composed of the sources). Relationships: smartscapeId dt.smartscape.ext_network_device | SERVICE belongs_to K8S_CLUSTER; K8S_POD belongs_to K8S_NAMESPACE |
calls | record | stable Defines a "horizontal" relationship between two entities that "call" each other. The "calls" relation does not imply a parent/child or other strong structural relation but rather a dynamic communication association. Examples: Typical examples include services calling other services, but also services calling databases, queue brokers, or other infrastructure entities. Relationships: smartscapeId dt.smartscape.ext_network_interface |