upti.my

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 TypeDescriptionCommon Use
AMaps a domain to an IPv4 addressWebsite and service hosting
AAAAMaps a domain to an IPv6 addressIPv6-enabled services
CNAMECreates an alias pointing to another domainCDN and load balancer endpoints
MXSpecifies mail servers for the domainEmail delivery
TXTStores arbitrary text dataSPF, DKIM, domain verification
NSSpecifies authoritative nameserversDNS delegation
SOAContains zone administration informationZone configuration

Configuration

ParameterDescriptionDefault
Domain NameThe domain to query DNS records forRequired
Record TypeThe DNS record type to query (A, AAAA, CNAME, MX, TXT, NS, SOA)Required
Expected RecordsOne or more expected record values for validationEmpty (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:

FieldDescription
DomainThe domain that was queried
Record TypeThe DNS record type that was queried
Record CountTotal number of records returned by the DNS server
Resolved RecordsThe actual DNS records returned
Expected CountNumber of expected records configured
Found CountNumber of expected records that were found in the response
DNS ErrorsAny errors returned by the DNS server (NXDOMAIN, SERVFAIL, etc.)
Query TimeTime taken to complete the DNS query in milliseconds

Example Configurations

A Record Check

DNS Check - A Record
{
  "domain": "example.com",
  "record_type": "A",
  "expected_records": ["93.184.216.34"],
  "timeout_seconds": 10,
  "interval_seconds": 300
}

MX Record Check

DNS Check - MX Record
{
  "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.