• EnglishEspañol日本語한국어Português
  • Log inStart now

Install synthetics job manager

Our synthetic monitoring job managers are Docker container-based resources that accept and execute synthetic monitors assigned to private locations.

The job manager can operate in a Docker container system environment or a Kubernetes container orchestration system environment. The job manager will auto-detect its environment to select the appropriate operating mode.

Synthetics job manager features

Because the synthetics job manager operates as a container instead of a virtual machine, we've simplified installation, getting started , and updating your job management and orchestration. It also comes with some additional functionality:

Kubernetes-specific features

The job manager introduces some additional Kubernetes-specific functionality:

  • Uses Kubernetes CronJob resources to run non-ping monitors
  • Doesn't require privileged access to the Docker socket
  • Supports hosted and on-premise Kubernetes clusters
  • Supports various container engines such as Docker and Containerd
  • Deployable via Helm charts as well as configuration YAMLs
  • Allows configurable job runtime (ping, API, and browser) based resource allocation for optimum resource management
  • Observability offered via the New Relic Kubernetes cluster explorer

System requirements and compatibility

To host synthetics job managers, your system must meet the minimum requirements for the chosen system environment.

Caution

Do not modify any synthetics job manager files. New Relic is not liable for any modifications you make. For more information, contact your account representative or a New Relic technical sales rep.

Private location key

Before launching synthetics job managers, you must have a private location key. Your synthetics job manager uses the key to authenticate against New Relic and run monitors associated with that private location.

To find the key for existing private location:

  1. Go to one.newrelic.com > Synthetic monitoring > Private locations.
  2. In the Private locations index, locate the private location you want your synthetics job manager to be assigned to.
  3. Note the key associated with the private location with the key icon.

Install, update, and configure synthetics job manager

If you're running more than one Docker private location container in the same host, you'll have port conflicts. To avoid this port contention, make sure you do the following when you start setting up job managers:

  • Run job managers and CPMs on different hosts.
  • Run each job manager on a separate host.
  • Run each CPM on a different host.

Synthetics job manager images are hosted on Docker Hub. Go to hub.docker.com/r/newrelic/synthetics-job-manager/tags for a list of all the releases.

Unless hosting the images in a local image repository, you need to allow connections to docker.io through your firewall so Docker can pull the synthetics job manager and synthetics runtime images. When the synthetics job manager starts up, the runtime images are pulled automatically. See Docker environment configuration and Kubernetes environment configuration for details on how to set a local repository and the runner registry endpoint.

For more details on advanced configuration settings, see synthetics job manager configuration.

Start synthetics job manager

Below are the applicable Docker or Kubernetes instructions to start the job manager.

Stop or delete the synthetics job manager

On a Docker container system environment, use the Docker stop procedure to stop the synthetics job manager from running. On a Kubernetes container orchestration system environment, use the Kubernetes delete procedure to stop the synthetics job manager from running.

Sandboxing and Docker dependencies

Sandboxing and Docker dependencies are applicable to the synthetics job manager in a Docker container system environment.

Security, sandboxing, and running as non-root

By default, the software running inside a synthetics job manager is executed with root user privileges. This is suitable for most scenarios, as the execution is sandboxed.

To run the synthetics job manager as a non-root user, additional steps are required:

Understand your Docker or Kubernetes environments

Below is additional information about maintaining and understanding the job manager's container environment. View license information, understand the job manager's network settings, and check out the Docker image repo.

Additional considerations for synthetics job manager connection

Connection

Description

Synthetics job managers without Internet access

A synthetics job manager can operate without access to the internet, but with some exceptions. The synthetics job manager needs to be able to contact the "synthetics-horde.nr-data.net" domain. This is necessary for it to report data to New Relic and to receive monitors to execute. Ask your network administration if this is a problem and how to set up exceptions.

Communicate with synthetics via a proxy

To set up communication with New Relic by proxy, use the environment variables named HORDE_API_PROXY*.

Arguments passed at launch

This applies to a Docker container environment only. Arguments passed to the synthetics job manager container at launch do not get passed on to the runtime containers spawned by the synthetics job manager. Docker has no concept of "inheritance" or a "hierarchy" of containers, and we don't copy the configuration that is passed from synthetics job manager to the runtime containers. The only shared configuration between them is the one set at the Docker daemon level.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.