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
Historical telemetry data (traces, logs, metrics) cannot be migrated. Only metadata and configurations are transferred. Plan your migration timeline accordingly if you need to retain access to historical data in your self-hosted instance.
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 (
us,eu, orin) - 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
Replace the following placeholders:
<region>: Your SigNoz Cloud region (us,eu, orin). See endpoint reference.<SIGNOZ_INGESTION_KEY>: Your ingestion key from SigNoz Cloud settings.
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=<SIGNOZ_INGESTION_KEY>"
Replace <region> and <SIGNOZ_INGESTION_KEY> with your values from SigNoz Cloud settings.
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: <SIGNOZ_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.dbSubmit 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