ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Server
  • Cloud
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Download
ScyllaDB Docs ScyllaDB Monitoring Upgrade Scylla Monitoring Stack Upgrade Guide - Scylla Monitoring 1.x to Scylla Monitoring 2.x

Caution

You're viewing documentation for a previous version of ScyllaDB Monitoring. Switch to the latest stable version.

Upgrade Guide - Scylla Monitoring 1.x to Scylla Monitoring 2.x¶

This document is a step by step procedure for upgrading Scylla Monitoring Stack from version 1.x to 2.x

  • Upgrade Procedure

    • 1. Upgrade to the latest 1.x version

    • 2. Install the new monitoring stack

      • Validation

    • 3. Alerting Rules

    • 4. Moving to Prometheus 2.x

      • a. Set the old system

      • b. Set the new system

    • Validate the upgrade

  • Rollback

  • Related Links

Scylla monitoring stack uses Prometheus as its metrics database. The main differences between Scylla Monitoring 1.x and 2.x are moving from Prometheus version 1.x to Prometheus 2.x. Since Prometheus is not backward compatible between these two versions, the upgrade procedure consists of running the two monitoring stack, old and new, in parallel, allowing the new stack to read metrics from the old one. This procedure will enable you to migrate your Scylla monitoring stack without losing historical metric data in the process. Once the Prometheus retention time has passed, you can safely remove the old stack.

Upgrade Procedure¶

1. Upgrade to the latest 1.x version¶

Before starting the upgrade procedure, make sure you are running the latest 1.x version

2. Install the new monitoring stack¶

  1. Download the 2.x version from the release page.

  2. Unzip it into a different directory. This is important, as Prometheus is not backward compatible and would not be able to use the old data.

  3. You can use the server definitions from the old monitoring stack by copying the target files from the old stack to the new one, located on the prometheus/ directory:

    • scylla_servers.yml

    • scylla_manager_servers.yml

    • node_exporter_servers.yml

  4. Start the new monitoring stack. If you are using Docker, make sure you are using -g -p and -m to specify different ports than the old monitoring stack. For example:

./start-all.sh -g 3001 -p 9091 -m 9094 -d /new-prometheus-data-path

Note

Make sure to use the -d option, letting Prometheus keep its data outside the Docker container. Fail to do so will result in loss of historical data in case you restart the monitoring stack.

While the old monitoring stack keeps working, you can take the new stack up and down to make sure everything works correctly. Note that if you are using non-default ports setting, you should use the same for stopping the stack:

./kill-all.sh -g 3001 -p 9091 -m 9094

Validation¶

Make sure the new monitoring stack is working before moving to 2.x as your main system. See that the graphs return data, and nodes are reachable.

3. Alerting Rules¶

Note that alerting rules moved to a yml file format. Make sure that all defined rules are taken.

4. Moving to Prometheus 2.x¶

Monitoring stack Version 2.0 upgrade the Prometheus version from 1.8 to 2.3. This upgrade is not backward compatible. Prometheus Migration is cover here. Note that when using the docker containers, besides the data migration, the docker permissions were changed. This means that the permissions of the data directory will no longer work.

Do the following to allow the Prometheus in the new monitoring stack to read historical metrics from the old Prometheus:

a. Set the old system¶

The following steps will stop the old monitoring stack from reading new metrics while exposing an API for the new monitoring stack to read historical metrics from.

  • In the old Prometheus prometheus.yml.template file, remove the alerting, scrape_configs, and rule_files sections, keeping only the external_labels section.

  • Restart the old montioring stack with, kill-all.sh followed by start-all.sh with command line flag -b "-web.listen-address=:9111".

Note

After this phase, the old monitoring stack will not be updated with new metrics. It will only serve as a data source of historical data for the new stack

b. Set the new system¶

The following step will allow the new monitoring system to read historical metrics from the old system.

  • In the Prometheus prometheus.yml.template file add the following at the end:

remote_read:
  - url: "http://{ip}:9111/api/v1/read"

Where {ip} is the ip of the old system.

  • restart the new stack

Validate the upgrade¶

You should be able to see the graphs on the new stack. Make sure you see the graphs’ history. By default, the Prometheus retention period is 15 days, so after that period, it is safe to take down the old system and remove the remote_read from the new Prometheus configuration.

Rollback¶

In the upgrade procedure, you set up a second monitoring stack. The old monitoring stack continues to work in parallel. To rollback, add back the Prometheus targets in the old system, and take down the new system.

Related Links¶

  • Scylla Monitoring Stack

  • Upgrade

  • Prometheus Migration

Was this page helpful?

PREVIOUS
Upgrade Guide - Scylla Monitoring 2.x to Scylla Monitoring 2.y
NEXT
Troubleshooting Guide for Scylla Monitoring Stack
  • Create an issue
  • Edit this page

On this page

  • Upgrade Guide - Scylla Monitoring 1.x to Scylla Monitoring 2.x
    • Upgrade Procedure
      • 1. Upgrade to the latest 1.x version
      • 2. Install the new monitoring stack
        • Validation
      • 3. Alerting Rules
      • 4. Moving to Prometheus 2.x
        • a. Set the old system
        • b. Set the new system
      • Validate the upgrade
    • Rollback
    • Related Links
ScyllaDB Monitoring
  • 3.9
    • 4.9
    • 4.8
    • 4.7
    • 4.6
    • 4.5
    • 4.4
    • 4.3
    • 4.2
    • 4.1
    • 4.0
    • 3.10
    • 3.9
    • 3.8
    • 3.7
    • 3.6
    • 3.5
  • Introduction
  • Download and Install
    • Install
    • The start-all.sh script
    • Deploy without Docker
    • Docker Compose
    • System Recommendations
    • Using Thanos
  • User Guide
    • CQL Optimization Dashboard
    • Advisor
      • Some queries use ALLOW FILTERING
      • Some queries use Consistency Level: ALL
      • Some queries use Consistency Level: ANY
      • Some queries are not token-aware
      • Some SELECT queries are non-paged
      • Some queries are non-prepared
      • Some queries use reverse order
      • Some operation failed due to unsatisfied consistency level
      • I/O Errors can indicate a node with a faulty disk
      • Some operations failed on the replica side
      • CQL queries are not balanced among shards
      • Prepared statements cache eviction
  • Procedures
    • Alert Manager
      • Alerting
    • Adding and Modifying Dashboards
    • Upgrade Guide
  • Upgrade
    • Monitoring 3.x to 3.y
    • Monitoring 2.x to 3.y
    • Monitoring 2.x to 2.y
    • Monitoring 1.x to 2.x
  • Troubleshooting
    • Troubleshooting
    • Troubleshooting Guide for Scylla Manager and Scylla Monitor Integration
  • Reference
    • Support Matrix
    • Interfaces
  • GitHub Project
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 04 May 2025.
Powered by Sphinx 7.4.7 & ScyllaDB Theme 1.8.6