Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
on
05-11-2022
03:43 PM
- edited on
07-06-2023
05:57 PM
by
Claudia.Landiva
Synthetic monitoring APIs introduced in v22.5, their prerequisites, and use cases to make the most of them
As of May 2022, AppDynamics Synthetic monitoring features can now be accessed using REST APIs. This article lists these new APIs, as well as a selection of use cases.
WEB MONITORING |
|
API MONITORING |
|
Using these REST APIs, customers can implement new use cases and scenarios that are not otherwise supported within the AppDynamics Controller UI.
Following are a few of the new use cases that can be implemented using the Synthetic monitoring APIs
Apart from these use cases, Synthetic monitoring APIs can be used to implement these features:
Let's explore in detail how these new use cases can be implemented.
Synthetic web monitoring scripts are created using any 3rd-party script recorder, or by writing Python-based selenium scripts. After creating the scripts, they are stored in code repositories. From there, the scripts are copied and pasted into AppDynamics job editor for creating Synthetic monitoring jobs.
When these synthetic web monitoring scripts need updating, modification, or debugging, they are copied from AppDynamics jobs editor and pasted into a Python IDE for updating or debugging scripts. It is hard to maintain the same code base in both the code repository and the AppDynamics jobs editor because of this repeated copy/pasting.
With Synthetic monitoring APIs, the scripts in the code repositories can be integrated with the Synthetic monitoring jobs in AppDynamics, thereby avoiding multiple copies and versions of each script. Any changes required in a script can be updated in the code repository, and then updated in the AppDynamics jobs using the Synthetic monitoring APIs.
A Synthetic monitoring application can have multiple jobs. Job configurations (such as browsers, locations, execution schedule, execution frequency, etc.) are configured for each job during job creation.
Making configuration changes to these job configurations across all the jobs in an application is not possible from the AppDynamics Controller. There, since the configurations can only be changed for a single job at time, it is difficult to manage the (jobs) configuration when the application has several jobs.
Instead of managing job configurations at the job level in AppDynamics Controller UI, the configuration can be stored and managed centrally from a code repository using Synthetic monitoring APIs.
Let's explore in detail how these scenarios can be implemented:
Prerequisites, Create a job
This job must be triggered whenever there is a commit in the code repository where the jobs scripts and jobs configurations are stored.
NOTE | All jobs created in AppDynamics will have a job ID
Whenever a new code is deployed in the production, DevOps Engineers want to ensure that the application is available and performant. If the newly deployed code has any availability or performance issues, DevOps might want to roll back or pause the deployment.
Using Synthetic monitoring APIs, DevOps Engineers can monitor the availability and performance of the application or microservices as part of the deployment pipeline. Based on the Synthetic monitoring availability and performance data gathered as part of the deployment pipeline, a DevOps Engineer can automate deployment decisions such as continuing, pausing, or rolling back the deployment, etc.
Let's explore how this use case can be implemented.
The job must be triggered after the successful deployment of the application or microservice.
Availability issue and job status |
Deployment actions |
Availability issue |
|
Availability issue |
|
Application available |
|
In the Documentation Portal
In the Knowledge Base
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form