Skip to content

πŸ‘‚ Install LoadUP

πŸ“ Overview

Info

LoadUp cannot function without the Component DNS HealthChecker

LoadUP uptime Monitoring server consist of two distinct installtion as below:

  • loadup-cp/deploy/install.sh installs LoadUP-CP and API-Server into one a VPS
  • loadup-worker/deploy/install.sh installs LoadUP-Worker into one a VPS

Note

you are advised to install LadUP components into standalone VPS server.

  • DO NOT install LoadUP-CP into present EdgeHit Controller or Load Proxy nodes as it will cause conflict on network ports

  • You can install LoadUP-Worker into Load Proxy Nodes But it is advised not to do so

You will need to install a single LoadUP-CP instance and AT LEAST ONE LoadUP-Worker instance. LoadUP worker are designed to be deployed in different geographical regions to ensure monitored taget node reachability from different region.



πŸͺ§ Install LoadUP-CP

  1. Set Environment Variables & Secrets

    • Make sure these variables are set correctly in your environment before proceeding with the installation. You can refer to the command below:
    export REGISTRY_PASSWORD='<SECRET>'
    export LOADUP_SERVER_DOMAIN='<domain name of target installation server>'
    export LOADUP_HTTP_AUTH_PASS='<http_auth_pass value in load proxy>'
    

    Info

    The HTTP_AUTH_PASS is for defining the PSK of Node-Exporter on LoadUP-CP and will be randomly generated if not configured. It is optional to define it before installation.

    Configuring it as same value as Load Proxy will ease the process of adding LoadUp-CP into Prometheus Target, but it will result in LoadUP-CP metric be placed under tha same job: node , along with Load Proxy instaces


  2. CURL & Run the Installation Script

    bash -c "$(==**`CURL`**== -fsSL https://files.ops2.net/edgehit/test/loadup-cp/deploy/install.sh)"
    
    • Once the installation is done, installation info and administrative tools will be stored in /usr/local/loadup/loadup-cp/ the directory content will be similiar as below:

          loadup-cp/
          β”œβ”€β”€.env
          β”œβ”€β”€install-info.txt
          β”œβ”€β”€compose.yml
          β”œβ”€β”€bin/
          β”‚ β”œβ”€β”€ bash Scripts
          β”‚ └── more bash Scripts 
          β”‚ └── .....
      
    • .env contain secrets and config value such as JWT token Secret, Domain Name, Node Exporter Auth Password, etc...

    • install-info.txt contain info such as default credential and URL of web dashboard, and certain secret value from .env

    • bin/ directory contain bash script for administative action such as update and backup actions.

    Provision Section Included

    The Provision of LoadUP-CP is included in Installation step as installation of LoadUP-Worker and DNS Health checker require Provision of LoadUp-CP to generate API Token.

  3. Login into the LoadUP-CP dasboard using URL and credential in install-info.txt. Go to Check > Server Group Section to configure LoadUP-Worker

    alt text

  4. Fill in relavant name for declaring a sever group and optionally add description for the group. Then press Save Changes

    alt text

    Note

    The Server Group setting act as a tag for administrator to record which server group a list of LoadUp-Worker Node belongs to. For example, you can specify a Server group for workers in a Geographical area like Asia


  5. Go to Check > Server Section. Click on the add button to initialize a new worker

    alt text

  6. Fill in the IP address and Hostname for the LoadUP-Worker. Select previously declared Server Group in the settings. After that, click on Save Changes

    alt text

  7. You will be redirected to a page that show details of the configured server settings. Note down the UUID of the server. This will corespond to the loadup_worker_api_key setting of .env file in LoadUP-Worker.

    alt text

  8. Go to Account > Details section and note down the API Token of the account. This will corespond to the loadup_worker_api_key setting of .env file in DNS Healthchecker.

    alt text

    Note

    Ensure that you do not Click on Regenerate for each API Token Setting as it will invalidate the previous token and would require reconfiguring the .env file on Worker and DNS Healthchecker

Once the installation and provision of LoadUP-CP is done, you can proceed with installing LoadUp-worker and DNS health-check



πŸ‘· Install LoadUp-Worker

LoadUp-Worker is deployed in multiple VPS to query the status of Target in LoadUp-CP via ICMP or HTTP request. The following give detailed guide on how to install LoadUP-worker and connecting it to LoadUP-CP.

Important

The following Section Requires LoadUP-CP to be installed before Proceed. Ensure that LoadUP-CP is deployed and the UUID is noted as API token.

  1. Set Environment Variables & Secrets

    • Make sure these variables are set correctly in your environment before proceeding with the installation. You can refer to the command below:
    export REGISTRY_PASSWORD='<SECRET>'
    export loadup_worker_api_url='<domain name of LoadUP-CP>'
    export loadup_worker_api_key='<Server UUID of target server>'
    export loadup_worker_http_auth_pass='<http_auth_pass value in load proxy>'
    

    Info

    The HTTP_AUTH_PASS is for defining the PSK of Node-Exporter on LoadUP-Worker and will be randomly generated if not configured. It is optional to define it before installation.

    Configuring it as same value as Load Proxy will ease the process of adding LoadUp-Worker into Prometheus Target, but it will result in LoadUP-Worker metric be placed under tha same job: node , along with Load Proxy instaces


  2. CURL & Run the Installation Script

    bash -c "$(==**`CURL`**== -fsSL https://files.ops2.net/edgehit/test/loadup-worker/deploy/install.sh)"
    
    • Once the installation is done, installation info and administrative tools will be stored in /usr/local/loadup/loadup-worker/ the directory content will be similiar as below:

          loadup-worker/
          β”œβ”€β”€.env
          β”œβ”€β”€install-info.txt
          β”œβ”€β”€compose.yml
          β”œβ”€β”€bin/
          β”‚ β”œβ”€β”€ bash Scripts
          β”‚ └── more bash Scripts 
          β”‚ └── .....
      
    • .env contain secrets and config value

    • install-info.txt contain installation info

    • bin/ directory contain bash script for administative action such as update and backup actions.