Prerequisites
Prerequisites
Before creating DNS Monitors, ensure you have:
- An initialized Checkly CLI project
- A domain or hostname you want to monitor
- Basic understanding of DNS record types (A, AAAA, CNAME, MX, NS, TXT, SOA, HTTPS)
Configuration
A DNS Monitor has its own DNS-specific settings, plus the standard monitor options shared across all check types.- DNS Monitor Settings
- General Monitor Settings
DnsMonitor Options
DNS request configuration that defines the DNS query to perform and how to validate the response.Usage:Parameters:
Response time threshold in milliseconds for marking the DNS Monitor as degraded (warning state).Usage:
Maximum response time in milliseconds before the DNS Monitor is marked as failed.Usage:
DnsMonitor Assertions
To define assertions for the request of an DnsMonitor you should use the DnsAssertionBuilder. The following sources are available for DNS monitor assertions:
responseTime(): Assert the total response time of the DNS request in milliseconds. Use this to set thresholds for failed lookupsresponseCode(): By default, DNS monitors pass when the return code is NOERROR and fail on error codes (FORMERR, SERVFAIL, NXDOMAIN, etc.). You can override this behavior by defining a custom return code assertiontextAnswer(): The raw DNS response as plain text. Use this to check for specific strings in the responsejsonAnswer(property?): The DNS response in JSON format. This allows you to target specific fields using JSON path assertions. The response structure varies by record type. Learn more about using JSON path.
- Assert the total response time of the DNS request
- Assert the DNS response code
- Assert against specific JSON fields in the response.
General Monitor Options
Friendly name for your DNS Monitor that will be displayed in the Checkly dashboard and used in notifications.Usage:
How often the DNS Monitor should run. Use the Available frequencies:
Frequency enum to set the check interval.Usage:EVERY_10S, EVERY_20S, EVERY_30S, EVERY_1M, EVERY_2M, EVERY_5M, EVERY_10M, EVERY_15M, EVERY_30M, EVERY_1H, EVERY_2H, EVERY_3H, EVERY_6H, EVERY_12H, EVERY_24HArray of public location codes where the DNS Monitor should run from. Multiple locations provide geographic coverage and help detect regional DNS issues.Usage:
Whether the DNS Monitor is enabled and will run according to its schedule.Usage: