Skip to main content

RetroCapture User Guide

RetroCapture is a tool that helps you move data from offline devices (loggers) to the Capture Cloud. It replaces the old "Service Tool".

tip

Think of it as a bridge: it takes data from a machine that doesn't have internet access to your current/local device and uploads it to the cloud for you.

RetroCapture is a "standalone" app. This means you don't need to install anything else to open it, but the file size is a bit large because it includes everything it needs to run.

🚀 Quick Navigation: What do you want to do?​

Select the scenario that fits your current situation:


The Launcher (First Steps)​

When you start the RetroCapture executable, you will see the Launcher first.

  1. Database Engine: You need a database engine installed on your device to read the data. (Skip this if you already have Influx/Timescale installed)
    • If your system uses InfluxDB, click Install InfluxDB.
    • If your system uses TimescaleDB (Windows only), click Install TimescaleDB.
  2. Start the Tool: Click Open RetroCapture UI to begin.

RetroCapture Launcher with Open RetroCapture UI, View Logs, Install TimescaleDB and Install InfluxDB buttons

Closing the App

When you close RetroCapture, it asks if you want to Keep or Clean the temporary files.

  • Left Button (Keep): Saves your settings and current data for next time.
  • Right Button (Clean): Deletes everything so you start fresh next time.

Scenario 1: Live Syncing​

Use this if: You have a network connection to the offline device (for example Ethernet or Wi‑Fi) and your laptop has internet access.

Or: You have a local database and you want to sync it now.

Step 1: Select Mode​

On the RetroCapture Home Screen, click Live From Database.

RetroCapture home screen with Live From Database selected and the Database Settings form for the offline target

Step 2: Connect to the Machine​

You need to tell RetroCapture where the data is coming from.

  1. Database Type: Choose Influx or TimescaleWide (depending on your device).
  2. Offline Database (target): Enter the IP address of the device and the port (usually 8086 for Influx or 5432 for Timescale). (See hint for more info)
  3. DB username & DB password: Enter the database credentials.
  4. License: Check the box Use License From Offline Target Device?. (See hint for more info)
  5. Click Set variables.

If successful, you will see a list of databases. Select the one you want to sync.

Hints for correct configuration

Address: e.g. 192.168.1.x

License: Check this box and we will pull the license from this device which saves you effort later.

RetroCapture Fetch local databases to sync section with the Capture database selected under DB to sync

Step 3: Sync to Cloud​

  1. Capture URL: Leave the default or fill in the URL of your Capture instance.
  2. License: Depending on previous steps, it can happen you need to provide a valid license. You have to download this file from Capture and use it here or you can use the license of your local device if running Capture.Edge here. (See hint for more info)
  3. Leave other settings to their default.
  4. [OPTION] Custom Start Time: You can set a custom start time for the backup by disabling "Sync all data".
  5. Start: Click Sync database. The data will now move from the offline device directly to the cloud via your local device.
Hints for correct configuration

Enable the checkbox Use CloudManager License.

Would you like to understand the other input fields?
  • Capture URL: The URL of the Capture Cloud instance. Default: https://portal.captureplatform.com.
  • Path to Syncer executable: This is usually pre-filled.
  • Syncer port: Choose an unused port on your local device. Default: 5011.
  • Min points to sync: The minimum number of data points required to start a sync.
  • Points Per Request: The number of data points to send in each batch. Default: 10,000.
  • Convert data in case of type mismatch: Enable this if you encounter type mismatch errors during syncing.
  • Extra debug logs: Enable to view detailed logs of the syncing process.

Scenario 2: Backup & Restore​

Use this if: You are at the offline device (maybe with no internet), but you can connect to the device via a network connection (for example Ethernet, Wi‑Fi, LAN). You want to copy the data to your laptop now, so you can upload it later when you have internet access.

Step 1: Select Mode​

On the Home Screen, click From Backup.

Step 2: Connect to the Offline Device / Machine​

You need to tell RetroCapture where the backup should be taken.

  1. Database Type: Choose Influx or TimescaleWide (depending on your device).
  2. Offline Database (target): Enter the IP address of the offline device (e.g. 192.168.1.x) and the port (usually 8086 for Influx or 5432 for Timescale).
  3. DB username & DB password: Enter the database credentials.
  4. License: Check the box Use License From Offline Target Device?.
  5. Click Set variables.

