Overview
This guide walks you through migrating metrics from New Relic to SigNoz. You will:
- Check your New Relic metrics sources
- Choose the right migration path for each metric source
- Set up collection in SigNoz
- Validate that all metrics are flowing correctly
You cannot import historical metrics from New Relic. This guide focuses on redirecting your metric streams to SigNoz going forward.
Key Differences: New Relic vs SigNoz
Before migrating, understand how metric collection differs between the two platforms:
| Aspect | New Relic | SigNoz |
|---|---|---|
| Collection | Proprietary agents, Prometheus integration | OpenTelemetry Collector, Prometheus Receiver |
| Data Model | Dimensional metrics in NRDB | OpenTelemetry metrics model |
| Query Language | NRQL | Query Builder, PromQL, ClickHouse SQL |
| Storage | NRDB (proprietary) | ClickHouse (open source) |
SigNoz uses open standards (OpenTelemetry, Prometheus) for collection, so your migration involves replacing New Relic agents with OpenTelemetry instrumentation or collectors.
Prerequisites
Before starting, ensure you have:
- A SigNoz account (Cloud) or a running SigNoz instance (Self-Hosted)
- Access to your New Relic account to review current metric sources
- Access to your application code or infrastructure configuration
- Administrative access to deploy the OpenTelemetry Collector (if needed)
Step 1: Assess Your Current Metrics
Before migrating, create an inventory of what you're collecting in New Relic. This ensures nothing gets lost.
Export Your Metrics List from New Relic
Run this NRQL query in New Relic's Query Builder to list all metric names:
SELECT uniques(metricName) FROM Metric SINCE 7 days ago LIMIT MAX
For a breakdown by source, run:
SELECT count(*)
FROM Metric
SINCE 7 days ago
FACET metricName, instrumentation.provider
LIMIT MAX
Categorize Your Metrics
Group your metrics by source type. Check which of these you're using:
| Source Type | How to Identify | Migration Path |
|---|---|---|
| OpenTelemetry SDK | instrumentation.provider = 'opentelemetry' | Redirect OTLP exporter |
| Prometheus exporters | You have Prometheus scrapers or remote_write configured | Use Prometheus Receiver |
| New Relic APM agents | Java, Node, Python, .NET, Ruby, Go, PHP agents installed | Replace with OTel instrumentation |
| New Relic Infrastructure | Host metrics like SystemSample, ProcessSample | Use Host Metrics Receiver |
| AWS CloudWatch | Metrics prefixed with aws.* | Use SigNoz AWS integration |
| Azure Monitor | Metrics prefixed with azure.* | Use SigNoz Azure integration |
| GCP | Metrics prefixed with gcp.* | Use SigNoz GCP integration |
| Synthetics | Synthetic monitors for uptime/availability | Use HTTP monitoring |
Save this inventory. You'll use it to validate your migration is complete.
Step 2: Set Up the OpenTelemetry Collector
Most migration paths require the OpenTelemetry Collector. Set it up first:
Install the OpenTelemetry Collector in your environment.
Configure the OTLP exporter to send metrics to SigNoz Cloud
Step 3: Migrate Each Metric Source
Work through each source type from your inventory.
From OpenTelemetry SDK
If you're already using OpenTelemetry SDKs with New Relic's OTLP endpoint, redirect to SigNoz:
Before (New Relic):
OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.nr-data.net
OTEL_EXPORTER_OTLP_HEADERS=api-key=<NEW_RELIC_LICENSE_KEY>
After (SigNoz Cloud):
OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.<region>.signoz.cloud:443
OTEL_EXPORTER_OTLP_HEADERS=signoz-ingestion-key=<SIGNOZ_INGESTION_KEY>
For detailed configuration, see Migrate from OpenTelemetry to SigNoz.
From Prometheus Exporters
If you have Prometheus exporters (node_exporter, application metrics via /metrics endpoints), use the Prometheus Receiver:
- Add the Prometheus receiver to your collector config:
receivers:
prometheus:
config:
scrape_configs:
- job_name: 'your-app'
scrape_interval: 60s
static_configs:
- targets: ['localhost:8080'] # Your metrics endpoint
- Enable it in the metrics pipeline:
service:
pipelines:
metrics:
receivers: [prometheus]
exporters: [otlp]
See Prometheus Metrics in SigNoz for advanced configuration.
From New Relic APM Agents
Replace New Relic language agents with OpenTelemetry instrumentation.
Migration by language:
| Language | Remove | Add |
|---|---|---|
| Java | newrelic.jar agent | OTel Java Agent |
| Node.js | newrelic npm package | OTel Node.js SDK |
| Python | newrelic package | OTel Python SDK |
| .NET | New Relic .NET agent | OTel .NET SDK |
| Go | go-agent | OTel Go SDK |
| Ruby | newrelic_rpm gem | OTel Ruby SDK |
| PHP | New Relic PHP agent | OTel PHP SDK |
General steps:
- Remove the New Relic agent/SDK from your application.
- Add OpenTelemetry instrumentation following the language-specific guide above.
- Configure the SDK to export to SigNoz (directly or via Collector).
- Deploy and verify metrics appear in SigNoz.
From New Relic Infrastructure
Replace New Relic Infrastructure agent with the OpenTelemetry Collector's Host Metrics Receiver:
- Add the hostmetrics receiver to your collector config:
receivers:
hostmetrics:
collection_interval: 60s
scrapers:
cpu:
memory:
disk:
filesystem:
load:
network:
process:
include:
match_type: regexp
names: ['.*']
- Enable it in the metrics pipeline:
service:
pipelines:
metrics:
receivers: [hostmetrics]
exporters: [otlp]
See Send Metrics to SigNoz for more receiver options including Docker, Kubernetes, and process metrics.
From Cloud Integrations
SigNoz provides native integrations for major cloud providers:
| Provider | Migration Guide |
|---|---|
| AWS | AWS Cloud Integrations - One-click setup for CloudWatch metrics |
| Azure | Azure Cloud Integrations |
| GCP | GCP Cloud Integrations |
These integrations collect the same cloud service metrics you were getting through New Relic.
From Synthetics
New Relic Synthetics provides scripted browser and API tests. SigNoz offers HTTP endpoint monitoring for availability and latency.
To migrate basic health checks:
- List your New Relic synthetic monitors
- Create equivalent HTTP monitors in SigNoz following the Monitor HTTP Endpoints guide
- Set up alerts for failures and slow responses
Validate
Compare your SigNoz metrics against your original inventory to ensure migration is complete.
Check Metrics Are Arriving
- In SigNoz, navigate to Metrics in the left sidebar.
- Use the List View to browse available metrics.
- Click a metric name to see its attributes and values.

Troubleshooting
Metrics not appearing in SigNoz
- Check Collector status: Verify the OpenTelemetry Collector is running:
- Verify endpoint: Confirm
https://ingest.<region>.signoz.cloud:443matches your account region. - Check ingestion key: Ensure
signoz-ingestion-keyheader is set correctly. - Test connectivity: Verify outbound HTTPS (port 443) is allowed to SigNoz Cloud.
Missing attributes on metrics
If metrics appear but lack expected attributes (like service.name or custom dimensions):
- Check your SDK's resource attribute configuration.
- Verify no Collector processors are dropping attributes.
- For Prometheus metrics, ensure labels are being scraped correctly.
Metric values don't match New Relic
When comparing the same metric in both systems:
- Align time ranges: Ensure both queries cover the exact same period.
- Match aggregations: NRQL and PromQL may use different default aggregations. For example:
- Check collection intervals: Different scrape intervals can cause slight variations.
- Verify units: Some New Relic metrics use different units than OpenTelemetry conventions.
Next Steps
Once your metrics are flowing to SigNoz:
- Migrate your dashboards to visualize metrics in SigNoz
- Set up alerts based on your metrics
- Migrate traces for end-to-end observability
- Migrate logs to complete your observability stack