Skip to main content
Splunk Lantern

Monitoring availability and performance in non-public applications


As the Site Reliability Engineer (SRE) for your company you are responsible for the availability of business critical applications. Your company is in the testing stage to release a new application and you want to create and run an Uptime Check and Real Browser Check in Splunk Synthetic Monitoring to monitor the application’s availability and performance. Currently the application is not accessible to the public. You need a way to test the application without exposing it to the public. 

How to use Splunk software for this use case

You can set a Private Location in Splunk Synthetic Monitoring to allow for quick and easy deployment beyond the Splunk Synthetic Monitoring public network so you can find, fix, and prevent web performance defects on any internal web application, in any environment, 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.

  1. In Splunk Observability Cloud > Synthetics, click the Settings gear icon next to the Add new test button and click Private Locations.

    unnamed (73).png

  2. Click +Add and enter a display name in the open dialog box. This is commonly the location of where the checks will be performed. clipboard_e9e9303b503869a39d173a83f27eb404c.png

  3. Next, set up runners by following the steps on the Set up runners tab.

unnamed (74).png


Start your container using the Docker run command and the following flags:

docker run --cap-add NET_ADMIN -e "RUNNER_TOKEN=*************cDGt_JTA"

Docker Compose

  1. Create a docker-compose.yml file with the following definition:

    Version: '3'
             RUNNER_TOKEN: ************cDGt_JTA
             - NET_ADMIN
           restart: always
  2. Run the following command to start the container:

    docker-compose up


  1. In your AWS ECS console, create a new task definition. For detailed steps, see the AWS documentation.
  2. Select EC2 or Fargate.
  3. Click the Configure via JSON button at the bottom of the page.
  4. Copy the following JSON and paste it into the console.
        "requiresCompatibilities": [
      "containerDefinitions": [
            "name": "runner",
            "memory": "7680",
            "essential": true,
            "environment": [
                    "name": "RUNNER_TOKEN",
                    "value": "*************cDGt_JTA"
                  "LinuxParameters": {
                      "capabilities": {
            "cpu": "2048"
      "volumes": [],
      "networkMode": null,
      "memory": "7680",
      "cpu": "2048",
      "placementConstraints": [],
      "family": "runner"
  5. Click Save to close the JSON input panel.
  6. Click Create to create the task.
  7. Create a service in your cluster using the splunk-synthetics-runner. For detailed steps, see the AWS documentation.

Docker for Mac or Windows

  1. Install Docker. For steps, see the docs to install Docker Community Edition for Mac or for Windows.
  2. Start your docker container with the following flags:
    docker run -e "DISABLE_NETWORK_SHAPING=true" -e "RUNNER_TOKEN="*cDGt_JTA"

After you have runners set up, you can begin running synthetic checks from the new private location. 

unnamed (78).png

Next steps

These resources might help you understand and implement this guidance:

Still having trouble? Splunk has many resources available to help get you back on track.