Synthetic monitoring

Synthetic monitoring, also known as proactive monitoring, can simulate actions that an end-user takes on an application from different locations and continuously monitor at a specific interval for performance characteristics like availability and response time.

Instana Synthetic monitoring, which is built on the product Instana, provides a fully integrated solution with other Instana capabilities. By using Instana Synthetic monitoring, you can create Synthetic tests to monitor an application.

  • Do you want to monitor the availability of your websites? Write an API Simple test.

  • Do you want to monitor the APIs of your application? Write an API Script test.

  • Do you want to check your webpage for HTTP errors? Write a Browser Simple (Beta) test.

  • Do you want to imitate user interactions with your web pages? Write a Browser Script (Beta) test.

These Synthetic tests can be configured to run at specific continuous intervals. You can also create a Smart Alert to inform you if the Synthetic tests fail.

To get started, deploy a Point of Presence (PoP), and use the Instana UI or the Open APIs to create a Synthetic test, and assign it to the location that represents the Synthetic PoP. For more information, see the Getting started section.

General information

The Synthetic monitoring is supported in Instana SaaS from release 242. For self-hosted (on-premises) Instana, the Synthetic monitoring is supported only if your Instana backend is installed on a Kubernetes or OpenShift environment from release 241.

Notes:

  • You need to deploy a self-hosted Point of Presence for testing.
  • Synthetic test result data will be retained in the Instana backend for 60 days.

Terminology

Point of Presence (PoP): A PoP is an agent where Synthetic tests are executed. When the PoP is deployed, it register itself with the Instana backend as a 'location'. When deployment is discussed, it means the PoP. When the Synthetic test configuration is discussed, it means the 'location' configuration.

Synthetic tests: A Synthetic test is code that you write that simulates the way your end-users use your applications. Multiple types of Synthetic tests are supported:

  • API Simple test: 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 successful HTTP return codes.
  • API Script test: The 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.
  • Browser Simple (Beta) test: The test to check a single web page for HTTP errors.
  • Browser Script (Beta) test: The test to check web applications. The actions that users take on your web pages are simulated. Browser Script (Beta) tests include Node.js based browser scripts or Selenium IDE scripts.

Note: Beginning from Instana 251, API Simple is used in the Instana UI to refer to an HTTP Action test, and API Script is used in the Instana UI to refer to an HTTP Script test.

After the Synthetic test is created, and assigned to one or more 'locations' with a specified frequency, the PoP will begin to run the test on the requested schedule. For each run, the PoP will send the results of the test to the Instana backend as a Synthetic test result. Each test result might have some additional details, such as logs or subtransactions. The information is sent to the Instana backend separately as Synthetic test result details. In summary, each Synthetic test has a result for each run, and each test result has details.

Note: By using the Open API, you can create API Simple tests that use additional HTTP methods including GET, HEAD, OPTIONS, PATCH, POST, PUT, and DELETE. Test creation in the Instana UI supports only the GET method.

Getting started

In the Instana UI, you can see a beaker icon in the main navigation. If you select this icon, you can see a page that lists your Synthetic tests if you have created them. You can also see a Locations tab, which has an entry if you deploy your self-hosted PoP. If you do not see this icon, please refer to Permissions.

To get started with Synthetic monitoring, first you need to work with the Synthetic PoP. You need to prepare the environment where you will run your self-hosted PoP, download the helm charts, and deploy the PoP. You are recommended to install an Instana agent on the same kubernetes cluster where you deploy the PoP. For more information, see PoP deployment.

After the PoP is deployed, 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. If the location does not appear or you get an empty response in the Open API, you can check the logs of the PoP controller. For more information, see PoP Deployment Troubleshooting.

After the location is registered, you are ready to create Synthetic tests. You can either use the Add > Add Synthetic Test buttons 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 will run.

For more information about how to write scripted API (HTTPScript) tests, see the API Script documentation.

For more information about how to write 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 in the Instana UI can also be retrieved by using the Open APIs.

When you see that your Synthetic test is running as expected, and Synthetic test results are being sent to the Instana backend, you might wish to create an alert that indicates whether the test has failed. For information and instructions about creating alerts for Synthetic tests, see Smart Alerts for Synthetic monitoring.

The Synthetic monitoring user interface

For a detailed explanation of the pages for Synthetic monitoring in the Instana UI, see Using the user interface.

Setting permissions for Synthetic monitoring

Before you set the permissions for Synthetic monitoring, you need to log in Instana UI with a user ID that has the Owner level permissions so that you can set the permissions for yourself or others. Alternately, you can ask another user with Owner permissions to give you the permissions for Synthetic monitoring. For more information about setting permissions to use Synthetic monitoring, see Permissions for Synthetic monitoring.

Monitoring endpoints with Synthetic tests

You can monitor endpoints by creating and managing Synthetic tests and Smart Alerts for such tests.

For more information about monitoring endpoints, see the Monitoring endpoints with Synthetic tests section.

Using API scripts

For guidance about writing an API Script Synthetic test, see the API Script Guide.

Using browser scripts (Beta)

Instana browser testing (Beta) 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.

Instana integration

Synthetic monitoring is integrated with some other capabilities of the Instana product including Applications, Events and Kubernetes monitoring. For more information, see the Instana integration section of Monitoring endpoints with Synthetic tests.

Synthetic CLI command

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.