SigNoz Cloud - This page is relevant for SigNoz Cloud editions.
Self-Host - This page is relevant for self-hosted SigNoz editions.

Migrate Metrics from New Relic

Overview

This guide walks you through migrating metrics from New Relic to SigNoz. You will:

  1. Check your New Relic metrics sources
  2. Choose the right migration path for each metric source
  3. Set up collection in SigNoz
  4. 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:

AspectNew RelicSigNoz
CollectionProprietary agents, Prometheus integrationOpenTelemetry Collector, Prometheus Receiver
Data ModelDimensional metrics in NRDBOpenTelemetry metrics model
Query LanguageNRQLQuery Builder, PromQL, ClickHouse SQL
StorageNRDB (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 TypeHow to IdentifyMigration Path
OpenTelemetry SDKinstrumentation.provider = 'opentelemetry'Redirect OTLP exporter
Prometheus exportersYou have Prometheus scrapers or remote_write configuredUse Prometheus Receiver
New Relic APM agentsJava, Node, Python, .NET, Ruby, Go, PHP agents installedReplace with OTel instrumentation
New Relic InfrastructureHost metrics like SystemSample, ProcessSampleUse Host Metrics Receiver
AWS CloudWatchMetrics prefixed with aws.*Use SigNoz AWS integration
Azure MonitorMetrics prefixed with azure.*Use SigNoz Azure integration
GCPMetrics prefixed with gcp.*Use SigNoz GCP integration
SyntheticsSynthetic monitors for uptime/availabilityUse 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:

  1. Install the OpenTelemetry Collector in your environment.

  2. 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:

  1. Add the Prometheus receiver to your collector config:
otel-collector-config.yaml
receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: 'your-app'
          scrape_interval: 60s
          static_configs:
            - targets: ['localhost:8080']  # Your metrics endpoint
  1. Enable it in the metrics pipeline:
otel-collector-config.yaml
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:

LanguageRemoveAdd
Javanewrelic.jar agentOTel Java Agent
Node.jsnewrelic npm packageOTel Node.js SDK
Pythonnewrelic packageOTel Python SDK
.NETNew Relic .NET agentOTel .NET SDK
Gogo-agentOTel Go SDK
Rubynewrelic_rpm gemOTel Ruby SDK
PHPNew Relic PHP agentOTel PHP SDK

General steps:

  1. Remove the New Relic agent/SDK from your application.
  2. Add OpenTelemetry instrumentation following the language-specific guide above.
  3. Configure the SDK to export to SigNoz (directly or via Collector).
  4. Deploy and verify metrics appear in SigNoz.

From New Relic Infrastructure

Replace New Relic Infrastructure agent with the OpenTelemetry Collector's Host Metrics Receiver:

  1. Add the hostmetrics receiver to your collector config:
otel-collector-config.yaml
receivers:
  hostmetrics:
    collection_interval: 60s
    scrapers:
      cpu:
      memory:
      disk:
      filesystem:
      load:
      network:
      process:
        include:
          match_type: regexp
          names: ['.*']
  1. Enable it in the metrics pipeline:
otel-collector-config.yaml
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:

ProviderMigration Guide
AWSAWS Cloud Integrations - One-click setup for CloudWatch metrics
AzureAzure Cloud Integrations
GCPGCP 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:

  1. List your New Relic synthetic monitors
  2. Create equivalent HTTP monitors in SigNoz following the Monitor HTTP Endpoints guide
  3. 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

  1. In SigNoz, navigate to Metrics in the left sidebar.
  2. Use the List View to browse available metrics.
  3. Click a metric name to see its attributes and values.
SigNoz Metrics Explorer showing list of available metrics
SigNoz Metrics Explorer interface

Troubleshooting

Metrics not appearing in SigNoz

  1. Check Collector status: Verify the OpenTelemetry Collector is running:
  2. Verify endpoint: Confirm https://ingest.<region>.signoz.cloud:443 matches your account region.
  3. Check ingestion key: Ensure signoz-ingestion-key header is set correctly.
  4. 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):

  1. Check your SDK's resource attribute configuration.
  2. Verify no Collector processors are dropping attributes.
  3. For Prometheus metrics, ensure labels are being scraped correctly.

Metric values don't match New Relic

When comparing the same metric in both systems:

  1. Align time ranges: Ensure both queries cover the exact same period.
  2. Match aggregations: NRQL and PromQL may use different default aggregations. For example:
  3. Check collection intervals: Different scrape intervals can cause slight variations.
  4. Verify units: Some New Relic metrics use different units than OpenTelemetry conventions.

Next Steps

Once your metrics are flowing to SigNoz:

Last updated: November 30, 2025

Edit on GitHub

Was this page helpful?