Prom-migrator data migration tool

Prom-migrator is a universal Prometheus data migration tool that migrates your data from one storage system to another, using Prometheus remote storage endpoints. If you are already using Prometheus for long term storage of metrics, you can use Prom-migrator to replace your remote storage system with Promscale. Prom-migrator is open-source, community-driven and free-to-use.

Migrate to Promscale using Prom-migrator

Before you begin, you must have an already installed and working Prometheus environment to migrate. Additionally, you need a self-hosted TimescaleDB instance installed.

Migrating to Promscale using Prom-migrator

  1. Install Promscale from a Docker container, or from source.
  2. Install the Prom-migrator tool from the Promscale releases page.
  3. Run Prom-migrator to copy the data from the existing Prometheus installation to Promscale:
    ./prom-migrator -start=<migration-data-start-time> \
    -end=<migration-data-end-time> \
    -reader-url=<read_endpoint_url_for_remote_read_storage> \
    -writer-url=<write_endpoint_url_for_remote_write_storage> \
    For example:
    ./prom-migrator -start=1631007492 \
    -end=1635845892 \
    -reader-url=http://localhost:9091/api/v1/read \
    -writer-url=http://localhost:9201/write \

When you have migrated the data into Promscale, you can drop the old data from Prometheus and any other remote storage system.

When your data migration is complete, you can use Promscale directly to query using PromQL and TimescaleDB to query using SQL.


Promscale does not currently support alerting or recording rules. If you need access to these features, you can configure them within Prometheus directly. We also recommend that you set the data retention setting in Prometheus to 1d, but this is dependent on the alerting rules that you have configured in Prometheus.

For more information about Prom-migrator and it command line options, see our developer documentation.

Found an issue on this page?

Report an issue!


Related Content