Skip to content

Launching the system

To setup the solution, you need to follow the following sequence for each of the 3 components.

  1. Download the configuration / launcher file.
  2. Edit the configuration file according to your needs.
  3. Launch the component.
  4. Optionnaly, you can verify your deployment.

The components can be installed in any order, but it is recommended the follow this file. Don't forget to look at the next steps when your installation is complete.

Analyzer

The analyzer receives, stores, and aggregates measurements data. In addition, it performs anomaly detection and latency forecasting using statistical models. Last, it provides real-time data visualization.

Note: For each new version of the analyzer you must remove the downloaded and generated files of the previous analyzer before installing to avoid any potential incompatibilities. You may also consider installing each version of the analyzer in a separate directory.

First, log into the analyzer's host.

Start the launcher

Download the installation script

wget https://api.latence.ca/software/install-run-analyzer.sh

Run the script. You will be guided through the installation. This will download and configure the components and launch the Docker containers once complete.

bash install-run-analyzer.sh

Optionaly: configure NTP on the Analyzer host for increased accuracy on selected measurements e.g. (TWAMP, LIFBE, etc.)

Verify

Although no data will yet be flowing in, You can access the dashboards by pointing your browser to the ip address of the analyzer host, on the port 12021, i.e. http://YOUR_ANALYZER_HOST_IP:12021

Reflector

LatenceTech Reflector is used to accept measurement requests from the QoS Agent and send back results.

First, log into the reflector's host. Then, carefully follow the steps below.

Download and configure

First, download the lti_reflector.yml file using the following command:

wget https://api.latence.ca/software/lti_reflector.yml

The lti_reflector.yml is a docker compose file with the following contents:

version: '2.4'
services:
  reflector:
    image: registry.latence.ca/software/reflector:latest
    container_name: lti_reflector
    ports:
      - "12080:12080"
      - "12443:12443"
      - "12023:12023"
      - "12024:12024/udp"
      - "12862:12862"
      - "12501:12501/tcp"
      - "12501:12501/udp"
      - "12550:12550/tcp"
      - "12550:12550/udp"
      - "12555:12555/tcp"
      - "12555:12555/udp"
      - "12800:12800/udp"
      - "12801:12801/udp"
      - "12802:12802/udp"
      - "12803:12803/udp"
      - "12804:12804/udp"
      - "12805:12805/udp"
      - "12806:12806/udp"
      - "12807:12807/udp"
      - "12808:12808/udp"
      - "12809:12809/udp"
      - "12810:12810/udp"
      - "12811:12811/udp"
      - "12812:12812/udp"
      - "12813:12813/udp"
      - "12814:12814/udp"
      - "12815:12815/udp"
      - "12816:12816/udp"
      - "12817:12817/udp"
      - "12818:12818/udp"
      - "12819:12819/udp"
    restart: always
    logging:
      driver: json-file
    environment:
      - LTI_reflector_id=REPLACE_BY_DESIRED_ID
      - LTI_license_key=REPLACE_BY_LICENSE_KEY

Before launching the reflector, make the following modifications:

  • Replace the value for LTI_reflector_id by the desired ID. The ID must be an integer. The ID can be set to a default of '1' and will be used in future releases.
  • Replace the value for LTI_license_key by your LTI license key.
  • Ensure timezone, date & time is properly set for your host.
  • Optionaly: configure NTP on the Reflector host for increased accuracy on selected measurements e.g. (TWAMP, LIFBE, etc.)

Launch

Launch the reflector using docker compose:

Should you use docker v2, the command will be docker compose.

docker compose -f lti_reflector.yml pull 
docker compose -f lti_reflector.yml up -d

Verify

You can check the logs using the following command:

docker compose -f lti_reflector.yml logs

QoS Agent

LatenceTech QoS Agent coordinates QoS measurement requests and sends results to the Analyzer instance.

First, log into the qos agent's host. Then, carefully follow the steps below.

Download and configure

First, download the lti_qos-agent.yml file using the following command:

wget https://api.latence.ca/software/lti_qos-agent.yml

The lti_qos-agent.yml is a docker compose file with the following contents:

