Skip to content

New Relic

New Relic is a comprehensive observability platform that helps developers, operations teams, and businesses monitor the performance of their applications and infrastructure in real-time. It provides detailed insights into application performance, error tracking, and user experience, enabling teams to identify and resolve issues quickly and maintain high availability of their services.

The New Relic application allows you to retrieve the status of New Relic services and check their availability. Status information can be visualized from the New Relic Status website.

Options

  • Name*: Just a simple label to find it easier in the SenHub's interface
  • Description: Description for your own usage only.
  • Vault*: Choose in the list box the appropriate vault for this resource. If you have not created it yet, see how to add a vault.
  • Group: optional — assign this instance to a group to organise it within SenHub.
  • Area*: You have to choose from where you want to collect the metrics. The options are:
    • EU — Only return Europe/Middle East/Africa instances status.
    • US — Only return North America instances status.
  • Representation*: You can get 7 types of metrics, each providing a different angle on your synthetic monitor's behavior. The options are:
    • By location — Gives you a complete health overview of your synthetic monitor: overall success rate, number of failed checks and failing locations, performance quality indicators (Apdex, SLA breakdown), response time distribution (percentiles), and the latest response time from each geographic location. This is the go-to mode for a global dashboard view.
    • Network timings — Breaks down the network phases of your synthetic requests (DNS resolution, TCP connection, SSL handshake, sending, waiting for server response, receiving). Use this when you need to understand where the time is being spent in the network layer — for example, to identify if a slow response is due to a distant DNS, a heavy SSL handshake, or a slow backend.
    • Monitor results — Extracts the custom step-by-step metrics you've defined in your synthetic browser scripts (e.g., login time, search time, checkout time), along with the total execution time and the technical result (success or failure). When a scenario fails, the error message is included so you can immediately understand what went wrong. Perfect for tracking business-critical user journeys.
    • Request analysis — Analyzes all individual HTTP requests made during your synthetic checks: how many requests, how much data was downloaded, which domains were called, how fast each responded, and which returned errors (4xx, 5xx). Use this to detect third-party dependency slowdowns, unexpected page weight increases, or broken resources.
    • Private location — Monitors the health of your New Relic private locations (the on-premise infrastructure that runs your synthetic checks). Tracks the pending-check queue and the ping / minion / job-manager job counters per location, plus the freshness of the last status report. Only applicable to accounts using private synthetic locations.
    • Trend — Compares today's performance against a same-weekday baseline: average duration, success rate, and p95 duration, each with the delta showing improvement or degradation. Use this to quickly spot regressions after a deployment or confirm that an optimization had the expected impact.
    • Uptime — Reports availability over rolling windows (24h / 7 days / 30 days) plus the number of failed checks and an estimated downtime over 30 days. This is the mode that feeds SLA reporting and answers "how available has this service been this month?".
  • Monitor Name*: By going to the New Relic interface, you can copy and paste the name of your monitor as is into this field. The name is case-sensitive.
  • Verbose mode (optional): Enable detailed debug output to troubleshoot connection or data retrieval issues.

By Location

The By Location mode provides a complete health overview of your synthetic monitor from each configured location.

Returned metrics explained

Metric What it tells you
Monitor status Whether the monitor is currently enabled, disabled, or muted in New Relic
Monitor status code Numeric mirror of the status (1 = enabled, 2 = disabled, 3 = muted, 0 = unknown) so it can be alarmed in PRTG via the sfs.newrelic.synthetics lookup — a text channel cannot carry a threshold
Last 7.5h success rate Percentage of successful checks over the last 7.5 hours — a quick reliability indicator
Last 7.5h Checks failed Total number of failed checks in that period — helps assess the severity of an issue
Locations failing Number of distinct geographic locations currently experiencing failures — if all locations fail, the problem is likely on the target side; if only one fails, it may be a network or location-specific issue
Apdex (24h) Application Performance Index over 24 hours (scale 0 to 1), computed against the monitor's own Apdex target (7 seconds by default). Above 0.85 is generally considered satisfactory. Gives a single number to assess user experience quality
Satisfied / Tolerating / Frustrated (24h) SLA breakdown against the Apdex target T: percentage of checks completed under T (satisfied), between T and 4×T (tolerating), or over 4×T (frustrated). With the default 7 s target that is under 7 s / 7–28 s / over 28 s. Shows the distribution of user experience, not just the average
p50 / p90 / p95 / p99 duration (24h) Response time percentiles over 24 hours. The p50 is the median, the p95 tells you what 95% of users experience. A large gap between p50 and p99 indicates inconsistent performance
{Location name} Latest response time (ms) from each geographic location — lets you compare regional performance at a glance
Last check age Minutes since the most recent check. A watchdog: if New Relic or the private location stops producing checks, every other metric keeps its last value and stays green — this one climbs instead. Set a PRTG threshold at roughly 3× the monitor's check period

