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.
Issue - query-service pod is crashing (Kubernetes)
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 updateInclude the following in
override-values.yamlfile: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.yamlWait for the
migrationinit container to complete and then restart thequery-servicepod:kubectl -n platform rollout restart sts -l app.kubernetes.io/component=query-service(Optional) Once the
query-servicepod is running, you can delete themigrationinit container from theoverride-values.yamlfile 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