Try it free

Smartscape

  • Latest Dynatrace
  • Reference

This is the new Smartscape model, containing model definitions for entities that are stored in Smartscape on Grail. All models, describing different entities are organized by domain in subfolders:

  • AWS
  • Azure
  • Business analytics
  • Core entities
  • Database
  • Extensions networking
  • GCP
  • Kubernetes

In addition to the query examples below, you can find more query examples in DQL Smartscape commands.

Query

Get an overview of all Smartscape node types

smartscapeNodes "*"
| summarize count(), by: type

Get an overview of all Smartscape edges

smartscapeEdges "*"
| summarize count(), by:{ source_type, type, target_type }

Get all edges that start from hosts.

smartscapeEdges "*"
| filter source_type == "HOST"
| fields type, target_type
| dedup type, target_type

Load all Kubernetes entities.

smartscapeNodes "K8S_*"
| fieldsRemove k8s.object

Load all AWS entities.

smartscapeNodes "AWS_*"
| fieldsRemove aws.object

Load all Synthetic entities.

smartscapeNodes {"BROWSER_MONITOR",
"HTTP_MONITOR",
"NETWORK_AVAILABILITY_MONITOR",
"SYNTHETIC_LOCATION",
"CREDENTIAL_VAULT_ENTRY"}

Shared fields

AttributeTypeDescriptionExamples
custom_metadatarecordexperimental
A collection of additional metadata information imported to Dynatrace.
OperatorVersion:v0.9.0; cluster-name:ext-demo1
dt.smartscape_source.senderstringexperimental
Indicates the source agent that created the Smartscape node. Possible values include OS agent, z/OS agent, or technology-specific code module agents running standalone.
dynatrace_codemodule
host.additional_system_inforecordexperimental
Additional system information. Some attributes here are only available on certain systems (e.g. system.lpar exists only on AIX). Several attributes are numbered. E.g. attributes starting with system.processor_. will have the underscore programatically replaced with an index like [12], starting from [0]. Note that in these examples, a '_' is replaced with '[x]', where x is a number starting from 0.
step.sequence_numberlongstable
The sequence number of the step within the synthetic browser monitor, indicating the order of execution of the steps.
42; 5; 1

dt.smartscape_source.sender MUST be one of the following:

ValueDescription
dynatrace_codemoduleAn agent with a particular technology running as a standalone.
dynatrace_osagentOS agent
dynatrace_zagentz/OS agent

Relationship types

Edge typeDescription
belongs_tostable
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).
callsstable
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.
is_attached_tostable
Is (typically) exclusively attached to the instance (1-many)
is_part_ofstable
Defines if the instance is part of a cluster, similar to a composition in UML. The source (child) cannot exist without the destination (parent).
runs_onstable
Defines a "vertical" relation of an entity running on some other entity. It does not imply any composition or aggregation but only a looser association between the entities. One entity can run on multiple other entities. Examples: Service running on a POD, a CONTAINER or a HOST.
routes_tostable
Define network route to the instance Examples: EC2 route table routes to EC2 NAT Gateway EC2 VPC Peering Connection routes to VPC
containsstable
Relationship field that contains all contains-relationships as nested fields.
Opposite direction: belongs_to
instance_ofstable
Relationship field that contains all instance_of-relationships as nested fields.
Opposite direction: instantiates
balanced_bystable
Relationship field that contains all balanced_by-relationships as nested fields.
Opposite direction: balances
balancesstable
Relationship field that contains all balances-relationships as nested fields.
Opposite direction: balanced_by
usesstable
Similar to is_attached_to but in the opposite direction. Examples: EC2 Instance uses DHCP options, Auto Scaling Group uses EC2 Launch Template
updatesexperimental
Similar to uses but with a stronger connotation where the source actively updates or modifies the target. It implies that the source has some level of control or influence over the target. Examples: A synthetic monitor updates credentials in a credential vault entry.
is_assigned_toexperimental
Defines assignment relationship, where the source is assigned to the destination. Similar to is_attached_to, but introduced to preserve naming consistency Examples: A synthetic monitor is assigned to a frontend.
monitorsexperimental
Defines monitoring relationship, where the source monitors the destination. Examples: A synthetic monitor monitors a frontend. A synthetic monitor or OneAgent monitors a host.
same_asexperimental
Defines an equivalence relationship. Examples: A database instance is the same as a host process.

Network identification fields

AttributeTypeDescriptionExamples
interface_configrecord[]experimental
Network interface configuration, including IP address and network prefix length
[{'ip': '192.168.1.1', 'subnet_prefix_length': '24'}, {'ip': '2001:0db8:0000:0000:0000:8a2e:0370:7334', 'subnet_prefix_length': '64'}]
ipipAddress[]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']
macstring[]experimental
A collection of MAC addresses that can be used to identify this entity.
['4C:03:4F:5B:E8:89']
portlong[]experimental
A collection of layer 4 ports used to identify this entity.
[50000, 50001, 50002, 50003]