Example Output for By Location

[
  {
    "channel": "Monitor status",
    "value": "Enabled"
  },
  {
    "channel": "Monitor status code",
    "value": 1
  },
  {
    "channel": "Last 7.5h success rate",
    "value": 100.0,
    "unit": "%"
  },
  {
    "channel": "Last 7.5h Checks failed",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Locations failing",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Apdex (24h)",
    "value": 0.86
  },
  {
    "channel": "Satisfied (24h)",
    "value": 72.92,
    "unit": "%"
  },
  {
    "channel": "Tolerating (24h)",
    "value": 27.08,
    "unit": "%"
  },
  {
    "channel": "Frustrated (24h)",
    "value": 0.0,
    "unit": "%"
  },
  {
    "channel": "p50 duration (24h)",
    "value": 6288,
    "unit": "ms"
  },
  {
    "channel": "p90 duration (24h)",
    "value": 8048,
    "unit": "ms"
  },
  {
    "channel": "p95 duration (24h)",
    "value": 9248,
    "unit": "ms"
  },
  {
    "channel": "p99 duration (24h)",
    "value": 12844,
    "unit": "ms"
  },
  {
    "channel": "Paris",
    "value": 6059,
    "unit": "ms"
  },
  {
    "channel": "Last check age",
    "value": 13.7,
    "unit": "min"
  }
]

Network Timings

The Network Timings mode breaks down the network phases of your synthetic requests to pinpoint bottlenecks.

Returned metrics explained

Metric What it tells you
DNS Time to resolve the domain name. High values may indicate DNS server issues or missing DNS caching
Connect Time to establish the TCP connection. High values suggest network latency between the monitor location and the target server
SSL Time for the SSL/TLS handshake. High values may point to certificate chain issues or an overloaded server
Send Time to transmit the HTTP request. Usually very small; high values indicate upstream bandwidth issues
Wait Time waiting for the first byte of the server response (TTFB). This is often the largest value and reflects backend processing time
Receive Time to download the full response. High values indicate large payloads or slow transfer rates
Block Time the request spent queued before it could be sent. High values suggest too many concurrent connections or resource contention

Example Output for Network Timings

[
  {
    "channel": "Monitor status",
    "value": "Enabled"
  },
  {
    "channel": "Monitor status code",
    "value": 1
  },
  {
    "channel": "DNS",
    "value": 0.028,
    "unit": "ms"
  },
  {
    "channel": "Connect",
    "value": 0.774,
    "unit": "ms"
  },
  {
    "channel": "SSL",
    "value": 0.604,
    "unit": "ms"
  },
  {
    "channel": "Send",
    "value": 0.129,
    "unit": "ms"
  },
  {
    "channel": "Wait",
    "value": 13.46,
    "unit": "ms"
  },
  {
    "channel": "Receive",
    "value": 7.34,
    "unit": "ms"
  },
  {
    "channel": "Block",
    "value": 26.625,
    "unit": "ms"
  }
]

Monitor Results

The Monitor Results mode extracts the custom metrics you've defined in your New Relic synthetic browser scripts, giving you visibility on each step of your user scenario.

Returned metrics explained

Metric What it tells you
01_stepName, 02_stepName, ... Execution time (ms) of each numbered step in your scenario — lets you see exactly which part of the user journey is slow
Total_time Total scenario execution time (ms) — the sum of all steps, representing the full user journey duration
Error When the scenario fails: the error message from New Relic describing what went wrong (e.g., element not found, timeout). Only appears when the result is FAILED
Result Technical outcome of the scenario: 1 = SUCCESS, 0 = FAILED. Uses the PRTG lookup sfs.newrelic.monitoringresult for visual status mapping

Each metric is suffixed with the location name (e.g., "01_firstPage (paris)") so you can monitor performance from each geographic location independently.

How to set up your synthetic script

In your New Relic synthetic browser script, define custom metrics using:

$browser.addPageAction('custom.01_firstPage', loadTime);
$browser.addPageAction('custom.02_authentication', authTime);
$browser.addPageAction('custom.total_time', totalTime);

The connector will automatically extract all custom.* fields and present them in order.

Example Output for Monitor Results (success)

[
  {
    "channel": "01_firstPage (paris)",
    "value": 1419,
    "unit": "ms"
  },
  {
    "channel": "02_authentication (paris)",
    "value": 1404,
    "unit": "ms"
  },
  {
    "channel": "03_search (paris)",
    "value": 2727,
    "unit": "ms"
  },
  {
    "channel": "Total_time (paris)",
    "value": 5550,
    "unit": "ms"
  },
  {
    "channel": "Result (paris)",
    "value": 1
  }
]

