Use Settings to configure delivery, Routing to select events, Logs to inspect delivery history, and Help for this guide. Routing requires Tier 1; Tier 2 adds request rules. Log visibility, payload previews, and deletion can be delegated separately with Tier 2 role permissions.
Send signals to New Relic via the Log API.
New Relic is a premium SignalPress service. The active license must include service_newrelic or *.
Hub service ID: newrelic. Index: Integrations Overview. Target from PHP: Service Targeting.
Get the license key
- Sign in to [New Relic](https://one.newrelic.com/) and note whether your account is US, EU, Japan, or FedRAMP.
- Open Administration → API keys (or Account settings → API keys).
- Find or create an INGEST – LICENSE key for the account that should receive logs. Do not use a user API key (
NRAK-...). - Copy the license key.
- In SignalPress, activate New Relic, paste the key, choose the matching Region, and set a Project name.
- Optionally change the Service Name (defaults to
signalpress). - Click Save changes, then enable the service if needed and save again.
- Click Send test signal.
The region must match your account. A US license key sent to the EU Log API returns Forbidden.
Settings fields
| Field | Purpose |
|---|---|
| License Key | INGEST – LICENSE key only (not NRAK- user API keys). |
| Region | us, eu, jp, or fedramp. Must match your account. |
| Service Name | Log attribute for service grouping. Default: signalpress. |
| Default Level | Used when an event omits level or sends an invalid level. Default: info. |
The signalpress/newrelic/payload filter can adjust the log JSON before delivery.
- [New Relic API keys](https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/)
- [Log API](https://docs.newrelic.com/docs/logs/log-api/introduction-log-api/)
Test the connection
- Open New Relic Logs (or query
message LIKE '%SignalPress%'/service = 'signalpress'). - In SignalPress, click Send test signal.
- Confirm a log with
event = 'signalpress_test'appears (often within a few seconds; HTTP202means accepted).
Send a signal
PHP
sp_capture( 'payment_provider_failed', [ 'message' => 'The payment provider returned an unexpected response.', 'level' => 'error', 'order_id' => 123, 'response' => $provider_response, ], [ 'source' => 'checkout', 'services' => [ 'newrelic' ], ] );
Supported levels are debug, info, warning, error, and critical. An invalid or omitted level uses the service default.
Each log includes the message, service name, hostname, project, environment, source, level, event name, nested payload and context, site URL, and SignalPress version.
Troubleshooting
- A disabled test button means License Key, Region, or Project has not been saved. Paste the key, choose the region, then click Save changes before testing.
- HTTP
401or403usually means the key is a user API key, the key is invalid, or the wrong region was selected. - HTTP
400usually means the JSON body was rejected. - Successful ingestion returns a
2xxresponse (commonly202 Accepted). - If the test succeeds but nothing appears in Logs, wait a minute, confirm the region and account, and query
logtype = 'signalpress'or your service name.
What to read next
- Integrations Overview — browse and activate services
- Your First Connection Test — send a test signal and read the log
- Advanced Event Routing — per-service event filters
- Connection Tests and Delivery Log — interpret delivery results
- Service Targeting — limit destinations from PHP