Skip to content

Getting Started - Controller Setup

The EndPoint Monitor controller helps schedule and co-ordinate checks, provides the web interface and REST API interface to help you to manage everything. Controllers can also be used to run checks from too. Agents can only run checks but only require access to the controller(s) meaning they can be more flexibly deployed.

For a bare minimum setup you only need to set up a Controller, but for larger installations it is recommended to only run checks on agents, especially if using Web Journey (browser) checks.

The controller can be run either as a docker container using our managed image, or directly on a Linux machine of your choosing. This page will cover setting up both.

Requirements

Compute Requirements

CPU >= 2 cores
Memory >= 2GB memory
Disk >= 20GB*

* If using Web Journey checks, you may want to provision a shared disk with more space to store captured screenshots and DOM files on.

Software Requirements

If running directly on a virtual or physical host, you will need at least the following: - Java 17 JRE - MySQL database (either local or remote) - 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.

Configuration

Configuration can be set through one of two ways, through the endPointMonitor.properties file generated after finishing the configuration in Setup Mode, or through using environment variables.

A full definition of what configuration options are available can be found in the Configuration section.

Docker

A managed official container images for EndPoint Monitor controllers are available in Docker Hub under smntuk/endpointmonitor.

To launch an initial container and get run the initial configuration, the SETUP_ENABLED environment variable can be set with a value of true, and this will allow the Controller to launch without any additional configuration.

To try locally, you can start is like below:

docker run -e SETUP_ENABLED=true -p 8080:8080 smntuk/endpointmonitor:controller

Once started, this should allow the web console to start, which then can be accessed at http://localhost:8080.

The default port for the web console is 8080, this can be changed if needed by setting the CONTROLLER_PORT environment variable to a desired port number above 1024. Don't forget to change the port number in your docker command too!

From here, you can then continue the setup process.

Initial Web Console Launch Screen

Linux

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

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

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


  • Follow the prompts to chose where to install the application, where to store logs, what user to run the application as and what port the web console should listen on. It's recommended to use the default options given if you can.

  • The setup script will now download and install the application for you, setup the application user if it doesn't already exist, and generate the required encryption keys for you.

  • 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 EndPoint Monitor web console should now be available to access on the port selected (default of 8080).

Initial Web Console Launch Screen

From here, you can then continue the setup process.

Setup Screen

Once you have successfully started the EndPoint Monitor controller running either directly on a Linux machine or using the managed Docker image, you should now be able to see the Login Page with a setup option.

- Click the Setup button to continue to setting up the database and other configuration.

Databsae Setup Screen

Enter your database configuration as prompted. The 'admin' user requested should be a privileged user and will be used to initialise the database and well as run any changes required on upgrades. The 'normal' user should only have normal CRUD permissions. See the Database Setup for more information.

Click Save once you have input your database information.

- If Database Upgrades were enabled as part of your database configuration above, then the EndPoint Monitor controller will now be attempting to set up your database using the database 'admin' user provided.

- The Global Configuration should now be shown, allowing you to set up the high level configuration needed to run the EndPoint Monitor controller. The configuration contains information on each of the configuration options.

Double check that the Allowed URL's value contains the URL's you will be continuing to access the EndPoint Monitor controller on. This can be modified later too, but can cause access issues after setup if this doesn't contain the URL you can are currently accessing the controller on.

All Global Configuration can be changed at any time after setup.

Click Save once you have set up your initial configuration.

- After saving the Global Configuration, a new controller public key will be generated. It may be useful to store this somewhere readily accessible if also setting up agents, it can always be accessed through the Configuration menu option after installation too.

Controller Public Key Confirmation

Click Close.

- The Runtime Configuration should now be shown. If using environment variables to manage your configuration, they can be copied from here. If using the endPointMonitor.properties file to persist your configuration then this has automatically been updated and saved on your host.

Runtime Configuration Confirmation

IMPORTANT: If using environment variables to manage configuration, make sure that the SETUP_ENABLED environment variable is removed from now on, or next time your container is launched then it will launch back into this setup mode, enabling anyone to change your configuration.

Click Close to continue.

- Initial setup should now be complete. You should see confirmation of this as shown below, and the EndPoint Monitor controller will no longer be in 'setup mode', meaning you can now login and start building your checks.

Configuration Complete Confirmation

Click Continue to continue to the login page.

- The default login credentials are:

User: setup  
Password: password
You will be prompted to change this on first login.

You can now set up your Authentication Services, Users and start building Checks.