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
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
Prediction container
To run the latency prediction container for certain agents perform the following steps:
Download the installation script inside the lti_analyzer directory
cd lti_analyzer
wget https://api.latence.ca/software/run-update-prediction.sh
Create a file called sites.txt and add the agent IDs for which you want to run prediction containers in separate lines. Don't leave blank lines or spaces.
Run the script.
bash run-update-prediction.sh
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. - 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:
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:
- Replace the value for
msgbus.latence.ca
by the IP address of the host where the analyzer is running. - Replace the value for
LTI_agent_id
by the desired ID. The ID must be an integer. - Replace the value for
LTI_customer_id
by the desired ID. The ID must be an integer with a maximum of 6 digits. - Replace the value for
LTI_license_key
by your LTI license key. - Replace the value for
LTI_reflector
by the IP address of the host where the reflector docker is running.
Required metadata modifications:
- Replace the value for
LTI_agent_name
by a user-friendly agent or site name that will be used in the dashboards. Use string format with a maximum size of 255 characters. - Replace the value for
LTI_agent_expected_application_latency
by the expected application latency (mean of HTTP/S, TCP, UDP), in milliseconds. It will be used as a threshold in the dashboards. Use integer format, with minimum 0. You can use a default value of 30. - Replace the value for
LTI_agent_expected_stability
by the expected network's average latency stability level in percentage. Use float format to represent percentages (from 0.0 to 99.9). You can use a default value of 95.
Optional metadata modifications:
- Replace the value for
LTI_agent_hardware
by the type/model of equipment or hardware or host where the agent is installed. Use string format with a maximum size of 255 characters. - Replace the value for
LTI_agent_net_type
by the network type used (4G, 5G, WIFI, etc). Use string format with a maximum size of 255 characters. - Replace the value for
LTI_agent_net_name
by the network name. Use string format with a maximum size of 255 characters. - Replace the value for
LTI_agent_address
by the agent's physical address. Use string format with a maximum size of 255 characters. - Replace the value for
LTI_agent_gps_pos
by agent's GPS location. The following format is supported: latitude/longitude (use "null" to disable). Example: 45.508, -73.562. - Replace the value for
LTI_agent_details
by raw text field for agent-specific details. Use string format with a maximum size of 65535 characters. - Replace the value for
LTI_agent_expected_packet_loss_rate
by the network's expected packet loss in percentage. Use float format to represent percentages (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.