version: '2.4'
services:
  qos-agent:
    image: registry.latence.ca/software/qos-agent:latest
    container_name: lti_qos-agent
    network_mode: bridge
    restart: always
    cap_add:
      - NET_ADMIN
      - NET_RAW
    logging:
      driver: json-file
    extra_hosts:
      - msgbus.latence.ca:REPLACE_BY_IP_OF_ANALYZER_HOST
    environment:
      - LTI_agent_id=REPLACE_BY_DESIRED_ID
      - LTI_customer_id=REPLACE_BY_CUSTOMER_ID
      - LTI_license_key=REPLACE_BY_LICENSE_KEY
      - LTI_reflector=REPLACE_BY_IP_OF_REFLECTOR_HOST

      - LTI_agent_name=RELACE_BY_AGENT_NAME
      - LTI_agent_hardware=REPLACE_BY_HARDWARE_NAME
      - LTI_agent_net_type=REPLACE_BY_NETWORK_TYPE
      - LTI_agent_net_name=REPLACE_BY_NETWORK_NAME
      - LTI_agent_address=REPLACE_BY_AGENT_ADDRESS
      - LTI_agent_gps_pos=REPLACE_BY_AGENT_GEOLOCATION
      - LTI_agent_details=REPLACE_BY_AGENT_DETAILS
      - LTI_agent_expected_application_latency=REPLACE_BY_EXPECTED_APPLICATION_LATENCY
      - LTI_agent_expected_stability=REPLACE_BY_EXPECTED_STABILITY
      - LTI_agent_expected_packet_loss_rate=REPLACE_BY_EXPECTED_PACKET_LOSS

Before launching the agent, make the following modifications:

Parameter Required Description
msgbus.latence.ca Yes IP address of the host where the analyzer is running
LTI_agent_id Yes Desired agent ID. The ID must be an integer.
LTI_customer_id Yes Desired customer ID. The ID must be an integer.
LTI_license_key Yes Your LTI license key
LTI_reflector Yes IP address or DNS name of the host where the reflector docker is running
LTI_agent_name Yes User-friendly agent or site name used in dashboards. String, max 255 characters
LTI_agent_expected_application_latency Yes Expected application latency (mean of HTTP/S, TCP, UDP) in milliseconds, used as a dashboard threshold. Integer, min 0. Default: 30
LTI_agent_expected_stability Yes Expected network average latency stability level in percentage. Float from 0.0 to 99.9. Default: 95
LTI_agent_hardware No Type or model of equipment, hardware, or host where the agent is installed. String, max 255 characters
LTI_agent_net_type No Network type used (4G, 5G, WIFI, etc). String, max 255 characters
LTI_agent_net_name No Network name. String, max 255 characters
LTI_agent_address No Agent's physical address. String, max 255 characters
LTI_agent_gps_pos No Agent's GPS location in latitude/longitude format (e.g. 45.508, -73.562). Use "null" to disable
LTI_agent_details No Raw text field for agent-specific details. String, max 65535 characters
LTI_agent_expected_packet_loss_rate No Expected network packet loss in percentage. Float from 0.0 to 99.9

Launch

Launch the agent using docker compose:

docker compose -f lti_qos-agent.yml pull
docker compose -f lti_qos-agent.yml up -d

Verify

You can check the logs using the following command:

docker compose -f lti_qos-agent.yml logs

Next steps

Once fully launched, the system will start receiving data and this latter will be displayed in the dashboards.

You can access the dashboards by pointing your browser to the ip address of the analyzer host, on the port 12021, i.e. http://YOUR_ANALYZER_HOST_IP:12021. You can connect to it as a viewer with the credentials provided by the onboarding team at LatenceTech.

These default credentials must be changed on the first use for security reasons.

It is also possible to connect with other roles if needed: admin and editor. If you want to have access to those roles, contact your Latence Technologies vendor.

Important: Make sure all content and advertisement blockers are disabled for this address.

Dashboard Menu

QoS Agent Management Dashboard

Once the agent is launched, you can also install an optional module: the QoS Agent Management Dashboard.

This dashboard will allow you to monitor your agents and manage the lti_qos-agent.yml configuration file without needing to remote connect to the Agent VM in question.

You can learn more about it in the QoS Agent Management Dashboard page.