Upgrade to v0.19 from earlier versions
Before upgrading to v0.19, you need to run the migration script to sanitise the alerts and dashboards data.
Steps to run migration script
Command-Line Interface (CLI) Flags
There are is only one flag in the migrate
binary:
--dataSource
: Data Source path.default=signoz.db
For Docker
cd
to SigNoz repository and run following commands:
cd deploy/docker/clickhouse-setup
docker run -it -v $PWD/data/signoz/signoz.db:/signoz.db signoz/migrate:0.19
Output should be similar as below:
Data Source path: signoz.db
2023/05/20 15:28:22 Total Dashboard found: 2
2023/05/20 15:28:22 625fa391-d9d3-47c1-809a-1a147eea229d
2023/05/20 15:28:22 b05af383-23ec-4061-8f57-0765d45ccd51
2023/05/20 15:28:22 Dashboard 625fa391-d9d3-47c1-809a-1a147eea229d updated
2023/05/20 15:28:22 Dashboard b05af383-23ec-4061-8f57-0765d45ccd51 updated
2023/05/20 15:28:22 Dashboards migrated
2023/05/20 15:28:22 Migrating 1 rules
2023/05/20 15:28:22 Migrating rule 1
2023/05/20 15:28:22 Migrated 1 rules
At last, trigger a restart of the query-service container:
docker restart query-service
For Docker Swarm
cd
to SigNoz repository and run following commands:
cd deploy/swarm/clickhouse-setup
docker run -it -v $PWD/data/signoz/signoz.db:/signoz.db signoz/migrate:0.19
Output should be similar as below:
Data Source path: signoz.db
2023/05/20 15:28:22 Total Dashboard found: 2
2023/05/20 15:28:22 625fa391-d9d3-47c1-809a-1a147eea229d
2023/05/20 15:28:22 b05af383-23ec-4061-8f57-0765d45ccd51
2023/05/20 15:28:22 Dashboard 625fa391-d9d3-47c1-809a-1a147eea229d updated
2023/05/20 15:28:22 Dashboard b05af383-23ec-4061-8f57-0765d45ccd51 updated
2023/05/20 15:28:22 Dashboards migrated
2023/05/20 15:28:22 Migrating 1 rules
2023/05/20 15:28:22 Migrating rule 1
2023/05/20 15:28:22 Migrated 1 rules
At last, trigger a restart of the query-service container:
docker restart query-service
In case of multi node swarm cluster, run the above commands in the node where query-service is running. To find out which node: docker service ps query-service
.
For Kubernetes
To download migrate
binary:
wget https://github.com/signoz/signoz-db-migrations/releases/download/v0.19/migrate-v0.19-linux-amd64 -O migrate
sudo chmod +x migrate
To copy the binary in persistent volume path /var/lib/signoz
in query-service
:
kubectl cp -n platform ./migrate my-release-signoz-query-service-0:/var/lib/signoz/migrate
To exec
into the query-service
container:
kubectl -n platform exec -it pod/my-release-signoz-query-service-0 -- sh
Now, change directory to the /var/lib/signoz
and run the migration script:
cd /var/lib/signoz
./migrate
You should see output similar to this:
Data Source path: signoz.db
2023/05/20 15:28:22 Total Dashboard found: 3
2023/05/20 15:28:22 625fa391-d9d3-47c1-809a-1a147eea229d
2023/05/20 15:28:22 b05af383-23ec-4061-8f57-0765d45ccd51
2023/05/20 15:28:22 e730bcd5-5319-4cab-8de7-82edd5f48c72
2023/05/20 15:28:22 Dashboard 625fa391-d9d3-47c1-809a-1a147eea229d updated
2023/05/20 15:28:22 Dashboard b05af383-23ec-4061-8f57-0765d45ccd51 updated
2023/05/20 15:28:22 Dashboard e730bcd5-5319-4cab-8de7-82edd5f48c72 updated
2023/05/20 15:28:22 Dashboards migrated
2023/05/20 15:28:22 Migrating 1 rules
2023/05/20 15:28:22 Migrating rule 1
2023/05/20 15:28:22 Migrated 1 rules
Upgrade to v0.19
Follow the platform specific instructions to upgrade to 0.19 and above.
Prior to upgrading to v0.19
, you need to run the migration script.
In case you upgrade and don't run the migration script, you might run into query-service
pod crash loop. To solve this, follow the instructions in the section below.
query-service
pod is crashing (Kubernetes)
Issue - In case you upgraded to v0.19
prior to running the migration script in Kubernetes, you will see query-service
pod is crashing due to invalid alerts data.
To solve this, you will have to use migration
init container in query-service
pod to run the migration script and then restart the pod.
Follow the steps below:
Make sure you have latest chart information from the Helm repositories:
helm repo update
Include the following in
override-values.yaml
file:queryService: initContainers: migration: enabled: true command: - sh - -c - | echo "Running migration" wget https://github.com/signoz/signoz-db-migrations/releases/download/v0.19/migrate-v0.19-linux-amd64 -O migrate chmod +x migrate ./migrate --dataSource /var/lib/signoz/signoz.db echo "Migration completed"
Run the following command to upgrade the chart:
helm -n platform upgrade my-release signoz/signoz -f override-values.yaml
Wait for the
migration
init container to complete and then restart thequery-service
pod:kubectl -n platform rollout restart sts -l app.kubernetes.io/component=query-service
(Optional) Once the
query-service
pod is running, you can delete themigration
init container from theoverride-values.yaml
file which you added in step 2, followed by running the following command to upgrade the chart:helm -n platform upgrade my-release signoz/signoz -f override-values.yaml