Skip to main content

Submitting Telemetry Data to Element

Issue

    I am unable to allow Element's telemetry upload to take place and need to submit my telemetry data to Element.

    Environment

      Element Server Suite

      Resolution

      In order to gather telemetry data, you will need to use the element-telemetry-export.py script, which comes with the installer.

      To get started, you will need to create a configuration file that has the following in ~/.element-enterprise-server/config/telemetry-config.json:

      {
              "homeserver": {
                      "base_url": "https://hs.element.demo",
                      "access_token": "syt_s0m3t0k3nbWluLWRvbm90ZGVsZXRl_OcCeJSNKHPLsbececapM_3jON6y",
                      "room_id": "!EUaiYKUtdFlLuCqDdT:element.demo"
              }
      }
      

      For the base_url variable, you will need to specify the fqdn of your homeserver.

      For the access_token variable, you will need to provide a valid access token for a user who has access to the telemetry room. This can be found by logging in to Element Web as this user, going to "All Settings", then clicking "Help & About" and finally expanding the section for "Access Token".

      accesstoken.png

      For the room_id variable, you will need to join the telemetry room /join #element-telemetry:element.demo and then open the "Room Settings" and click on "Advanced" and there you will see the "Internal Room ID". In the given /join command, you will need to replace element.demo with your homeserver domain. The Room Settings panel with the ID looks like:

      roomsettings.png

      Once you have these three variables filled in for your homeserver setup, you can run:

      cd ~/.element-enterprise-server/installer/lib
      /usr/bin/env python3 ./element-telemetry-export.py --config ~/.element-enterprise-server/config/telemetry-config.json 
      

      Once you have run this, you will have some messages that look similar to:

      2023-04-18 15:36:41,580:INFO:Parsing configuration file (/home/karl1/.element-enterprise-server/config/telemetry-config.json)
      2023-04-18 15:36:41,581:INFO:Performing Matrix sync with homeserver (https://hs.element.demo)
      2023-04-18 15:36:41,643:INFO:Scanning page 1
      2023-04-18 15:36:41,716:INFO:Scanning page 2
      2023-04-18 15:36:41,782:INFO:Writing 19 telemetry events to ZIP file (/home/karl1/.element-enterprise-server/installer/lib/telemetry_2023-04-18.zip)
      2023-04-18 15:36:41,783:INFO:Saving some internal state (for next time)
      

      and you will have a new zip file in this directory with a date stamp in the format telemetry_YYYY-MM-DD.zip. In my case, I have telemetry_2023-04-18.zip.

      I can now browse to https://ems.element.io/https://ems.element.io/on-premise/subscriptions and click "Upload Telemetry" next to the subscription that I wish to upload the data for:

      ems-subs.png

      I can then browse for my telemetry file and click "Submit Telemetry":

      browse-telemetry.png

      Once successful, you will see this screen:

      success.png

      You can then close the upload window.

      Root Cause

        Some environments do not allow telemetry data to be uploaded to Element.