On this page:

Search the On-Premises Synthetic Server topics:

Your Rating:
Results:
PatheticBadOKGoodOutstanding!
2 rates

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:

  1. Install the on-premises Controller or prepare an in-service Controller to work with the EUM Server.
  2. Install the on-premises Events Service and configure it to work with your on-premises Controller.
  3. Install the on-premises EUM Server and configure it to work with your Events Service and Controller.
  4. Install the on-premises Synthetic Server and configure it to work with the EUM Server and the Controller.
  5. Install Synthetic Private Agents.
  6. Connect the Synthetic Private Agents to the on-premises Synthetic Server.
  7. Monitor the Synthetic Server (Recommended)

Synthetic Server Components

The Synthetic Server consist of two services. The first service is the Synthetic Scheduler, which is cron-like service that sends job requests at configured intervals. The Synthetic Scheduler also handles the CRUD operations for jobs as well as managing the events generated for synthetic warnings and errors that occur in the measurement results.

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 a beacon containing the data to the Synthetic Scheduler.

After receiving the beacon from Synthetic Shepherd, the Synthetic Scheduler validates the beacons, triggers warning and error events if needed, and forwards the beacon to the EUM Server.

Summary of Synthetic Server and Agents

The table below summarizes the function and ports used by each service and the Synthetic Agent:

Service/Agent
Functions
Default Ports (HTTP/HTTPS)
Synthetic Scheduler
  • Sends requests to execute jobs based on a configured frequency.
  • Validates the beacons containing the measurement results.
  • Handles the CRUD operations for jobs.
12101/12102
Synthetic Shepherd
  • Registers the Synthetic Agents.
  • Creates and maintains the queue of all measurement requests.
  • Manages how the results arriving from the agents are processed, stored and forwarded if necessary.
  • Posts accompanying screenshots and generates thumbnails for each screenshot that go with the measurement.
10101/10102
Synthetic Agents
  • Fetches jobs from the Synthetic Shepherd.
  • Uses WebDriver and Selenium to execute these jobs on browsers.
  • Registers the agent with Synthetic Shepherd.
  • Uploads screenshots to Synthetic Shepherd.
  • Handles communication with Synthetic Shepherd.
The Synthetic Agents do not listen to any ports. 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 FormatDataLocation of Data Storage
MySQL
  • Agent ID
  • Agent location
  • Supported browsers
  • Archived/active measurement metadata
  • Active measurements
  • Agent group
  • Job queue (position in the queue)
  • Schedule: schedule is a class, and a job is an instance of this class
EUM Server's MySQL database
File System
  • Resource snapshots
  • Script output
  • Measurement results
  • Screenshots
  • Errors
  • Logs
Host machine of Synthetic Server


Synthetic Server Deployment Architecture

The following diagram shows the connections and data flow between the on-premises Synthetic Server and the EUM Server and Synthetic Agents. For information about the other AppDynamics platform components, see Platform Components and Platform Connections.

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)
A

1The Controller sends a request to start a synthetic job to the2Synthetic Server. The synthetic jobs are then placed in a queue.

2Synthetic ServerHTTP(S)12101/12102
B3The Synthetic Agent fetches the job requests from the Synthetic Server and then executes them on a browser using Selenium.2Synthetic ServerHTTP(S)10101/10102
C

3The Synthetic Agent then sends the measurement results to the Synthetic Server.

2Synthetic ServerHTTP(S)10101/10102
D2The Synthetic Server stores some data on file and processes/converts the data into a beacon, which is then transmitted to the4EUM Server through the EUM API.4EUM ServerHTTP(S)

7001/7002

E1The Controller polls the4EUM Server for the measurement results and displays them in the Synthetic Sessions.4EUM ServerHTTP(S)7001/7002