Skip to content

Launching the system

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.

Launch

Log into the analyzer's host

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.)

Check

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 edit

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

Check

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 Edit

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

Check

You can check the logs using the following command:

docker compose -f lti_qos-agent.yml logs

Post launch

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

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.