Skip to content

Getting Started - Agent Setup

EndPoint Monitor agents allow you to distribute your checks across multiple hosts and also run checks on private or segregated networks, with only HTTPS access needed to your controller to function.

The agents can either be run using our managed Docker image or directly on a Linux host. This page will provide instructions for setting up both.

Requirements

Compute Requirements

CPU >= 1 core
Memory >= 0.5GB memory
Disk >= 5GB*

* If using Web Journey checks you may want to provision more like 20GB of disk space, used for storing screenshots and saved DOMs until they get published back to the controller.

Software Requirements

If running directly on a virtual or physical host, you will need at least the following: - Java 11 JRE - Google Chrome or Chromium (if running Web Journey checks) - Appropriate ChromeDriver for the version of Chrome or Chromium installed (if running Web Journey checks)

Alternatively you can just run our managed Docker image which will only require you to then have a MySQL database available for the controller to use.

Docker

Officially managed docker images of EndPoint Monitor agents are available in Docker Hub under smntuk/endpointmonitor. The latest agent image will have the tag agent, and specific versions will be prefixed with agent- followed by the version number, for example smntuk/endpointmonitor:agent-0.4.2.0.

Configuration for running the managed Docker image should be passed in through environment variables. Configuration options for the agent can be found in the Configuration section. Docker secrets can be also be used, and will be automatically picked up in the same way as environment variables providing the secret name matches the name of the environment variable name.

It is recommended to use auto-registration where possible when using the managed Docker image to run your agent for simplicity of setup.

To manually run, you can use the following command, substituting out for your own controller url, global encryption key and auto-register key.

docker run -e AUTO_REGISTRATION=true -e \
CONTROLLER_URL=https://my.controller.url/ \
-e AUTO_REGISTRATION_KEY=YOUR-API-KEY \
-e GLOBAL_ENCRYPTION_KEY=YOUR-GLOBAL-ENCRYPTION-KEY \
-e CONTROLLER_PUBLIC_KEY=YOUR-CONTROLLER-PUBLIC-KEY \
smntuk/endpointmonitor:agent

Linux

The instructions below provide the recommended method for installing the EndPoint Monitor agent directly on a Linux host.

  • If you plan on using Web Journey (browser) checks, install Chrome or Chromium first.

  • Download and run the setup script from https://download.smnt.co.uk/endPointMonitor/setup.sh

    wget https://download.smnt.co.uk/endPointMonitorAgent/setup.sh && sudo sh setup.sh
    


  • The script will prompt for some required information before it can start the installation. Required information that will need to be provided includes:
  • The URL of the EndPoint Monitor controller being used.
  • The public key of the EndPoint controller being used. This can be found in the Configuration section of the EndPoint Monitor web console.
  • The private key generated when adding the agent in the EndPoint Monitor web console.
  • The globalConfigKey encryption key, found in the endPointMonitor.keys configuration file on your controller installation.

  • The setup script will now download and install the agent for you, and setup the initial configuration to allow it to start. You can use ctrl + c to cancel the script at any point, and it can be re-run as many times as needed. It will need to be run as the root user as it will be setting up the required users and groups.

  • Start the EndPoint Monitor controller using the generated init.sh script, located in the directory you selected for installation (/opt/smnt/endPointMonitor/ if using the default option).

    sudo /opt/smnt/endPointMonitor/init.sh start

  • The agent should now be running and reporting into your given EndPoint Monitor controller, running any checks that are assigned to it. The Last Check In should also have updated in the web console in Check Hosts screen.

    Should for any reason the agent have failed to start, the reason for this should be logged in the logs directory you selected in the installation script, which by default is /var/log/endPointMonitorAgent/.