Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

The actually useful free plan

Grafana Cloud Free Tier
check

10k series Prometheus metrics

check

50GB logs, 50GB traces, 50GB profiles

check

500VUk k6 testing

check

20+ Enterprise data source plugins

check

100+ pre-built solutions

Featured webinar

Getting started with grafana LGTM stack

Getting started with managing your metrics, logs, and traces using Grafana

Learn how to unify, correlate, and visualize data with dashboards using Grafana.

How to perform real-time DNS monitoring in Grafana Cloud

How to perform real-time DNS monitoring in Grafana Cloud

2025-09-23 5 min

When DNS or domain name server resolution processes fail, or become sluggish, users can experience timeouts, connection errors, and degraded performance — often without clear indication of the root cause. 

This is where DNS checks in Grafana Cloud Synthetic Monitoring come in, allowing you  proactively monitor domain name resolution, verify that domains resolve to the correct IP address, and even measure how quickly that resolution occurs. This helps you catch DNS issues before they lead to application failures, ensuring your users can reliably reach your services.

In this blog post, we’ll walk through how DNS checks work and show you how to create one using Grafana Cloud Synthetic Monitoring. You can also learn more by watching the video below. 

What is a DNS check?

Synthetic Monitoring enables you to proactively monitor the performance of your applications and services from public and private probes located around the world. It allows you to set up a variety of checks, including ping checks, browser checks, scripted checks, TCP checks, and DNS checks. 

DNS checks ensure that domain names resolve correctly to IP addresses and measure the average time for that resolution to occur. Behind the scenes, DNS checks work by sending automated requests to DNS servers and validating the results for specific domain names, checking that domains return the correct IP addresses in their A records, AAAA records, or other DNS record types.

When a DNS server doesn’t respond or when a domain doesn’t return the expected IP address, DNS checks in Grafana Cloud Synthetic Monitoring can immediately detect these issues and alert the appropriate team members. The key benefits of DNS check include: 

  • Real-time DNS monitoring: identify network performance responsiveness, latency, and availability from multiple global locations before they impact users
  • Security monitoring: detect DDoS attacks or DNS poisoning attempts
  • Global DNS validation: test DNS resolution from multiple locations worldwide for consistent performance

Run a DNS check 

Let’s walk through setting up a DNS check in Grafana Cloud Synthetic Monitoring. This process involves a few key configuration steps.

1. Create a Grafana Cloud account

If you don’t already have one, sign up for a free Grafana Cloud account.

2. Navigate to Synthetic Monitoring

In the Grafana Cloud UI, go to Testing & synthetics to access tools for performance testing and optimization.

The Grafana Cloud UI showing a sidebar with menu options, including Synthetics.

3. Select Synthetic Monitoring and create a check

Next, click Synthetics and choose Create check. Select API Endpoint as the check type. This is where you find HTTP, Ping, DNS, TCP and Traceroute checks.

The Grafana Cloud UI showing options for selecting a check type: API Endpoint, Multi Step, and Scripted, each with brief descriptions and icons.

4. Add a request 

Next, provide a Job name. We’ll use the name Example:DNS. For our request type, we’ll select DNS, and for request target, we’ll select grafana.com.

Screenshot of an API Endpoint interface showing a DNS request setup with 'grafana.com' as the request target.

5. Set a timeout 

With our DNS check added, we’ll specify the valid response code we are expecting. We’ll choose NOERROR, which means the DNS query got a valid response. 

We’ll also specify the maximum execution time for this check. If the check takes longer than this period to run, the check will be marked as failed. For this example, we’ll choose 10 seconds.

Grafana Cloud interface showing settings for response codes and timeout, with fields for minutes and seconds set to 0 and 10, respectively.

6. Add labels

Labels help you organize and filter your checks. Adding a label makes it easier to segment results by environment or use case in the future. For this example, we’ll use the label env:test.

Grafana Cloud interface showing API endpoint settings with a 'Labels' section.

7. Choose a probe location

Grafana Cloud offers access to over 20 globally distributed probe locations. For this example, we’ll select Oregon, US and Singapore, SG. We advise that you choose the location closest to your users or infrastructure to best reflect their experience.

A Grafana Cloud interface showing probe locations across regions like Americas, Asia-Pacific, and Europe, with Singapore, SG and Oregon, US highlighted.

8. Set your test frequency

Determine how frequently you want your DNS check to run. We will choose a one-minute interval, so our check will run every minute. 

A Grafana Cloud interface showing frequency settings and alerting options.

9. Create an alert

When metrics deviate from expected performance, alerts are the most effective way to trigger necessary actions based on those metrics. For this example, we’ll choose 2 out of 10 executions that fail in the last five minutes as the threshold to get alerted.

A Grafana Cloud interface showing API endpoint options for alert configuration and execution frequency.

10. Save and run the check

Click Save to initiate the DNS check. Grafana Cloud will begin executing based on your configuration. You can also click the Test button to validate the check before saving.

Visualize the check results

After letting our DNS check run for a few hours, it’s time to review the results. Grafana Cloud Synthetic Monitoring provides a preconfigured dashboard for each check, giving you access to key insights. On this dashboard, you’ll find important metrics like uptime, reachability, average latency and frequency.

A Grafana Cloud Synthetic Monitoring dashboard displaying network uptime at 100%, reachability at 100%, and response time at 8.27 ms. Includes world map and performance graphs.

As you scroll through the dashboard, you’ll find additional charts that offer deeper visibility, including response latency by probe location and resource records for each probe location. All data and visualizations are updated in real time as the test continues to run, enabling continuous performance monitoring and faster issue detection.

Wrapping up 

DNS checks are an important way to verify if DNS issues are at the root of performance problems. By leveraging Grafana Cloud Synthetic Monitoring, you can easily implement, monitor, and manage DNS checks to ensure the reliability of your most critical services.

To learn more about Synthetic Monitoring, please refer to our technical docs. You can also explore this dashboard on Grafana Play, which features example checks.

Grafana Cloud is the easiest way to get started with synthetic monitoring. We have a generous free tier that includes 100k test executions per month and more. Sign up for free now!