Step 2: Configure Backup​

  1. Path to backup Folder: Choose a folder on your computer where the file should be saved. We already suggest a temporary folder.
  2. Path to InfluxDB executable (influxd.exe) / Path to PostgreSQL executable (pg_restore.exe): The database tools RetroCapture takes the backup and restores it with. If you installed Influx/Timescale via the tool, this is set correctly.
    • Influx: influxd.exe, which RetroCapture runs as influxd backup and influxd restore. Usually C:\Program Files (x86)\Capture\Influx\influxd.exe.
    • Timescale: the PostgreSQL bin folder that holds pg_dump.exe (backup) and pg_restore.exe (restore), although the label names only pg_restore.exe. Usually C:\Program Files\PostgreSQL\<version>\bin.
  3. Your Local Database and its DB username / DB password: The settings for the database running on your local device (not the offline device). The address should be 127.0.0.1.

Step 3: Run Backup​

Click Backup & Restore.

  • The tool will copy the data from the device to your computer.
  • Once finished, it will automatically "Restore" (load) that data into RetroCapture (= local database) so it's ready for upload.

RetroCapture Backup &amp; Restore section with backup folder, PostgreSQL path and local database fields

Done!

You now have the data on your laptop. You can close the tool and go to an office with Internet. When you are ready to upload, see Scenario 1.


Scenario 3: Backup manually and upload it​

Use this if: You cannot access the offline target device over local network / ethernet.

  1. Log in on the offline target device and run a backup command (See hint for more info)
  2. Ensure that you can copy these backups to your local device with RetroCapture (e.g. with a USB stick).
  3. Complete Scenario 2 in RetroCapture, but enable the checkbox Already have a backup?
  4. Complete Scenario 1
Backup Manually

Influx command: '<path-to-influxd.exe>' backup -portable -database <database> -host <host>:8088 [-retention <retention-policy>] [-since <ISO-8601-UTC>] "<backupPath>" Timescale command: 'C:\Program Files\PostgreSQL\<version>\bin\pg_dump.exe' -h <host> -p <port> -U <user> -d <database> -F c -f "<C:\path\to\backup.dump>"

RetroCapture From Backup mode with a restored temporary database selected and a Backup restored successfully message


Generating a License​

To upload data to the cloud, you need permission. This permission comes in the form of a License File.

New Frontend​

  1. Navigate to the "Devices" page and click "Add Device".

    Capture Cloud Applications page with the Sources tile highlighted

  2. Select "Add an offline device".

    Sources home page with the Gateways card highlighted

  3. Fill in the device details.

    Sources gateway list with the plus button and its Add offline device option highlighted

  4. Find the CloudManager UI of the offline device (port 5004) and copy the displayed GUID.

    CloudManager UI Status page on port 5004 with the GUID row highlighted

  5. Paste this GUID into the "Activation UID" field in Capture Cloud.

    Add offline device dialog, Device info step with Servicetool type and the Activation UID field

  6. Download the license file.

    Gateway overview page with the Download button and its Auth config option highlighted

Old Frontend​

  1. Go to the "Offline Devices" page.

    Old Capture portal home with the overview link under devices highlighted

  2. If this is your first time, add an offline device.

    Old portal devices page with the Add device menu open and Add device offline highlighted

  3. Find the CloudManager UI of the offline device (port 5004) and copy the displayed GUID.

    CloudManager UI Status page on port 5004 with the GUID row highlighted

  4. Paste this GUID into the "Activation UID" field.

    Old portal create device offline panel with Servicetool type and the Activation Uid field

  5. Download the license.

    Old portal offline device details with the Download license button highlighted


Troubleshooting & Advanced​

Cross-OS backup

A known issue with InfluxDB is taking backups with our tool across Windows to Linux (or a container) and vice versa. Solution: create a backup manually on the device itself and copy the backup files to your device running RetroCapture. These backups can be used.

Common Error

See this error:

2020/02/05 14:40:47 backing up db=mydb
2020/02/05 14:40:47 backing up db=mydb rp=my_rp shard=122 to backup_20200205_144047/mydb.my_rp.00122.00 since 2018-01-01T00:00:00Z
2020/02/05 14:40:47 Download shard 122 failed copy backup to file: err=<nil>, n=0. Waiting 2s and retrying (0)...
2020/02/05 14:40:49 Download shard 122 failed copy backup to file: err=<nil>, n=0. Waiting 2s and retrying (1)...
2020/02/05 14:40:52 Download shard 122 failed copy backup to file: err=<nil>, n=0. Waiting 2s and retrying (2)...
2020/02/05 14:40:54 Download shard 122 failed copy backup to file: err=<nil>, n=0. Waiting 2s and retrying (3)...
2020/02/05 14:44:44 error (copy backup to file: err=<nil>, n=0) when backing up db: mydb, rp my_rp, shard 122. continuing backup on remaining shards
2020/02/05 14:44:44 backup failed: copy backup to file: err=<nil>, n=0
backup: copy backup to file: err=<nil>, n=0

Solution: add bind-address = ":8088" to the file /etc/influxdb/influxdb.conf.

Timescale on Linux

Download here (version 17 is recommended).