Example Output for Monitor Results (failure)

When a scenario fails, the custom step metrics may be absent (the script crashed before recording them). The error message is automatically extracted and truncated to 200 characters for readability.

[
  {
    "channel": "Error (paris)",
    "value": "no such element: Unable to locate element: {\"method\":\"css selector\",\"selector\":\"*[id=\\\"LoginButton\\\"]\"}"
  },
  {
    "channel": "Result (paris)",
    "value": 0
  }
]

Request Analysis

The Request Analysis mode examines all individual HTTP requests made during your synthetic checks, helping you understand what happens under the hood of your scenarios.

Returned metrics explained

Metric What it tells you
Total requests Number of HTTP requests made during the check — a sudden increase may indicate new resources being loaded or redirect chains
Total download Total data downloaded (KB) — helps detect page weight regressions
Avg request duration Average time per request (ms) — a global indicator of resource loading speed
Main page duration Average load time of the main navigation request only — isolates the primary page performance from sub-resources
Sub-resource avg duration Average load time of all other requests (scripts, images, fonts, APIs) — helps identify if slowness comes from the page itself or its dependencies
Avg request / response body size Average payload sizes (bytes) — useful for detecting unexpected payload increases
Avg request / response header size Average header sizes (bytes) — helps spot oversized cookies or header bloat
HTTP {code} errors Number of requests that returned a 4xx or 5xx status code, grouped by observed code — reveals broken resources (404), unauthorized calls (401), or server errors (500). These channels are dynamic: they only appear while an error is present
{domain} avg / count Average response time and request count for the top 10 domains called — lets you identify slow third-party dependencies (CDN, analytics, APIs)
HTTP 4xx errors / HTTP 5xx errors Aggregate client-error and server-error counts. Unlike the dynamic per-code channels above, these are always emitted, so you can set a permanent PRTG threshold on them
Error rate Percentage of requests that returned an error (status ≥ 400) — a single always-present number to alarm on
Main page TTFB Time to first byte of the main navigation request (ms) — isolates backend response time from the rest of page loading
Page load / DOM content loaded Time (ms) for the main page's load and DOMContentLoaded events — the browser-perceived page readiness

Example Output for Request Analysis

[
  {
    "channel": "Total requests",
    "value": 406,
    "unit": "#"
  },
  {
    "channel": "Total download",
    "value": 42282.1,
    "unit": "KB"
  },
  {
    "channel": "Avg request duration",
    "value": 48.4,
    "unit": "ms"
  },
  {
    "channel": "Main page duration",
    "value": 44.7,
    "unit": "ms"
  },
  {
    "channel": "Sub-resource avg duration",
    "value": 48.4,
    "unit": "ms"
  },
  {
    "channel": "Avg request body size",
    "value": 214,
    "unit": "bytes"
  },
  {
    "channel": "Avg response body size",
    "value": 106643,
    "unit": "bytes"
  },
  {
    "channel": "HTTP 404 errors",
    "value": 4,
    "unit": "#"
  },
  {
    "channel": "HTTP 401 errors",
    "value": 2,
    "unit": "#"
  },
  {
    "channel": "xtremcloud.cloud avg",
    "value": 48.8,
    "unit": "ms"
  },
  {
    "channel": "xtremcloud.cloud count",
    "value": 402,
    "unit": "#"
  },
  {
    "channel": "HTTP 4xx errors",
    "value": 6,
    "unit": "#"
  },
  {
    "channel": "HTTP 5xx errors",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Error rate",
    "value": 3.32,
    "unit": "%"
  },
  {
    "channel": "Main page TTFB",
    "value": 17.1,
    "unit": "ms"
  },
  {
    "channel": "Page load",
    "value": 1712,
    "unit": "ms"
  },
  {
    "channel": "DOM content loaded",
    "value": 1269.3,
    "unit": "ms"
  },
  {
    "channel": "Avg request header size",
    "value": 1477,
    "unit": "bytes"
  },
  {
    "channel": "Avg response header size",
    "value": 347,
    "unit": "bytes"
  }
]

Private Location

The Private Location mode monitors the health of your New Relic private locations — the on-premise infrastructure running your synthetic checks.

Note: This mode is only applicable to accounts using New Relic private synthetic locations. It reads the current SyntheticsPrivateLocationStatus event; the older host-level minion metrics (CPU, memory, workers) are no longer published by New Relic and are not available.

Returned metrics explained

