Learn how proactive synthetic monitoring can ensure quality of service, satisfy service-level agreements, and create delightful end-user experiences.
- Passive monitoring of user activity may miss many performance and functionality issues in your infrastructure and applications.
- User experience, as perceived by end users, is difficult to measure but crucial to achieving customer and user satisfaction.
- Synthetic monitoring fills these gaps by proactively uncovering performance and functional issues using generated traffic and inputs.
The network components, cloud services, and software interfaces your applications are built on have major impacts on performance and user perceptions. Your application functionalities may be extraordinarily useful, but if it’s slow or inconsistent, your users won’t appreciate them.
These real-world pitfalls can be preempted and optimized using a testing approach called synthetic monitoring. In this article, discover what synthetic monitoring is, what it can do, how it works, and how you can implement it in your enterprise systems.
What is synthetic monitoring?
Figure 1. Software-defined wide area network topology with Keysight Hawkeye monitoring devices
Synthetic monitoring is a simulation-based testing approach to network performance monitoring (NPM), application performance monitoring (APM), application programming interface (API) monitoring, and user experience (UX) testing. It involves:
- generating network traffic data or user interaction sequences that cover all possible scenarios and corner cases
- injecting the generated traffic into an enterprise network or sending the synthesized inputs to the application being tested
- capturing key performance indicators and UX metrics at multiple points in the network path or application workflow
Such synthetic testing is called active monitoring or proactive monitoring because you’re systematically exercising all code and data paths under diverse conditions, traffic volumes, and application usage patterns to uncover hidden performance issues.
How does synthetic monitoring differ from real user monitoring (RUM)?
In contrast to synthetic monitoring, real user monitoring (RUM) or passive monitoring supervises network or application performance while actual end users and programmatic clients interact with the system under test.
RUM involves collecting performance metrics from production systems while live traffic is flowing through their networks and application features are being actively used.
Since only a fraction of application workflows are frequently used while others are rarely or never touched, RUM’s passive approach can miss many hidden bottlenecks and bugs that may emerge during critical situations like corner cases, cyberattacks, disaster recovery, or automatic failover. Synthetic monitoring can successfully fill these gaps in system verification.
What are the benefits of using synthetic monitoring for website and application performance?
Synthetic monitoring tools deliver several benefits and improvements to applications and websites as described below:
- User-centric testing: Synthetic monitoring can simulate actual user interactions to identify performance issues as perceived by your users.
- Proactive troubleshooting: Detect infrastructure, performance, and functionality issues before they affect your end users or client systems. Early detection facilitates the identification of issues through in-depth root-cause analyses and hop-by-hop analyses, which may not be possible during high-pressure production outages.
- Global monitoring: Synthetic monitoring can be configured to run from various geographic locations as well as private locations (like branch offices) to simulate user experiences from different parts of the world. You can get insights into latency and other metrics by location.
- Comprehensive scenario testing: It enables the ongoing assessment of the quality of experience (QoE) and quality of service (QoS) across various network conditions, traffic volumes, and user flows.
- Regular repetitive testing: Running automated synthetic tests at regular intervals enables continuous supervision of network and application performance metrics, even as features, changes, and bug fixes are added.
- Mobile digital experience monitoring: Most employees and customers nowadays are likely to interact with your systems from smartphones and tablets over 5G / 6G / Wi-Fi networks. Synthetic monitoring ensures good mobile experiences by emulating the network conditions of these diverse technologies.
- Cloud services monitoring: Synthetic monitoring can conduct end-to-end service checks across hybrid networks that span private enterprise networks and public clouds.
- Application-specific routing: In combination with technologies like software-defined wide area networks (SD-WANs), synthetic monitoring enables dynamic allocation of network resources to each application based on predicted usage.
What types of tests can be performed with synthetic monitoring?
Some of the key network and application tests are outlined below:
- Uptime: If you’re a service provider, are your applications, services, and infrastructure available and resilient? Are you meeting your SLAs?
- Response times: How long do your applications take to respond to user actions?
- Network latency: Do some segments of your end-to-end network paths show higher latency? This knowledge will enable your systems to reroute traffic over more optimal paths.
- Load: How do your infrastructure and application hold up under high traffic loads?
- QoE: Are user experience metrics like page load times, download speeds, and latencies under reasonable thresholds?
- Connectivity: Is there good connectivity to network endpoints, application components, and third-party services? Are key components like content delivery networks (CDNs), domain name systems (DNS), frontend, and backend working properly?
- API monitoring: Are your API endpoints up and running? Are per-customer quotas and limits being enforced correctly? If you are an API consumer, are your API calls working correctly with expected response times?
- QoS: If you are a service provider, are QoSmetrics of services like 5G / 6G data, video, storage, or voice over internet protocol (VoIP) meeting your advertised service levels?
- Security metrics: Are critical security aspects like firewalls, virtual private networks (VPNs), transport level security (TLS)/secure socket layer (SSL) configuration, authorization, access control, authentication, and auditing working correctly with high performance?
- Network capacity: Are the capacity metrics — like bandwidth and throughput — of your networks and software systems ideal?
- Error rates: Are your infrastructure or software components showing higher error rates than usual?
- Transaction monitoring: Are online business transactions, checkout user flows, or payment integrations failing?
Synthetic monitoring tools are designed to simulate user interactions for accurate performance testing and insights by replicating the behavior of actual website visitors. Some key techniques and features are described below:
- User journey simulation: These tools navigate websites and web applications like real users using headlessbrowsers, Javascript engines, and other modern web technologies.
- Virtual user creation: By generating virtual users, they replicate real visitor behavior along multiple dimensions like the type of internet connectivity, type and version of device, operating system, geographical location, and more. This allows performance analysis based on realistic user experiences.
- Browser testing: Advanced testing includes utilizing the latest browser features and simulating various network conditions like throttled upload / download speeds. This ensures a comprehensive evaluation of how users experience the website under varied scenarios.
- Scripting support: Developers can create highly flexible, customizable scripts for user journey simulations, incorporating dynamic parameterization and retry logic to mimic actual user behaviors and interactions. These scripts can be created either visually using low-code / no-code tools or using programming.
- Comprehensive monitoring across technology stacks: These tools can monitor all layers of network and application stacks, including API layers, email servers, network routers, edge devices, compute services, storage services, and cloud services.
- Real-time insights: Visual dashboards enable users to observe metrics as they run and drill down into any layer. This enables quick identification and resolution of issues.
- Detailed reporting and analytics: In-depth reporting of performance metrics, trends, bottlenecks, and actionable insights help you optimize user experiences and infrastructure performance.
What are the best practices for implementing synthetic monitoring in a DevOps or CI/CD pipeline?
Figure 2. Eggplant Monitoring integration with CI/CD tools
DevOps and continuous integration/continuous deployment (CI/CD) facilitate the automation of synthetic monitoring after every change in software functionality or network configuration.
To implement synthetic monitoring effectively in DevOps and CI/CD pipelines, follow these best practices:
- Integrate synthetic monitoring into CI/CD systems: Synthetic monitoring tools often expose APIs and webhooks to facilitate integration with Jenkins, Azure DevOps, GitHub, and other systems. They can be used to automate test runs and monitor alerts directly linked to the development process.
- Automate your testing: Reduce the need for manual intervention and its associated risks of omissions and errors. Automate all your critical synthetic monitoring, and make it as end-to-end as possible.
- Ensure security: Securely handle sensitive information — like test server endpoints and client secrets — using environment variables or secrets management tools.
- Implement high visibility: Implement comprehensive logging and tracing to promptly identify issues. Review application and transaction logs after test runs for swift validation of synthetic monitoring results.
- Foster collaborations: Foster collaboration between quality assurance, DevOps, and development teams to enhance communication. Focus on critical user paths and potential issues early in the development cycle.
- Implement continuous feedback: Establish mechanisms (like Slack Webhooks) to provide immediate feedback to development teams about the results of your synthetic monitoring results. This enables rapid issue resolution.
- Maintain stable test environments: Maintain stable testing environments to support the execution of high volumes of synthetic monitoring tests without delays.
- Achieve balanced coverage: Balance the need for high test coverage with the time it takes. Use shorter smoke tests for rapid checking after code merges. Plan more extensive regression tests during less frequent events like release branch merges.
What synthetic monitoring solutions does Keysight offer?
Keysight offers comprehensive synthetic monitoring solutions for NPM and APM as explained below.
Hawkeye for network monitoring
Figure 3. Hawkeye dashboard
Hawkeye is a comprehensive synthetic monitoring solution for physical and virtual network observability. Its capabilities are described below:
- Real-time data processing: Inline monitoring with probes enables real-time analysis of network traffic and immediate verification of fixes with pass / fail metrics.
- Flexible deployment options: Hawkeye supports both hardware and software-based endpoints, allowing installation across diverse environments, including physical, virtual, and cloud infrastructures.
- User experience measurement: The platform assesses user experience across networks and applications, providing insights into QoS and ensuring optimal performance.
- Comprehensive KPI measurement: Hawkeye measures a wide range of KPIs related to network and application performance, ensuring a holistic overview of network health.
- Traffic simulation and generation: The system generates synthetic traffic to proactively monitor and test network capabilities under expected conditions, simulating user behavior.
- Network path discovery: Tools for tracking data paths help identify issues and ensure compliance with SLAs.
- Automated alerts and reporting: Hawkeye features configurable alerts and detailed reporting mechanisms, notifying teams of issues and providing insights for performance optimization.
- Scalability: Hawkeye can be scaled easily to accommodate various deployment sizes, from small branch offices to large enterprises.
- Centralized dashboards: A web-based interface consolidates performance data and analytics, enhancing user accessibility and simplifying network management.
- Historical performance tracking: Users can access historical performance data to identify trends and proactively address potential issues.
Eggplant Monitoring for applications
Figure 4. Performance analysis in Eggplant Monitoring
Eggplant Monitoring is a synthetic monitoring solution for benchmarking web applications, websites, web pages, and APIs. Its key features include:
- User journey simulation: Eggplant Monitoring runs as a software-as-a-service (SaaS) that can simulate user interactions on applications and websites. It replicates real user behavior, including detailed scripting options for customizable monitoring scenarios, allowing for continuous tracking of user experiences. Capabilities include dynamic parameterization, retry logic, and scenario emulation to accurately simulate user interactions under different network conditions.
- Comprehensive technology monitoring: End-to-end visibility into applications, frontends, backends, APIs, cloud services, email, FTP, and other modern web technologies enables deep insights.
- Real-time alerts and notifications: Eggplant Monitoring continuously analyzes performance with real-time alerts delivered through multiple channels like email and short messaging to ensure rapid response to issues.
- Cross-environment testing: Teams can test across various environments and devices, using emulated and actual browser conditions for reliable results.
- Artificial intelligence: Eggplant Monitoring uses artificial intelligence for proactive detection and diagnosis of performance issues, supporting targeted optimization efforts.
- International monitoring: Global monitoring is supported by collecting performance statistics from locations across the world and comparing user experiences across different internet providers and devices.
Select Keysight for your synthetic monitoring needs
In this article, we gave an overview of using synthetic monitoring for testing networks and applications.
Keysight’s network visibility products and solutions provide deep insights into all aspects of your networks and applications.
Contact us for expert advice on implementing comprehensive testing in your enterprise.