Overview
This guide walks you through migrating from a self-hosted SigNoz instance to SigNoz Cloud. The migration involves:
- Telemetry pipeline: Redirecting your applications and collectors to send data to SigNoz Cloud
- Dashboards and configuration: Migrating dashboards, alerts, pipelines, saved views, and user settings via SigNoz support
Prerequisites
Before starting the migration:
- SigNoz Cloud account: Sign up for SigNoz Cloud if you haven't already
- Ingestion key: Obtain your ingestion key from SigNoz Cloud settings
- Region: Note your SigNoz Cloud region
- Self-hosted access: Admin access to your self-hosted SigNoz instance and its SQLite database
Migration Approach
The recommended approach is to run both systems in parallel during migration:
- Configure your telemetry pipeline to send data to SigNoz Cloud
- Validate data is flowing correctly
- Migrate dashboards and configurations
- Continue running self-hosted until you're confident in the cloud setup
- Decommission self-hosted when ready
This approach ensures zero data loss during the transition.
Step 1: Update Your Telemetry Pipeline
Choose the tab that matches your current setup:
If you're using your own OpenTelemetry Collector that forwards data to SigNoz self-hosted, update the exporter configuration.
Update OTel Collector Configuration
In your OpenTelemetry Collector configuration file, update the exporters section to point to SigNoz Cloud:
exporters:
otlp/signoz-cloud:
endpoint: "https://ingest.<region>.signoz.cloud:443"
headers:
signoz-ingestion-key: "SIGNOZ_INGESTION_KEY"
tls:
insecure: false
Verify these values:
<region>: Your SigNoz Cloud region.<your-ingestion-key>: Your SigNoz ingestion key.
Then update your service.pipelines to use the new exporter:
service:
pipelines:
traces:
exporters: [otlp/signoz-cloud]
metrics:
exporters: [otlp/signoz-cloud]
logs:
exporters: [otlp/signoz-cloud]
Restart Your Collector
Restart the OpenTelemetry Collector to apply the configuration changes.
If your applications send telemetry directly to SigNoz self-hosted's built-in collector, you have two options:
Option A: Send Directly to SigNoz Cloud
Update your application's OpenTelemetry SDK configuration to send directly to SigNoz Cloud. Set these environment variables:
export OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.<region>.signoz.cloud:443"
export OTEL_EXPORTER_OTLP_HEADERS="signoz-ingestion-key=<your-ingestion-key>"
<region>: Your SigNoz Cloud region.<your-ingestion-key>: Your SigNoz ingestion key
For language-specific configuration, see the instrumentation guides.
Option B: Deploy Your Own OTel Collector (Recommended)
Deploying a dedicated collector gives you more control over data processing, batching, and routing.
Follow the Kubernetes OTel Collector guide to deploy a collector in your cluster. Configure the exporter to send to SigNoz Cloud:
global:
cloud: others
clusterName: <CLUSTER_NAME>
deploymentEnvironment: <DEPLOYMENT_ENVIRONMENT>
otelCollectorEndpoint: ingest.{region}.signoz.cloud:443
otelInsecure: false
signozApiKey: <your-ingestion-key>
presets:
otlpExporter:
enabled: true
loggingExporter:
enabled: false
Then update your applications to send data to the collector instead of directly to SigNoz:
- gRPC:
http://<collector-service>:4317 - HTTP:
http://<collector-service>:4318
Follow the VM OTel Collector guide to install the collector. Configure the exporter to send to SigNoz Cloud:
exporters:
otlp:
endpoint: "https://ingest.<region>.signoz.cloud:443"
headers:
signoz-ingestion-key: "SIGNOZ_INGESTION_KEY"
tls:
insecure: false
Then update your applications to send data to the local collector:
- gRPC:
http://localhost:4317 - HTTP:
http://localhost:4318
Step 2: Validate Data Flow
Before migrating dashboards, confirm that telemetry data is reaching SigNoz Cloud:
- Open SigNoz Cloud
- Check each signal type:
- Traces: Go to Traces Explorer and filter by your service names
- Metrics: Go to Metrics Explorer and search for your application metrics
- Logs: Go to Logs Explorer and verify log ingestion
If data is not appearing, see the Troubleshooting section.
Step 3: Migrate Dashboards and Configuration
SigNoz support handles the migration of metadata from your self-hosted instance, including:
- Dashboards
- Alerts
- Log pipelines
- Saved views
- User accounts and settings
How to Request Migration
-
Locate your SQLite database file
-
Export and compress the file
# For Docker cp ./signoz/deploy/docker/clickhouse-setup/data/signoz/signoz.db ./signoz-backup.db gzip signoz-backup.db -
Submit to SigNoz support
Send the compressed file to SigNoz support with your SigNoz Cloud organization details. The team will import your dashboards, alerts, and configurations. -
Receive confirmation
Once the migration is complete, you'll receive confirmation and can verify your configurations in SigNoz Cloud.
Step 4: Verify Complete Migration
After receiving confirmation from support:
- Review dashboards: Open each migrated dashboard and verify panels display data correctly
- Test alerts: Check that alert rules are configured and evaluate against incoming data
- Verify pipelines: If you use log pipelines, confirm they're processing logs as expected
- Check saved views: Verify your saved views in Traces, Logs, and Metrics explorers
Step 5: Decommission Self-Hosted (Optional)
Once you're confident the migration is complete:
- Set a cutover date: Communicate to your team when self-hosted access will end
- Update documentation: Update internal runbooks to reference SigNoz Cloud
- Shut down self-hosted: Stop the SigNoz services and reclaim infrastructure resources
Estimate Your SigNoz Cloud Costs
To estimate your SigNoz Cloud bill based on current self-hosted usage, collect usage data from your existing instance.
Reset Usage Tables
Connect to your self-hosted ClickHouse instance and truncate the usage tables to start fresh measurement:
TRUNCATE TABLE signoz_traces.usage ON CLUSTER cluster;
TRUNCATE TABLE signoz_metrics.usage ON CLUSTER cluster;
TRUNCATE TABLE signoz_logs.usage ON CLUSTER cluster;
Collect Usage Data
- Restart your SigNoz OTel collectors to begin fresh tracking
- Let the system run with normal traffic for at least 24 hours
- Connect to ClickHouse following the connection guide
- Export usage data to CSV files:
-- Export traces usage
SELECT * FROM signoz_traces.usage
INTO OUTFILE 'traces_usage.csv'
FORMAT CSVWithNames;
-- Export metrics usage
SELECT * FROM signoz_metrics.usage
INTO OUTFILE 'metrics_usage.csv'
FORMAT CSVWithNames;
-- Export logs usage
SELECT * FROM signoz_logs.usage
INTO OUTFILE 'logs_usage.csv'
FORMAT CSVWithNames;
Contact SigNoz support with these CSV files for a cost estimate
Troubleshooting
Data not appearing in SigNoz Cloud
Symptoms: Services or telemetry data not visible in SigNoz Cloud after updating configuration.
Check the following:
- Verify endpoint format — Ensure you're using
https://ingest.<region>.signoz.cloud:443with the correct region - Check ingestion key — Confirm the key is valid and hasn't been revoked in SigNoz Cloud settings
- Test network connectivity — From your collector/application host:
You should receive an HTTP response (even if it's an error about missing data)
curl -v https://ingest.<region>.signoz.cloud:443/v1/traces - Check collector logs — Look for export errors in your OTel Collector logs
- Verify TLS — SigNoz Cloud requires HTTPS. Ensure your exporter is configured for secure connections
Dashboards showing "No Data" after migration
Symptoms: Migrated dashboards exist but panels show no data.
Likely causes:
- Service names or metric names differ between environments
- Time range is set to before migration started
Resolution:
- Adjust the dashboard time range to after you started sending data to SigNoz Cloud
- Edit panel queries to match the service/metric names in your new environment