DNS Records
How to configure DNS monitoring to track record changes and detect misconfigurations.
Overview
DNS monitors resolve DNS records for a hostname and compare the results against expected values. They detect record changes, propagation issues, and resolution failures.
Configuration
Hostname and record type
Enter the hostname (without protocol) and select the record type to monitor:
| Record type | What it monitors |
|---|---|
| A | IPv4 address |
| AAAA | IPv6 address |
| CNAME | Alias target hostname |
| MX | Mail server and priority |
| NS | Nameserver delegation |
| TXT | Text records (SPF, DKIM, DMARC) |
| SOA | Start of authority |
| SRV | Service location (host, port, priority, weight) |
Expected values
Specify the values you expect the DNS record to resolve to. For example:
{
"hostname": "example.com",
"record_type": "A",
"expected_values": ["93.184.216.34"]
}
For MX records, include the priority:
{
"hostname": "example.com",
"record_type": "MX",
"expected_values": ["10 mail.example.com"]
}
Match type
Each DNS check supports two match types:
- Exact — The resolved values must match the expected values exactly
- Contains — The resolved values must contain the expected values (allows additional records)
Custom resolver
By default, MonitorHound uses the system DNS resolver. You can specify a custom resolver IP address (IPv4 or IPv6) to route DNS queries through a specific nameserver — useful for testing against authoritative nameservers or verifying resolver-specific behavior.
Fetch Baseline
Click the Fetch Baseline button to automatically populate expected values from a live DNS query. This is a quick way to set up monitoring for existing records without manually entering values.
Multiple checks per monitor
Each DNS monitor can contain up to 20 checks, each with its own hostname, record type, expected values, and match type. This lets you monitor multiple records for a domain in a single monitor — for example, checking both A and MX records together.
Check behavior
- MonitorHound resolves the DNS record from multiple locations simultaneously
- The resolved values are compared against expected values using the configured match type
- If any location returns unexpected values, the check is marked as failed
- Alerts include details of what changed (old vs. new values)
Use cases
- Domain migration: Monitor A records during DNS migration to verify propagation
- Email configuration: Monitor MX and TXT (SPF/DKIM) records to catch misconfigurations
- Security: Monitor A/CNAME records to detect unauthorized changes
- Subdomain management: Track CNAME records for services like CDN or SaaS integrations
Tips
- Monitor both A and AAAA records if your domain supports IPv6
- Use Fetch Baseline to quickly set up monitoring for existing records
- For high-traffic domains, monitor NS records to catch nameserver delegation issues
- TXT record monitoring is useful for verifying SPF, DKIM, and DMARC configurations remain intact
- Use contains match type when you expect additional records beyond your known values