dt.entity.multiprotocol_monitor
MULTIPROTOCOL_MONITOR-3F6C9D500287BBAF
dt.entity.synthetic_location
SYNTHETIC_LOCATION-A4F834D72840EFC1
dt.entity.host
HOST-024C103F7F86A290
dt.maintenance_window_ids
c715d677-eb1b-3e1b-8dbc-db06cad5b8eb
dt.synthetic.monitored_entity_ids
APPLICATION-EA7C4B59F27D43EB
dt.security_context
mySecurityContext
step.id
1
request.id
2
request.type
icmp
, tcp
request.target_address
54.171.216.19
result.state
SUCCESS
, FAIL
result.status.message
HEALTHY
, CONSTRAINT_VIOLATED
result.status.code
0
, 1401
interpolated
false
multi_protocol.step.id
step.id
)1
multi_protocol.request.id
request.id
)2
multi_protocol.request.type
request.type
)icmp
, tcp
multi_protocol.request.target_address
request.target_address
)54.171.216.19
multi_protocol.result.state
result.state
)SUCCESS
multi_protocol.result.status
result.status.message
)HEALTHY
, CONSTRAINT_VIOLATED
multi_protocol.result.status.code
result.status.code
)0
, 1401
dt.synthetic.multi_protocol.availability
builtin:synthetic.multiProtocol.availability
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
interpolated
0
: HEALTHY
, SCRIPT_FINISH
, SKIPPED
1401 - CONSTRAINT_VIOLATED
dt.synthetic.multi_protocol.execution_time
builtin:synthetic.multiProtocol.executionTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
dt.synthetic.multi_protocol.executions
builtin:synthetic.multiProtocol.executions
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
dt.maintenance_window_ids
result.state
result.status.code
result.status.message
multi_protocol.result.state
(deprecated, use result.state
)multi_protocol.result.status.code
(deprecated, use result.status.code
)multi_protocol.result.status
(deprecated, use result.status.message
)dt.synthetic.multi_protocol.success_rate
builtin:synthetic.multiProtocol.successRate
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
dt.synthetic.multi_protocol.step.availability
builtin:synthetic.multiProtocol.step.availability
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.type
(deprecated, use request.type
)0
: HEALTHY
, SCRIPT_FINISH
, SKIPPED
1401 - CONSTRAINT_VIOLATED
dt.synthetic.multi_protocol.step.execution_time
builtin:synthetic.multiProtocol.step.executionTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.type
(deprecated, use request.type
)dt.synthetic.multi_protocol.step.executions
builtin:synthetic.multiProtocol.step.executions
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.type
result.state
result.status.code
result.status.message
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.type
(deprecated, use request.type
)multi_protocol.result.state
(deprecated, use result.state
)multi_protocol.result.status
(deprecated, use result.status.message
)multi_protocol.result.status.code
(deprecated, use result.status.code
)dt.synthetic.multi_protocol.step.success_rate
builtin:synthetic.multiProtocol.step.successRate
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.type
(deprecated, use request.type
)SCRIPT_FINISH
), we return the value 0%
(for failures) or 100%
(for finished).dt.synthetic.multi_protocol.request.availability
builtin:synthetic.multiProtocol.request.availability
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)0
: HEALTHY
, SCRIPT_FINISH
, SKIPPED
1401 - CONSTRAINT_VIOLATED
dt.synthetic.multi_protocol.request.executions
builtin:synthetic.multiProtocol.request.executions
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.synthetic.monitored_entity_ids
dt.security_context
step.id
request.id
request.target.address
request.type
result.state
result.status.code
result.status.message
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)multi_protocol.result.state
(deprecated, use result.state
)multi_protocol.result.status
(deprecated, use result.status.message
)multi_protocol.result.status.code
(deprecated, use result.status.code
)dt.synthetic.multi_protocol.icmp.success_rate
builtin:synthetic.multiProtocol.icmp.successRate
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)dt.synthetic.multi_protocol.icmp.packets_sent
builtin:synthetic.multiProtocol.icmp.packetsSent
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)dt.synthetic.multi_protocol.icmp.packets_received
builtin:synthetic.multiProtocol.icmp.packetsReceived
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)dt.synthetic.multi_protocol.icmp.round_trip_time
builtin:synthetic.multiProtocol.icmp.roundTripTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)dt.synthetic.multi_protocol.icmp.request_execution_time
builtin:synthetic.multiProtocol.icmp.requestExecutionTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)request.tcp_port_number
665
multi_protocol.request.tcp_port_number
request.tcp_port_number
)665
dt.synthetic.multi_protocol.tcp.connection_time
builtin:synthetic.multiProtocol.tcp.connectionTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)request.tcp_port_number
multi_protocol.request.tcp_port_number
(deprecated, use: request.tcp_port_number
)request.dns_record_type
A
, AAAA
, CNAME
multi_protocol.request.dns_record_type
request.dns_record_type
)A
, AAAA
, CNAME
dt.synthetic.multi_protocol.dns.resolution_time
builtin:synthetic.multiProtocol.dns.resolutionTime
dt.entity.multiprotocol_monitor
dt.entity.synthetic_location
dt.entity.host
(only for monitors with filter defined)dt.security_context
step.id
request.id
request.target.address
request.type
multi_protocol.step.id
(deprecated, use step.id
)multi_protocol.request.id
(deprecated, use request.id
)multi_protocol.request.target_address
(deprecated, use request.target.address
)multi_protocol.request.type
(deprecated, use request.type
)request.dns_record_type
multi_protocol.request.dns_record_type
(deprecated, use: request.dns_record_type)Latest Dynatrace
Use DQL queries to extract data with metrics and dimensions.
The following examples use Notebooks to demonstrate how to work with the results of network availability monitors. They use result metrics as a starting point to explore possibilities of extracting and interpreting data with DQL.
The monitor MULTIPROTOCOL_MONITOR-5C2F92334DF71A90
executes ICMP requests and filters monitored hosts with "targetFilter": "hostGroup == e2e-synthetic-private-location"
(which resolves to about 26 hosts).
By using the dt.synthetic.multi_protocol.request.executions
metric and splitting it by the dt.entity.host
and result.status.message
dimensions, we can display the status of the connection to a particular monitored host entity in this host group. Some hosts do not fulfill the expected success rate; instead of being HEALTHY
, their requests are marked as CONSTRAINT_VIOLATED
.
Timeseries status = avg(dt.synthetic.multi_protocol.request.executions),by:{dt.entity.host, result.status.message},filter: dt.entity.multiprotocol_monitor == "MULTIPROTOCOL_MONITOR-5C2F92334DF71A90"
The monitor MULTIPROTOCOL_MONITOR-548C3CD54183CED9
executes ICMP requests to hosts with the explicitly defined IP addresses, 18.x.x.x
, 10.x.x.x
, and 34.x.x.x
. Each of these IP addresses maps to a distinct host.
We use the sum of the dt.synthetic.multi_protocol.icmp.packets_sent
and the sum of the dt.synthetic.multi_protocol.icmp.packets_received
metrics to get insight into how many packets were sent and received.
We split results by the request.target_address
dimension and filter data for 18.x.x.x
and 10.x.x.x
only.
For 18.x.x.x
, the same number of packets were received as were sent, but for 10.x.x.x
, all packets are lost and none were received.
timeseries {packets_sent = sum(dt.synthetic.multi_protocol.icmp.packets_sent),packets_received= sum(dt.synthetic.multi_protocol.icmp.packets_received)},by:{request.target_address},filter: dt.entity.multiprotocol_monitor == "MULTIPROTOCOL_MONITOR-548C3CD54183CED9"AND (request.target_address == "18.x.x.x"OR request.target_address == "10.x.x.x")
The monitor MULTIPROTOCOL_MONITOR-74E68F22FF5E9227
executes TCP requests to hosts from a host group that resolves to the IP addresses 18.x.x.x
, 34.x.x.x
, and 44.x.x.x
.
To display the status of the TCP connection for an IP-port pair, we use the dt.synthetic.multi_protocol.request.executions
metric and splitting it by the dimensions:
request.target_address
request.tcp_port_number
result.status.message
In this example:
22
(SSH) and 8080
(HTTP server) open, and each connection to the hosts on these ports succeeds with the HEALTHY
status.80
. Therefore, connections to all hosts on that port fail with the TCP socket connection error
status.Note that results of this query can be limited to just successful requests by filtering by the multi_protocol.result.status.code
dimension (code == 0
).
timeseries status = sum(dt.synthetic.multi_protocol.request.executions),by: {request.target_address, request.tcp_port_number, result.status.message},filter: dt.entity.multiprotocol_monitor == "MULTIPROTOCOL_MONITOR-74E68F22FF5E9227"// and result.status.code == 0
The monitor MULTIPROTOCOL_MONITOR-74E68F22FF5E9227
executes TCP requests to hosts from a host group that resolves to the IP addresses 18.x.x.x
, 34.x.x.x
, and 44.x.x.x
.
In this example, instead of IP addresses, we split the results by monitored host entity IDs.
To check typical time taken for a successful connection to the target port for a host, we use the average of the dt.synthetic.multi_protocol.tcp.connection_time
metric split by the dimensions:
dt.entity.host
request.target_address
request.tcp_port_number
Only ports 22
(SSH) and 8080
(HTTP server) are open, and these are the only ports for which dt.synthetic.multi_protocol.tcp.connection_time
is available. The hosts are effectively in different geographical locations (Ohio, Oregon, and North Virginia in the United States), so a difference in connection times is expected.
timeseries duration = avg(dt.synthetic.multi_protocol.tcp.connection_time),by:{dt.entity.host, request.target_address, request.tcp_port_number},filter: dt.entity.multiprotocol_monitor == "MULTIPROTOCOL_MONITOR-74E68F22FF5E9227"
0 HEALTHY
-1 UNEXPECTED_ERROR
1401 CONSTRAINT_VIOLATED
1604 VALIDATION_ERROR
12013 UNKNOWN_HOST
12033 Execution timeout
22000 TCP socket connection error
java.net.SocketException
is thrown during the connection attempt. Possible causes: