Overview
DNS monitoring verifies that your domain names resolve correctly to the expected IP addresses or values. This is critical for detecting DNS hijacking, configuration errors, propagation issues, and DNS server failures.DNS monitors query DNS servers and validate the responses match your expected values. They don’t check if the resolved IP addresses are actually reachable.
Use Cases
Domain Resolution
Ensure domains resolve to correct IP addresses
DNS Hijacking Detection
Alert if DNS records are changed maliciously
Configuration Validation
Verify DNS changes have propagated
Mail Server Monitoring
Check MX records point to correct servers
Creating a DNS Monitor
1
Basic Configuration
2
Configure DNS Settings
3
Select Monitoring Regions
Choose regions to test DNS resolution from different geographic locations.
DNS Record Types
UptimeIO supports monitoring all common DNS record types:- A Record
- AAAA Record
- CNAME Record
- MX Record
- TXT Record
- NS Record
IPv4 Address RecordMaps domain name to IPv4 address.Use for: Website domains, server hostnames
Expected Values
Configure which values indicate successful DNS resolution:Single Value
Multiple Values
Wildcard Matching
For dynamic values, use partial matching:DNS Server Selection
Choose which DNS server to query:- Default (System DNS)
- Public DNS
Leave DNS server empty for most scenarios. Specify a server only when you need to test specific DNS infrastructure.
Validation Options
Validate All Records
Controls how multiple DNS responses are validated:| Setting | Behavior | Use Case |
|---|---|---|
| Yes | ALL expected values must be present | Ensure complete DNS configuration |
| No | ANY expected value is sufficient | Load-balanced services with multiple IPs |
Resolution Timeout
Maximum time to wait for DNS response:- Fast networks: 5 seconds
- Standard: 10 seconds (default)
- Slow/distant: 15-30 seconds
Additional Record Types
Monitor multiple DNS record types simultaneously:How it works
How it works
UptimeIO queries all specified record types in parallel with the primary type.Primary record: Must succeed for check to pass
Additional records: Captured for reference, failures logged as warnings
Fail on errors
Fail on errors
DNS Response Data
Each DNS check captures detailed information:Key Metrics
Resolved Values
Resolved Values
The IP addresses or values returned by DNS query.Compared against your expected values to determine success/failure.
Authoritative
Authoritative
Resolution Time
Resolution Time
Time taken to resolve DNS query in milliseconds.
- < 50ms: Excellent (cached or local)
- 50-200ms: Good
- > 200ms: Slow, investigate
TTL (Time To Live)
TTL (Time To Live)
How long the DNS record can be cached.Lower TTL = More frequent updates, higher DNS load
Higher TTL = Less frequent updates, lower DNS load
Example Configurations
Best Practices
Monitor critical DNS records
Monitor critical DNS records
Always monitor:
- Main domain A/AAAA records
- www subdomain
- MX records for email
- Critical subdomains (api, cdn, etc.)
Use multiple regions
Use multiple regions
DNS resolution can vary by geographic location. Monitor from multiple regions to ensure global accessibility.
Set appropriate check intervals
Set appropriate check intervals
- Critical domains: 5 minutes
- Standard domains: 15 minutes
- Rarely changed: 1 hour
Monitor from different DNS servers
Monitor from different DNS servers
Create separate monitors using different DNS servers:
- One using default (system DNS)
- One using Google DNS (8.8.8.8)
- One using your authoritative nameserver
DNS Hijacking Detection
DNS hijacking is when attackers change your DNS records to redirect traffic:1
Set up monitoring
2
Incident on change
If DNS resolves to any other IP address, an incident is created immediately.
3
Immediate alert
Configure critical notifications (SMS, phone) for DNS monitors to respond quickly to hijacking attempts.
Troubleshooting
NXDOMAIN (Domain doesn't exist)
NXDOMAIN (Domain doesn't exist)
Possible causes:
- Domain not registered
- DNS not configured
- Typo in domain name
- DNS propagation not complete
- Verify domain is registered
- Check nameserver configuration
- Test with
digornslookup - Wait for propagation (up to 48 hours)
Unexpected IP addresses
Unexpected IP addresses
Possible causes:
- DNS configuration changed
- DNS hijacking
- CDN or load balancer changes
- DNS cache poisoning
- Verify expected IPs are correct
- Check DNS configuration in registrar
- Query authoritative nameservers directly
- Review recent DNS changes
Timeout errors
Timeout errors
Possible causes:
- DNS server not responding
- Network issues
- Firewall blocking DNS queries
- DNS server overloaded
- Increase timeout value
- Try different DNS server
- Check DNS server status
- Verify network connectivity
Inconsistent results across regions
Inconsistent results across regions
Possible causes:
- DNS propagation in progress
- GeoDNS configuration
- Regional DNS servers have different cache
- Anycast DNS routing
- Wait for full propagation (up to 48 hours)
- Check if GeoDNS is configured
- Verify TTL values
- Test from multiple locations manually
DNS Propagation
After changing DNS records, propagation takes time:| TTL Value | Propagation Time |
|---|---|
| 60 seconds | 1-5 minutes |
| 300 seconds (5 min) | 5-15 minutes |
| 3600 seconds (1 hour) | 1-4 hours |
| 86400 seconds (24 hours) | 24-48 hours |
Advanced: GeoDNS Monitoring
For GeoDNS setups that return different IPs based on location:1
Create region-specific monitors
2
Validate regional routing
Each monitor checks that the correct regional IP is returned from its location.