What is a Splunk Synthetic Monitoring Private Location?
A Private Location is a software package that enables quick and easy deployment of Splunk Synthetic Monitoring Monitoring and Optimization solutions beyond Splunk Synthetic Monitoring's public network so you can find, fix, and prevent web performance defects on any internal web application, in any environment - whether inside or outside of your firewalls. This lets you test your application earlier in the development cycle and perform tests on internal sites or applications that are not available to the public.
Using the Splunk Synthetic Monitoring web interface, you create new Private Locations and launch the agent to perform any checks that are assigned to these locations.
Note: To set up a Private Location, you must use a Docker container on a dedicated host. Splunk Synthetic Monitoring does not provide support for setting up Private Locations in virtual machines.
Who should use Private Locations?
Customers who need:
- to test private applications that are not exposed to the public
- to test pre-production applications which don't have public staging sites
- a higher level of flexibility when it comes to providing Splunk Synthetic Monitoring access to applications
- to test from locations not currently supported by Splunk Synthetic Monitoring's public locations
Private Locations are currently distributed as Docker Containers and are able to be run in nearly all hardware and OS configurations. Our agent will run in Docker installed on Linux, Windows1, or OSX1 machines.
Since the Splunk Synthetic Monitoring agent is running a web browser there is a high degree of freedom you have when deciding on what kind of hardware to use for the agent. You will find that our agent will run on nearly all hardware:
Recommended for Real Browser checks:
- 2.3 GHz Dual-Core Intel Xeon (or equivalent) processor
- 8 GB RAM
(Note: As a point of reference, we use m4 Large (8 gig RAM, 2 cores) instances in our AWS locations (and similar specs elsewhere); we also have some Private Locations up and running for testing in our local environments. That said, the closer you get to the m4 specs the more consistent the timings will be from across other Splunk Synthetic Monitoring locations. Regardless of that, though, consistent specs (no matter what they are) across all of the private locations is the most important component to ensure consistency in your data.)
Administrators within your Splunk Synthetic Monitoring account can navigate to the Private Location management section of the interface by selecting "Locations" in the sidebar on the left side of the Monitoring interface. Once there, a new Private Location can be created.
When creating a Private Location, you must specify a name and can optionally provide geographic information. The provided name will be displayed to all Splunk Synthetic Monitoring users in your account when selecting locations for new and existing checks. The optional geographic information is used for seamless integration with Splunk Synthetic Monitoring's own locations (e.g. region-based reporting) and is available to checks running in that location as global variables.
Once a Private Location is created, you'll see that we are "Building your Private Location..." While this is happening please navigate to the top right corner and click "Instructions".
You will be directed to a screen with instructions for launching your Private Location. We provide instructions for a few common scenarios: Docker for Linux, Docker Compose, AWS Elastic Container Service (ECS), and Docker for Mac/Windows1.
Each Private Location can have multiple agents running by repeating the setup instructions or scaling up your infrastructure using the same configuration. You are free to scale up each of your Private Locations as you need in order to handle the number of checks that you have configured to use it.
Once your Agent is up and running for a Private Location, the location will appear for all users in your organization in the location selection drop-down when configuring a check. If you have provided geographical information for a location, it will be listed within the World Region (North America, Europe, Asia, etc.) you specified when creating your location. All Private Locations are indicated with a pin icon in the locations drop-down. In this way they are distinguished from Splunk Synthetic Monitoring's public global locations.
You can select a combination of public and Private Locations and Splunk Synthetic Monitoring will schedule work across them following the same behavior as you expect using Splunk Synthetic Monitoring's public locations.
Checking the health of your Private Location
With the Private Location, your organization is responsible for the health and stability of the location. Visiting the Private Locations page, administrators will find an overview of all of the Private Locations for your organization which will indicate the health of each Private Location. Clicking on a Private Location will show you additional information about that particular location as well as a list of checks that are currently configured to run from that Location.
Managers will be able to see the health of Private Locations; however, administrators are the only ones that will be able to create and view granular details on these locations.
Engineering Note: Due to technical limitations of network shaping -- and to minimize noisy-neighbor issues -- each agent processes a single check at a time.
Disabling Network Shaping
Disabling network shaping will instruct the Splunk Synthetic Monitoring agent to not perform throttling of the network connection, which is used to emulate different types of mobile and desktop connections.
You may need to disable network shaping if you:
- are hosting Docker on Windows or OSX
- are uncomfortable with the security implications of Docker's NET_ADMIN capability
In order to disable network shaping, you will need to provide an additional environment variable to the Docker container. Provide the "DISABLE_NETWORK_SHAPING" variable with a value of "true". With network shaping disabled, you may remove the NET_ADMIN capability from your launch commands, as it is no longer required.
For the Docker CLI, insert the following into the run command provided in the location setup instructions immediately following the "run" keyword.
Here is some additional documentation about our Private Location feature and agent: