DNS check
DNS or domain name servers resolve a domain to an IP address. This check ensures a domain resolves and measures the average time for the resolution to happen. DNS checks can be set up to validate against a specific DNS server and check for a specific kind of response. Behind the scenes, DNS checks work by sending automated requests to DNS servers and validating the results for specific domain names, checking that domains return the correct IP addresses in their A records, AAAA records, or other DNS record types.
Create a DNS check
You can create and execute a DNS check from the Synthetic Monitoring UI.
- On the left-side menu, select Testing & synthetics > Synthetics.
- Click Create new check or Add new check.
- Choose API Endpoint as your check type.
- Set the value for the required options.
- Schedule or run the check.
- Click Save to schedule the check.
- Click Test to run the DNS check.
Options
The list of common options to all check types:
Option | Description |
---|---|
Enabled | Whether the check is enabled or not. |
Job name | Refer to the check name. Check metrics include a job label with the value of this option. |
Target | Target of the check request. Check metrics include an instance label with the value of this option. |
Probe locations | The locations where the check should run from. Check metrics include a probe label with the value of the probe location running the check. |
Frequency | The frequency the check should run in seconds. The value can range from 60 to 3600 seconds. Only the sm_check_info metric includes the frequency label. |
Timeout | Maximum execution time for the check. The value can range from 1 to 60 seconds. |
Custom labels | (Optional) Custom labels applied to check metrics. Refer to Custom labels for querying instructions. |
Additionally, DNS checks have the following options:
Option | Description |
---|---|
Record type | The resource record to query. |
Server | The nameserver to query. |
Port | The port used to connect to the server. |
Protocol | The protocol (TCP, UDP) used to connect to the server. |
Valid response codes | The set of response codes to accept. |
Valid response matches | A series of validations to apply to the response. |
IP version | The internet protocol version to use (V4, V6 or any). |
Publish full set of metrics | Whether to publish additional metrics to create histograms (used for Apdex scores or heatmaps). Default is false to reduce the number of active series. |
These last options don’t produce any additional labels in the resulting check metrics.
Metrics
Checks store their results as Prometheus metrics, including the list of common metrics:
Metric | Description |
---|---|
probe_all_duration_seconds | Returns how long the probe took to complete in seconds (histogram). |
probe_duration_seconds | Returns how long the probe took to complete in seconds. |
probe_all_success | Displays whether or not the probe was a success (summary). |
probe_success | Displays whether or not the probe was a success. |
sm_check_info | Provides information about a single check configuration. |
Additionally, DNS checks produce the following metrics:
Metric | Description |
---|---|
probe_dns_additional_rrs | Returns the number of entries in the additional resource record list. |
probe_dns_answer_rrs | Returns the number of entries in the answer resource record list. |
probe_dns_authority_rrs | Returns the number of entries in the authority resource record list. |
probe_dns_duration_seconds | Duration of DNS request by phase. |
probe_dns_lookup_time_seconds | Returns the time taken for probe DNS lookup in seconds. |
probe_dns_query_succeeded | Displays whether or not the query was executed successfully. |
probe_ip_addr_hash | Specifies the hash of the IP address. It’s useful to detect if the IP address changes. |
probe_ip_protocol | Specifies whether probe IP protocol is IP4 or IP6. |