Monitoring

Synthetic Checks: Definition & Everything Else You Need to Know

A Guide to Synthetic Checks and How Netdata Helps You Monitor Service Healthg

What Are Synthetic Checks?

Synthetic checks are proactive tests that simulate user interactions or network requests to monitor the availability and performance of services. Rather than waiting for an issue to be reported by a user, synthetic checks continuously run automated checks to detect problems before they affect real users. This makes them an essential tool for DevOps and Site Reliability Engineers (SREs) who aim to maintain a reliable and responsive infrastructure.

Synthetic checks can measure various aspects of system performance, such as:

  • Response times of APIs
  • Availability of web services
  • Network connectivity between servers
  • Ping tests to assess latency and packet loss
  • DNS resolution times
  • Input/output (I/O) latency to measure storage performance

The main goal is to spot problems early and ensure that services remain highly available and perform well under different conditions. While traditional monitoring focuses on collecting real-time metrics from your infrastructure (e.g., CPU usage, memory consumption), synthetic checks simulate real-world scenarios to validate the functionality of your services from an external perspective.

Why Are Synthetic Checks Important?

For any DevOps or SRE team, keeping services available, responsive, and resilient is a top priority. Here’s where synthetic checks come in handy:

  • Early Detection of Problems: Since synthetic checks simulate traffic, they can catch issues like slow response times, DNS resolution failures, or packet loss before users experience them.
  • Monitoring Critical Paths: You can configure synthetic checks to focus on critical paths like login systems, payment gateways, or any essential endpoint, ensuring that these parts of your service work consistently.
  • Consistency Across Geographies: Synthetic checks can be set up from various geographic locations, allowing you to monitor the availability and performance of services from different regions.
  • Validating Third-Party Integrations: If your system depends on external APIs or services, synthetic checks can continuously test whether those integrations are working correctly.
  • Baseline Performance Testing: Over time, you can use synthetic checks to establish a performance baseline, making it easier to detect anomalies or degraded performance.

How Netdata Uses Synthetic Checks

Netdata makes synthetic monitoring easy and highly effective by integrating synthetic checks directly into its real-time monitoring platform. Here’s how it works and why it’s incredibly useful:

Netdata’s Synthetic Check Integrations

Netdata offers out-of-the-box synthetic checks that are simple to set up and integrate into your existing infrastructure. The primary types of checks provided by Netdata include:

  • Ping Checks: These are basic network-level checks that help you measure the latency and packet loss between your Netdata nodes and any target. This is crucial for identifying network congestion or failure points in real-time.
  • Web Service Checks (HTTP): These checks monitor the availability and response times of any HTTP or HTTPS endpoint. Whether you want to ensure your APIs are online or check that a critical web service is responsive, Netdata’s HTTP checks simulate requests at configurable intervals and provide you with precise metrics.
  • DNS Checks: DNS checks validate that your domain names resolve correctly. Misconfigurations in DNS can lead to significant downtime, and Netdata’s DNS checks help prevent that by continuously monitoring your DNS records' responsiveness.
  • I/O Ping Checks: I/O Ping is a specialized synthetic check used to monitor the performance of your storage systems by measuring I/O latency. With this, Netdata can simulate disk read and write operations and measure how fast the storage system responds. This is critical for identifying bottlenecks in your storage performance and ensuring that high-latency disk operations do not impact application performance.

Each of these synthetic checks is designed to provide continuous monitoring, alerting, and insights, helping teams act swiftly when things go wrong.

Configuring Synthetic Checks in Netdata

Setting up synthetic checks in Netdata is straightforward. Netdata provides a powerful and easy-to-configure synthetic.conf file where you can define the targets, intervals, and thresholds for different checks. You can deep dive into our documentation to find out more.

Visualizing and Analyzing Synthetic Check Results

One of the standout features of Netdata is its real-time visualizations. You can view all synthetic check results directly in the Netdata dashboard, where you can monitor performance metrics like latency, response time, packet loss, and I/O latency across different time frames. This allows you to:

  • Correlate synthetic check results with other system metrics (e.g., CPU, memory, disk usage) to identify root causes of performance issues.
  • Visualize trends to understand whether performance is improving or degrading over time.
  • Receive alerts when synthetic checks exceed predefined thresholds. Netdata supports real-time alerts that can be configured to trigger notifications based on the results of your synthetic checks. Alerts can be routed to various platforms such as Slack, email, PagerDuty, and more, ensuring that your team is immediately notified if a service becomes unresponsive or experiences performance issues.

Synthetic Checks as Part of Netdata’s Broader Monitoring Capabilities

Synthetic checks are only one part of Netdata’s comprehensive monitoring suite. By integrating these checks with other system-level metrics (such as CPU, memory, disk I/O, etc.), you get a holistic view of your infrastructure. This means you can quickly identify whether an issue is related to network latency (detected via synthetic checks) or something like resource exhaustion on a server (detected through system metrics). For example, if a ping check shows high latency, you could also check the bandwidth usage of the node to see if the two issues are correlated. This gives you more context and helps in root cause analysis, reducing the time to resolution.

Practical Use Cases of Synthetic Checks with Netdata

Let’s consider some practical examples of how synthetic checks can be used with Netdata in a DevOps or SRE context:

  • Example 1: Monitoring API Response Times Imagine you are responsible for maintaining an e-commerce platform with a public API. Setting up synthetic HTTP checks for key API endpoints, such as /login, /products, or /checkout, will allow you to monitor their performance 24/7. If the /checkout endpoint starts responding slowly, Netdata’s alerting system will immediately notify your team, preventing potential revenue loss due to a slow checkout process.
  • Example 2: Ensuring DNS Uptime for Global Users Your product serves users worldwide, and you rely on multiple DNS providers for failover. Using Netdata’s DNS checks, you can continuously monitor the availability and resolution times of your DNS records. If one provider starts having issues, you’ll know before it affects users in a particular region.
  • Example 3: Preventing Network Issues in a Multi-Cloud Environment In a multi-cloud architecture, ensuring smooth network connectivity between your services is crucial. You can configure Netdata’s ping checks to monitor latency and packet loss between different cloud regions or even different cloud providers. If latency spikes between two regions, your team can be notified and switch traffic to more reliable paths.
  • Example 4: Monitoring Storage Performance with I/O Ping

In a high-traffic application environment, storage performance can be a bottleneck. By setting up I/O ping checks with Netdata, you can continuously monitor the read and write latency of your critical storage devices. If the I/O latency increases beyond an acceptable threshold, it may indicate that your storage system is struggling to keep up with demand, allowing you to intervene before performance degrades for your users.

How Synthetic Checks Contribute to Service Reliability

By adding synthetic checks to your monitoring strategy, you are proactively testing your services from the perspective of your users. Netdata simplifies this process by providing:

  • Easy-to-configure checks with built-in alerting.
  • Comprehensive visualizations of performance metrics.
  • Correlation of synthetic results with real-time system data.
  • Integration with popular notification platforms for quick response. Synthetic checks, when used alongside other system-level monitoring, significantly improve your ability to detect, diagnose, and fix problems before they affect your users. With Netdata, these checks become part of your regular operations, ensuring you maintain a high level of service reliability.