DNS Health Checks
Monitor DNS resolution by checking A, AAAA, CNAME, MX, TXT, NS, and SOA record types.
Overview
DNS health checks monitor the DNS records for your domains to ensure they resolve correctly. DNS is the foundation of internet connectivity. If your DNS records are incorrect or your nameservers are down, users cannot reach your services regardless of whether the servers themselves are running.
upti.my DNS checks query for specific record types and compare the results against your expected values. This catches issues like accidental record deletions, unauthorized changes, misconfigured migrations, and nameserver outages.
Supported Record Types
| Record Type | Description | Common Use |
|---|---|---|
A | Maps a domain to an IPv4 address | Website and service hosting |
AAAA | Maps a domain to an IPv6 address | IPv6-enabled services |
CNAME | Creates an alias pointing to another domain | CDN and load balancer endpoints |
MX | Specifies mail servers for the domain | Email delivery |
TXT | Stores arbitrary text data | SPF, DKIM, domain verification |
NS | Specifies authoritative nameservers | DNS delegation |
SOA | Contains zone administration information | Zone configuration |
Configuration
| Parameter | Description | Default |
|---|---|---|
| Domain Name | The domain to query DNS records for | Required |
| Record Type | The DNS record type to query (A, AAAA, CNAME, MX, TXT, NS, SOA) | Required |
| Expected Records | One or more expected record values for validation | Empty (any result passes) |
💡 Multiple Expected Records
You can specify multiple expected records for record types that commonly have several values, such as MX records or multiple A records for load balancing. The check succeeds when all expected records are found in the DNS response.
Response Data
Each DNS health check execution captures the following data:
| Field | Description |
|---|---|
| Domain | The domain that was queried |
| Record Type | The DNS record type that was queried |
| Record Count | Total number of records returned by the DNS server |
| Resolved Records | The actual DNS records returned |
| Expected Count | Number of expected records configured |
| Found Count | Number of expected records that were found in the response |
| DNS Errors | Any errors returned by the DNS server (NXDOMAIN, SERVFAIL, etc.) |
| Query Time | Time taken to complete the DNS query in milliseconds |
Example Configurations
A Record Check
{
"domain": "example.com",
"record_type": "A",
"expected_records": ["93.184.216.34"],
"timeout_seconds": 10,
"interval_seconds": 300
}MX Record Check
{
"domain": "example.com",
"record_type": "MX",
"expected_records": [
"10 mail1.example.com.",
"20 mail2.example.com."
],
"timeout_seconds": 10,
"interval_seconds": 300
}Common Use Cases
- Migration Monitoring - Verify DNS records after migrating services to new infrastructure
- CDN Verification - Ensure CNAME records point to the correct CDN endpoint
- Email Deliverability - Monitor MX and TXT (SPF/DKIM) records to prevent email delivery issues
- Nameserver Health - Check NS records to verify DNS delegation is intact
- Unauthorized Changes - Detect unexpected DNS record modifications
⚠️ DNS Caching
DNS records are cached by resolvers based on their TTL (Time to Live) value. After making DNS changes, it may take time for the new values to propagate. Keep this in mind when setting up checks after infrastructure changes.