Synthetic monitoring
Synthetic monitoring is an industry-standard method to monitor applications’ availability and performance by simulating user interactions from different geographic locations. Synthetic monitoring in Instana enables proactive, automated testing of application availability and performance by simulating user interactions from various geographic locations. This approach helps ensure that critical business workflows function as expected, even in the absence of real user traffic.
Synthetic monitoring is supported on Instana SaaS, Standard Edition, and Custom Edition.
With Synthetic monitoring on Instana, you can perform the following tasks:
-
Proactively identify issues: You can immediately get notified when the application or service is not available in a region of the world. After you know your application or service is available, you need to be sure that you are also notified when the the critical business flows are not working as expected from functional and performance perspectives. You can even create a set of tests and notifications to understand how the third party your application or service depends on are behaving. For more information, see
- Third-party dependency monitoring: You can configure synthetic tests and alerting mechanisms to assess the behavior and reliability of third-party services your application depends on.
- Reduced Mean Time to Resolution (MTTR): With Synthetic tests you can identify issues before they affect users. Instana provides contextual data—such as backend requests, logs, network timings, HAR files, and video recordings—to accelerate root cause analysis and resolution.
- Market expansion readiness: When starting in new regions, synthetic tests validate application performance in the absence of user traffic, helping ensure a smooth experience from day one
- Performance goal validation: You can use data from Synthetic test results to define and validate Service Level Objectives (SLOs), helping teams meet performance targets consistently.
- Continuous Integration and Continuous Delivery (CI/CD Integration) for safe deployments: Synthetic tests can be embedded into CI/CD pipelines to validate performance before code reaches production. This reduces the risk of regressions and helps ensure deployment quality.
To access Synthetic monitoring, click Synthetic Monitoring in the navigation menu. You can see a page that lists the Synthetic tests that you created. You can also see the Locations tab. An entry is added in the tab if you deploy your self-hosted PoP.
If you are unable to see Synthetic Monitoring in the navigation menu, see Setting permissions for Synthetic monitoring. For more information on Synthetic monitoring in the Instana UI, see Using the user interface.
You can monitor endpoints by creating and managing Synthetic tests and Smart Alerts for such tests. For more information about monitoring endpoints, see Monitoring endpoints with Synthetic tests.
Synthetic monitoring is integrated with some other capabilities of Instana. For more information, see Instana integration.
Deploying PoP
On Instana SaaS 269 and later, you can run tests by using a self-hosted PoP or an Instana-hosted PoP. You need to choose the type of PoP to run the tests. Additional charges apply for using an Instana-hosted PoP. No additional charges apply for using a PoP that you deploy. Point of Presence (PoP): A PoP is an agent where Synthetic tests are run. When the PoP is deployed, it registers itself with the Instana backend as a location. Deployment implies the PoP and the Synthetic test configuration implies the location configuration.
Datacenter: The representation of geographic regions where Instana-hosted PoPs are supported.
Activation: The activation represents deploying and managing a Synthetic PoP in a selected data center for a tenant unit. You must initiate the activation on the Synthetic Monitoring page on the Instana UI.
Instana 269 and later support two types of PoPs and corresponding locations.
Determine whether you require a self-hosted PoP or an Instana-hosted PoP for Synthetic monitoring.
Deploying a self-hosted PoP
You can deploy a PoP in your establishment; it is known as the self-hosted PoP (or private PoP). On Instana self-hosted, you must use a self-hosted PoP.
A self-hosted PoP is deployed in your private network. You can deploy, maintain, and manage the PoP to run tests. It is included as part of your Instana license. You can use a self-hosted PoP for the following purposes:
- Monitor applications that are not publicly available
- Run the tests from your own specific locations or offices
To use a self-hosted PoP, complete the following steps:
- Prepare the environment to run the PoP.
- Download Helm charts.
- Deploy PoP. Install an Instana agent on the same Kubernetes cluster where you deploy the PoP. For more information, see Deploying a self-hosted PoP.
After the PoP is deployed, it registers with the server as a Private location. If the Private location does not appear or you get an empty response in the OpenAPI, you can check the logs of the PoP controller. For more information, see PoP Deployment troubleshooting. To deploy a self-hosted PoP, see Deploying a Self-hosted PoP.
Deploying an Instana-managed PoP
An Instana-hosted PoP is a managed PoP. On Instana SaaS, you can use a PoP provided by Instana, known as the Instana-hosted PoP. Instana-hosted PoP registers with the server as a Managed location. The Instana-managed PoP is supported only on Instana SaaS.
On Instana SaaS, you can deploy a self-hosted PoP or update your license to gain access to an Instana-hosted PoP.
A Instana deploys, maintains, and manages the PoP to run tests. It is an add-on to your Instana license with additional fees. You can use an Instana-hosted PoP to monitor applications that are publicly available. To use Instana-hosted PoP, see Using an Instana-hosted PoP.
To use an Instana-hosted PoP, complete the following steps:
- Update your license. Contact IBM Sales to update the license.
- After the license is updated, go to Synthetic Monitoring and initiate a request to deploy an Instana-hosted PoP for using with your tenant unit.
- Complete the steps that are covered in Using an Instana-hosted PoP.
After a PoP is deployed either by you or by Instana, you can check the Locations tab in the Instana UI to confirm that the PoP location is successfully registered. You can also use the Open APIs to confirm whether the PoP location is registered.
It might take a few minutes for each queued activation request to process before the managed location appears. If the location does not appear after 10 minutes, contact IBM Support to investigate the status of the deployment.
After the location is registered, you are ready to create Synthetic tests. You can either click Add > Add Synthetic Test in the Instana UI or use the Open APIs to create your Synthetic tests. Creation of the Synthetic test includes specifying how frequently the test will run and the location where it runs.
For more information about how to write scripted API (HTTPScript) tests, see the API Script documentation.
For more information about how to write a scripted browser test, see the Browser Script document.
For more information about the Open APIs for Synthetic monitoring, see the Synthetic Monitoring section of the Open API documentation. All the views that you can see that in the Instana UI can also be retrieved by using the Open APIs.
Synthetic tests
A Synthetic test is code that you write that simulates the way that your end-users use your applications. You can create Synthetic tests to monitor an application.
The Synthetic monitoring test types are covered in the following table:
| Test type | Description |
|---|---|
| API Simple test | A simple test that checks the availability of your website's API endpoints. The test to check a single REST API. An HTTP GET request is sent to a URL to confirm that it is responsive. The test fails if the return code is not in the range of HTTP return codes. |
| API Script test | A scripted test that imitates user interactions with your website's API endpoints. It's a test to check the sequence of multiple REST APIs. Multiple API requests are sent to an application to confirm that the responses are expected. The return codes and the content of the response are evaluated. For guidance about writing an API Script Synthetic test, see the API Script Guide. |
| Browser Simple test | A simple test that check a single webpage for HTTP errors by using a browser. |
| Browser Script test | A scripted test that imitates user interactions with your website to check for HTTP errors by using a browser. It's the test to check web applications. The actions that users take on your web pages are simulated. Browser Script tests include Node.js-based browser scripts or Selenium IDE scripts. |
| SSL Certificate test | A test to check whether the certificate for a web server is approaching expiration. Set the number of days before certification expiration when you want to be notified by a test failure. |
| DNS test | A test that simulates Domain Name System (DNS) queries. When you create a DNS test, you can set up assertions on DNS query time and DNS lookup values of IPv4 address, IPv6 address, CNAME, and NS. The supported DNS queries are A, AAAA, CNAME, NS, ANY, ALL, and All associated with assertions. |
- Instana browser testing is supported for Synthetic PoP Helm chart 1.0.15 or later. A new playback engine is used to run these tests. You must upgrade your Synthetic PoP version to 1.0.15 or later to enable the browser playback engine. Instana browser testing supports Browser Simple test and Browser Script test. For more information, see Browser Script document.
You can configure tests to run on a Point of Presence (PoP) that you deploy or a PoP provided by Instana.
Determine the type of PoP you want to use, create a Synthetic test through the Instana UI or Open APIs, and assign the test to the location that represents the Synthetic PoP.
Synthetic test result data is retained in the Instana backend for 60 days.
To ensure security for your Synthetic tests, see the instructions in Setting permissions for Synthetic monitoring and Securely using Synthetic test scripts.
After the Synthetic test is created and assigned to one or more locations with a specified frequency, the PoP runs the test on the requested schedule. For each run, the PoP sends the results of the test to the Instana backend as a Synthetic test result. Each test result might include some additional details, such as logs or subtransactions. Additional details are not available for every test type. If details are available, the information is sent to the Instana backend separately as Synthetic test result details. In the Summary tab, each Synthetic test has a result for each run, and each test result might contain additional details.
GET, HEAD, OPTIONS, PATCH, POST, PUT, and DELETE. Test creation in the Instana UI supports only the GET method.You can use the synctl CLI commands to manage Synthetic tests, locations, and credentials. For example, you can create a Synthetic test by using a CLI command. For more information, see the Readme file.
When you see that your Synthetic test is running as expected, and Synthetic test results are sent to the Instana backend, you might want to create an alert that indicates whether the test failed. For information and instructions about creating alerts for Synthetic tests, see Smart Alerts for Synthetic monitoring.