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:
In addition to the query examples below, you can find more query examples in DQL Smartscape commands.
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"}
| Attribute | Type | Description | Examples |
|---|---|---|---|
custom_metadata | record | experimental A collection of additional metadata information imported to Dynatrace. | OperatorVersion:v0.9.0; cluster-name:ext-demo1 |
dt.smartscape_source.sender | string | experimental 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_info | record | experimental 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_number | long | stable 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:
| Value | Description |
|---|---|
dynatrace_codemodule | An agent with a particular technology running as a standalone. |
dynatrace_osagent | OS agent |
dynatrace_zagent | z/OS agent |
| Edge type | Description |
|---|---|
belongs_to | 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). |
calls | 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. |
is_attached_to | stable Is (typically) exclusively attached to the instance (1-many) |
is_part_of | stable 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_on | stable 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_to | stable Define network route to the instance Examples: EC2 route table routes to EC2 NAT Gateway EC2 VPC Peering Connection routes to VPC |
contains | stable Relationship field that contains all contains-relationships as nested fields.Opposite direction: belongs_to |
instance_of | stable Relationship field that contains all instance_of-relationships as nested fields.Opposite direction: instantiates |
balanced_by | stable Relationship field that contains all balanced_by-relationships as nested fields.Opposite direction: balances |
balances | stable Relationship field that contains all balances-relationships as nested fields.Opposite direction: balanced_by |
uses | stable Similar to is_attached_to but in the opposite direction. Examples: EC2 Instance uses DHCP options, Auto Scaling Group uses EC2 Launch Template |
updates | experimental 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_to | experimental 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. |
monitors | experimental 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_as | experimental Defines an equivalence relationship. Examples: A database instance is the same as a host process. |
| Attribute | Type | Description | Examples |
|---|---|---|---|
interface_config | record[] | 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'}] |
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'] |
port | long[] | experimental A collection of layer 4 ports used to identify this entity. | [50000, 50001, 50002, 50003] |