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 Splunk 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 Splunk AppDynamics On-Premises 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 |
| HTTP(S) |
|
![]() | The ![]() |
| HTTP(S) | 10101/10102 |
![]() | The |
| HTTP(S) | 10101/10102 |
![]() | The |
| HTTP(S) | 7001/7002 |
JDBC | 3388 | |||
![]() | The ![]() ![]() |
| 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 |
| HTTP(S) | 12101/12102 |
![]() | The | ![]() | HTTP(S) | 7001/7002 |
![]() | The | ![]() | HTTP(S) | 10001/10002 |
![]() | The | ![]() | WebSocket (encrypted) | 16001 |
![]() | The | ![]() | HTTP(S) | 10001/10002 |
![]() | The | ![]() | WebSocket (encrypted) | 16101 |
![]() | The |
| HTTP(S) | 7001/7002 |
JDBC | 3388 | |||
![]() | The Controller polls the |
| HTTP(S) | 7001/7002 |