A DNS monitor. Checks the returned IP of a query against an expected IP.


I see the advantage of checking against expected IP for an A record, but also just notifying on IP/record change (additionally). Also checking a DNS server for response time and failures, which is another interpretation of the description “DNS Monitor”
good idea
For me MX checks to know if clients Email is operational. We manage the Email system but sometimes the client is still responcible (or worse another 3rd party) for the domain and the DNS settings and on many occasions they make changes without knowing properly what they are doing. Getting some warning that the MX records have been altered would be awesome. I know other companies do this, but I would prefer to keep all my monitoring in one place. Many thanks.

We just had a failure where our DNS was broken and our web site was unreachable to users but UptimeRobot didn’t fail connection to the HTTP(s) servers.
Guessing that it was using a cached IP address.

@Dean altough this isn’t the best solution, in the meantime one could make a keyword check on dns query via dns.google, e.g. like https://dns.google/resolve?name=example.org&type=A

I think there are different scenarios that a DNS test should cover:
change from a specified value
any change, e.g. TTL, or change of the resolved value
But the URL method mentioned by @Felix to test DNS records is also very creative way to tacle this.
@Dean Keep in mind that the TTL may be the issue here as those cached records will continue to resolve, while the TTL is still valid. e.g. 24 hour TTL. The more important test here that you are describing is the DNS server is reachable, not the DNS records. If you can’t device a DNS reachability test, you could alternatively set a dummy A record with 5 second TTL. This might solve, if you cannot test your DNS server is reachable.
Do you resolve by name or direct IP?
This one critical feature in web service monitoring. Other services usually allow dns server monitoring and which A record it returns.
This would be a great feature to know when an A or CNAME record changes, or if the name server is down causing an outage.
It won’t need to check often, perhaps a daily record check or when there is a downtime recorded.


A very cool tool that I use frequently is dnsviz.net. Maybe link to this as a tool in alerts.

I ended up creating a custom php file to use as an endpoint for my monitor (different monitoring tool though as UptimeRobot doesn’t support string matching.) My monitored page prints out the results of an nslookup and now my test can report on any changes to the authorative nameservers.

DNS monitoring is now live!
You can now keep an eye on specific DNS records and get alerted if they change. Supported record types include:
A, NS, CNAME, SOA, PTR, MX, TXT, AAAA, SRV, DS, NSEC, DNSKEY, NSEC3, SPF
You’ll find the new monitor type when adding a monitor in your dashboard.
Thanks for the suggestion - and feel free to share feedback or ideas for further improvements!