Metric What it tells you
Checks pending Number of checks waiting to be executed by the location — a growing backlog means the location cannot keep up with the check schedule
Ping jobs Number of lightweight ping checks queued for the location
Minion heavyweight jobs Number of heavyweight (scripted / browser) jobs queued on the minion runtime
Job manager heavyweight jobs Number of heavyweight jobs queued on the job-manager runtime (containerized private locations)
Status age Minutes since the location last reported its status. A watchdog: a dead private location simply drops out of New Relic's reporting, freezing its other metrics green — this one climbs instead

Each metric is suffixed with the private location name (e.g., "Checks pending (4284882-lna1-620)").

Example Output for Private Location

[
  {
    "channel": "Checks pending (4284882-lna1-620)",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Ping jobs (4284882-lna1-620)",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Minion heavyweight jobs (4284882-lna1-620)",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Job manager heavyweight jobs (4284882-lna1-620)",
    "value": 0,
    "unit": "#"
  },
  {
    "channel": "Status age (4284882-lna1-620)",
    "value": 1.0,
    "unit": "min"
  }
]

Trend

The Trend mode compares today against a same-weekday baseline to help you spot performance changes over time.

The (1w ago) baseline is not a single noisy day: it is the median of the last four same weekdays (a Tuesday is compared to the four previous Tuesdays), which neutralises weekly seasonality and absorbs a one-off bad day. Duration and p95 are measured over successful checks only, so a day with failures (which run slower) does not inflate the baseline and mask a real regression. The success rate itself is still computed over all checks.

Returned metrics explained

Metric What it tells you
Avg duration (today) Average duration of successful checks over the last 24 hours
Avg duration (1w ago) Baseline average duration: median of the last four same weekdays (successful checks)
Duration delta Difference in milliseconds. Negative = faster (improvement), positive = slower (degradation)
Success rate (today) Percentage of successful checks over the last 24 hours
Success rate (1w ago) Baseline success rate: median of the last four same weekdays
Success rate delta Difference in percentage points. Negative = fewer successes (degradation), positive = more successes (improvement)
p95 duration (today) 95th percentile duration of successful checks over the last 24 hours — what 95% of your checks complete within
p95 duration (1w ago) Baseline p95: median of the last four same weekdays (successful checks)
p95 delta Difference in milliseconds. Negative = improvement, positive = degradation

Use this mode after a deployment or infrastructure change to validate that performance hasn't regressed, or to confirm that an optimization had the expected effect.

Example Output for Trend

[
  {
    "channel": "Avg duration (today)",
    "value": 6729,
    "unit": "ms"
  },
  {
    "channel": "Avg duration (1w ago)",
    "value": 7749,
    "unit": "ms"
  },
  {
    "channel": "Duration delta",
    "value": -1020,
    "unit": "ms"
  },
  {
    "channel": "Success rate (today)",
    "value": 100.0,
    "unit": "%"
  },
  {
    "channel": "Success rate (1w ago)",
    "value": 100.0,
    "unit": "%"
  },
  {
    "channel": "Success rate delta",
    "value": 0.0,
    "unit": "%"
  },
  {
    "channel": "p95 duration (today)",
    "value": 9248,
    "unit": "ms"
  },
  {
    "channel": "p95 duration (1w ago)",
    "value": 14016,
    "unit": "ms"
  },
  {
    "channel": "p95 delta",
    "value": -4768,
    "unit": "ms"
  }
]

Uptime

The Uptime mode reports availability over rolling windows and an estimated downtime — the data that feeds SLA reporting. Where the other modes only look at the last few hours, this one answers "how available has this service been today, this week, this month?".

Returned metrics explained

Metric What it tells you
Uptime (24h) / (7d) / (30d) Percentage of successful checks over the last 24 hours, 7 days and 30 days — your availability figures over the usual SLA windows
Total checks (30d) Number of checks run over 30 days — the sample size behind the 30-day uptime
Failed checks (30d) Number of failed checks over 30 days
Downtime estimate (30d) Estimated downtime in minutes over 30 days, computed as failed checks × the monitor's check period. An approximation (it assumes each failed check covers one period), handy for an at-a-glance SLA figure

Example Output for Uptime

[
  {
    "channel": "Uptime (24h)",
    "value": 100.0,
    "unit": "%"
  },
  {
    "channel": "Uptime (7d)",
    "value": 100.0,
    "unit": "%"
  },
  {
    "channel": "Uptime (30d)",
    "value": 99.132,
    "unit": "%"
  },
  {
    "channel": "Total checks (30d)",
    "value": 2880,
    "unit": "#"
  },
  {
    "channel": "Failed checks (30d)",
    "value": 25,
    "unit": "#"
  },
  {
    "channel": "Downtime estimate (30d)",
    "value": 375,
    "unit": "min"
  }
]