Frequently asked questions
What is the rollback procedure in case of upgrade failure?
The user is in charge of maintaining a rollback procedure. We advise to create a backup of the system before upgrading.
How can I update/upgrade my version of the Analyzer ?
You do not have customized dashboard:
When a new release is out, symply run:
wget https://api.latence.ca/software/update.sh
bash update.sh
It will stop your current Analyzer docker and make you install the Analyzer again while keeping your historical data.
You have a customized dashboard:
If you have a customized dashboards, contact your LatenceTech vendor before updating.
How can I update/upgrade my version of the Analyzer if it is an OFFLINE installation?
Pre-requisites
- Having the new Analyzer_offline.zip
- Knowing the location of your
lti_analyzer/folder - Run all commands from the directory that contains both
lti_analyzer/andAnalyzer_offline.zip - For this example, the folder
lti_analyzer/will be at the~/directory. You will have the adapt commands #3 and #5 for your location
Update
1) Save your data
mkdir -p ~/lti-backup/config
Before stopping containers, note the values from lti_analyzer/docker-compose.yml (you will need them after reinstall):
ADMIN_KEYMCP_TOKENLTI_license_keyLTI_passwordLTI_PERCENTILE_FILTERorLTI_percentile_filter
# Save home config files (if present)
cp ~/.saved_lti_password ~/lti-backup/config/ 2>/dev/null
cp ~/.cached_lti_license_key ~/lti-backup/config/ 2>/dev/null
InfluxDB backup is optional. Skip the next three blocks if you want a fresh database.
# Stop influxdb
docker stop lti_analyzer-influxdb-1
# Save Influxdb data
tar -cvf ~/lti-backup/data.gzip ~/lti_analyzer/influxdb/data
# Save MCP server data
sudo cp -r ~/lti_analyzer/mcp .
# Save certs and data folders (if present)
sudo mv ~/lti_analyzer/certs ~/certs 2>/dev/null
sudo mv ~/lti_analyzer/data ~/data 2>/dev/null
2) Delete containers
# Delete containers and images
docker stop $(docker ps -q) && docker rm $(docker ps -a -q) && docker rmi $(docker images -q) && docker system prune -af
# Cleaning up
sudo rm -rf ~/lti_analyzer/ ~/lti_analyzer.launch.log
3) Re-installation
# Unzip
unzip Analyzer_offline.zip 2>&1
# Go in the folder
cd Analyzer_offline/
# Execute script
bash install-run-analyzer-offline.sh
4) Put back your data
# Stop containers influxdb and influx-writer
docker stop lti_analyzer-influxdb-1
docker stop lti_analyzer-influx-writer-1
# Extract influxdb data
tar -xvf ~/lti-backup/data.gzip
# Restarting influxdb and influx-writer
docker start lti_analyzer-influxdb-1
docker start lti_analyzer-influx-writer-1
# Place back the MCP server data
sudo cp -r ~/mcp lti_analyzer/
# Place back certs and data (if you saved them)
sudo mv ~/certs lti_analyzer/ 2>/dev/null
sudo mv ~/data lti_analyzer/ 2>/dev/null
If certs/ or data/ exist at the root of lti_analyzer/, move them into the new mcp/ folder structure:
mkdir -p lti_analyzer/mcp
mv lti_analyzer/certs lti_analyzer/mcp/ 2>/dev/null
mv lti_analyzer/data lti_analyzer/mcp/ 2>/dev/null
5) Restore configuration
# Restore home config files (if backed up)
cp ~/lti-backup/config/.saved_lti_password ~/.saved_lti_password 2>/dev/null
chmod 600 ~/.saved_lti_password 2>/dev/null
cp ~/lti-backup/config/.cached_lti_license_key ~/.cached_lti_license_key 2>/dev/null
Edit lti_analyzer/docker-compose.yml and put back the values you saved in step 1 (ADMIN_KEY, MCP_TOKEN, LTI_license_key, LTI_password, percentile filter).
If you had an analyzer password, re-apply it to Grafana and InfluxDB (replace YOUR_PASSWORD):
GRAFANA_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep grafana | awk '{print $1}')
INFLUX_ID=$(docker ps --format "{{.ID}} {{.Image}}" | grep influxdb | awk '{print $1}')
docker exec -u root $GRAFANA_ID grafana-cli admin reset-admin-password YOUR_PASSWORD
docker exec $INFLUX_ID influx user password --name LatenceTech --password YOUR_PASSWORD --host http://localhost:8086
6) Restart services
# Restart influx-writer to apply license key
docker stop lti_analyzer-influx-writer-1
docker start lti_analyzer-influx-writer-1
If you restored a password, relaunch all services:
docker compose -f lti_analyzer/docker-compose.yml up -d
If you only restored ADMIN_KEY or MCP_TOKEN, restart MCP services:
docker compose -f lti_analyzer/docker-compose.yml restart latencetech_mcp chatbot_api
How can I update my version of the Qos-Agent and Reflector ?
QoS Agent
To update the Qos-Agent to the latest version, you have to kill and remove the images of the running dockers by the following command:
docker stop lti_qos-agent && docker rm lti_qos-agent && docker rmi registry.latence.ca/software/qos-agent
Delete the old version of the installation file:
rm lti_qos-agent.yml
You can then re-download the yaml file here and modify it with your values:
wget https://api.latence.ca/software/lti_qos-agent.yml
And then run the following to download the new images.
docker compose -f lti_qos-agent.yml up -d
Reflector
For the reflector you can either use the update script here:
wget https://api.latence.ca/software/update_reflector.sh
bash update_reflector.sh
OR you can do it manually following the steps below:
docker stop lti_reflector && docker rm lti_reflector && docker rmi registry.latence.ca/software/reflector
Delete the old version of the installation file:
rm lti_reflector.yml
You can then re-download the yaml file here and modify it with your License key and ID:
wget https://api.latence.ca/software/lti_reflector.yml
Re-launch the Reflector:
docker compose -f lti_reflector.yml up -d
How can you prove that your measures are accurate ?
Prior to each release, we conduct accuracy tests, which include the following:
- A comparison with industry accepted tools such as (Ookla’s Speedtest).
- We introduce predefined set of network variations such as a bandwidth bottlenecks or congestion levels, each followed by test sessions where with compare measurements with the expected results.
- The introduction of predefined delays, followed by a comparison of our latency measurements with the anticipated outcome.
To meet the acceptance criteria, these measurements must exhibit a maximum difference of 2% from the reference values.
Can I run only one protocol at a time ?
Yes. It is possible to disable a protocol by setting its sampling rate to -1.
E.g. specifying LTI_iperf3_session_interval=-1 will disable iperf.
Can I use multiple QoS agents at the same time pointing to the same reflector ?
Yes, is it possible to use multiple QoS agents. It is mandatory to specify a different ID for each agent using
LTI_agent_id. If not, you will not be able to identify the data related to a specific QoS agent.
How can I delete my docker which is currently running ?
Please refer to the docker prune documentation.
Does your solution encounter problems with data privacy ?
We do not collect any personal information. It is possible to run the analyzer on premises.
Is it available in every country ?
Yes, there is no usage restriction in any country.
How do I restart the analyzer if it is not responding ?
- Log into your analyzer VM.
- Run the following commands:
cd lti_analyzer
docker compose down
docker compose up -d
I have no data displayed, how can I troubleshoot this situation ?
If your QoS-Agent is running but you are not receiving any data on your Analyzer, execute the following procedure to troubleshoot this situation:
For Users on AWS:
- If your Analyzer run on an AWS virtual machine, run this script:
wget https://wget https://api.latence.ca/software/lti_protocol_debug_AWS.sh
- Then run the script with this command:
sudo bash lti_protocol_debug_AWS.sh
For all other Users:
- Download this troubleshooting script:
wget https://wget https://api.latence.ca/software/lti_protocol_debug.sh
- Then run the script with this command:
sudo bash lti_protocol_debug.sh
I get this error when I use the API: customerID is required.
It is possible, depending on the environement you use, that the analyzer part of the query also need to be in quotation marks:
curl -H -k "x-api-key: your_api_key_here" -s "https://<analyzer_IP>:12099/api/v1/ci?agent_id=<agentID>&customer_id=<customerID>"
This solution can also be used for the agentID is required error.
Other question
If you have any other question, please do not hesitate to open a ticket with the form on the right of this page. We will be happy to help you.