Download PDF
Download page Synthetic Server Deployment.
Synthetic Server Deployment
The Synthetic Server dispatches and processes requests and depends on Synthetic Agents for executing and reporting measurements.
The Synthetic Server receives synthetic job requests from the Controller and then the jobs are fetched from the Synthetic Services by the Synthetic Agents. Once the measurement results are received from the Synthetic Agents, the Synthetic Server stores, processes, and transmits the results to the EUM Server.
Installation Overview
To set up a complete on-premises Synthetic Server deployment, therefore, you need to:
- Install the Controller or prepare an in-service Controller to work with the EUM Server.
- Install the Events Service and configure it to work with your on-premises Controller.
- Install the EUM Server and configure it to work with your Events Service and Controller.
- Install the Synthetic Server and configure it to work with the EUM Server and the Controller.
Install and configure one or both types of Synthetic Agents.
Secure the Synthetic Server (recommended).
Monitor the Synthetic Server (recommended).
Synthetic Server Components
The on-premises Synthetic Server consists of the following three services:
This document also discusses the Synthetic Server Feeder, which communicates with the Synthetic Client Feeder, but is only a service of the SaaS Synthetic Server.
Synthetic Scheduler
The first service is the Synthetic Scheduler, which is a cron-like service that sends job requests at configured intervals. The Synthetic Scheduler handles the CRUD operations for jobs and manages the events generated for synthetic warnings and errors that occur in the measurement results. The Synthetic Scheduler also validates the beacons, triggers warning and error events if needed, and forwards the beacons to the EUM Server.
Synthetic Shepherd
The second service is Synthetic Shepherd. This service manages and dispatches jobs to the Synthetic Agents. In addition, the Synthetic Shepherd saves the measurement results to the filesystem and sends beacons containing the data to the Synthetic Scheduler.
Synthetic Feeder Client
The third service is the Synthetic Feeder Client that communicates with the SaaS Synthetic Feeder Server to access the Synthetic Hosted Agents. (If you are only deploying Synthetic Private Agents, you do not need to use the Synthetic Feeder Client.) These services use the WebSocket protocol to coordinate data transfer to your system without having to open any ports in the firewall.
Synthetic Agents
When deploying the on-premises Synthetic Server, you can deploy one or both Synthetic Agent types:
- Synthetic Hosted Agents - Synthetic Agents that are hosted and maintained by AppDynamics
- Synthetic Private Agents - Synthetic Agents that you install, configure, run, and maintain in your infrastructure
Comparison of the Synthetic Agent Types
The following table compares the two types of agents and provides the benefits and main use cases for both.
Synthetic Agent Type | Key Benefits / Use Cases |
---|---|
Synthetic Hosted Agent |
|
Synthetic Private Agent |
|
Overview of Installation and Configuration Steps
The following table provides an overview of the installation and configuration steps for each type of Synthetic Agent.
Synthetic Agent Type | Required Steps |
---|---|
Synthetic Hosted Agent |
|
Synthetic Private Agent |
|
Summary of Synthetic Server and Agents
The table below summarizes the function and ports used by each service and the Synthetic Agents:
Service/Agent | Functions | Protocol | Default Ports |
---|---|---|---|
Synthetic Scheduler |
| HTTP | 12101 |
HTTPS | 12102 | ||
Synthetic Shepherd |
| HTTP | 10101 |
HTTPS | 10102 | ||
Synthetic Feeder Server (Synthetic Hosted Agents) |
| WebSocket (encrypted) | 16001 |
Synthetic Feeder Client (Synthetic Hosted Agents) |
| WebSocket (encrypted) | 16101
|
Synthetic Agents |
| N/A | The Synthetic Agents do not listen on any port. They only temporarily open internal random ports to fetch job requests from the Synthetic Shepherd and to send the measurement results of executed jobs to the Synthetic Shepherd. |
Synthetic Service Data
The Synthetic Server stores data on the filesystem of the host machine and data in the EUM Server's MySQL database. The table below lists the types of data and the storage location.
Data Storage Format | Data | Location of Data Storage |
---|---|---|
MySQL |
| EUM Server's MySQL database |
File System |
| Host machine of the Synthetic Server |
Synthetic Server Deployment Architecture
The following sections describe and provide diagrams of the different on-premises Synthetic Server deployments. The diagrams show the connections and data flow between the components of the deployments. For information about the other AppDynamics platform components, see Platform Components and Platform Connections.
Synthetic Private Agents Deployment
The following diagram shows the connections and data flow between the on-premises Synthetic Server and the EUM Server and Synthetic Private Agents.
Synthetic Server Connections
The following table lists and describes the traffic flow between the Synthetic Server and the other components.
Connection | Source | Destination | Protocol | Default Port(s) |
---|---|---|---|---|
When a user creates a synthetic job, the Controller sends a request for the job with its configured frequency to the on-premises Synthetic Server. The synthetic jobs are then placed in a queue. | on-premises Synthetic Server | HTTP(S) |
| |
The Synthetic Private Agent fetches the job requests from the Synthetic Server and then executes them on a browser using Selenium. | on-premises Synthetic Server | HTTP(S) | 10101/10102 | |
The Synthetic Private Agent then sends the measurement results to the Synthetic Server. | on-premises Synthetic Server | HTTP(S) | 10101/10102 | |
The on-premises Synthetic Server stores some data on file, and then processes and converts the data into a beacon, which is then transmitted to the EUM Server through the EUM API. The Synthetic Server also writes data to the EUM Server's MySQL database. | on-premises EUM Server | HTTP(S) | 7001/7002 | |
JDBC | 3388 | |||
The Controller polls the EUM Server for the measurement results and displays them in the Synthetic Sessions. | on-premises EUM Server | HTTP(S) | 7001/7002 |
Synthetic Hosted Agents Deployment
The following diagram shows the connections and data flow between the on-premises Synthetic Server, the SaaS EUM Server, the SaaS Synthetic Server, the Synthetic Hosted Agents, and the on-premises EUM Server.
Synthetic Server Connections
The following table lists and describes the traffic flow between the Synthetic Server and the other components.
Connection | Source | Destination | Protocol | Default Port(s) |
---|---|---|---|---|
When a user creates a synthetic job, the Controller sends a request for the job with its configured frequency to the on-premises Synthetic Server. The job requests are then placed in a queue. | on-premises Synthetic Server | HTTP(S) | 12101/12102 | |
The on-premises Synthetic Server sends the job requests to the SaaS EUM Server. | SaaS EUM Server | HTTP(S) | 7001/7002 | |
The SaaS EUM Server forwards the requests to the SaaS Synthetic Server. | SaaS Synthetic Server | HTTP(S) | 10001/10002 | |
The Synthetic Hosted Agents fetch the job requests from the SaaS Synthetic Server and then executes them on a browser using Selenium. | SaaS Synthetic Server | WebSocket (encrypted) | 16001 | |
The Synthetic Hosted Agents send the measurement results to the SaaS Synthetic Server. | SaaS Synthetic Server | HTTP(S) | 10001/10002 | |
The SaaS Synthetic Server Feeder sends the measurement results to the on-premises Synthetic Client Feeder. | on-prem Synthetic Server | WebSocket (encrypted) | 16101 | |
The on-premises Synthetic Server stores some data on file, and then processes and converts the data into a beacon, which is then transmitted to the on-premises EUM Server through the EUM API. The on-prem Synthetic Server also writes data to the EUM Server's MySQL database. | on-premises EUM Server | HTTP(S) | 7001/7002 | |
JDBC | 3388 | |||
The Controller polls the on-premises EUM Server for the measurement results and displays them in the Synthetic Sessions. | on-premises EUM Server | HTTP(S) | 7001/7002 |