Important
As of August 26, 2024, you can no longer create new monitors using legacy runtimes on public or private locations.
On October 22, 2024, we will end of life the containerized private minion (CPM) and legacy synthetics runtime versions. For public locations, use the runtime upgrade UI to update your monitors to the newest runtimes. For private locations, please review our recommended migration steps to avoid monitor degradation.
Simple browser, scripted browser, and API monitors execute in the runtime environment used when the monitors were created. Your monitors won't automatically convert to newer runtimes when those runtimes release.
Monitors running on older runtimes lose out on new runtime features, so it's important that you understand which runtimes are used by your monitors.
Read on to learn how to:
- Upgrade a synthetic monitor
- View a synthetic monitor upgrade history
- Use environment variables in runtimes
- Review runtime dependencies
Tip
Ping monitors are not affected by changes in runtime versions.
Use different runtimes environments
Existing monitors default to the runtime used at their time of creation. To prevent your critical monitors from breaking during end-of-life processes, we recommend you convert your public monitors sooner rather than later. To convert:
- Go to one.newrelic.com > Synthetic monitoring, then select the monitor you want to upgrade.
- Click General in the left navigation pane.
- Use the dropdown menu to switch the current runtime version.
- Click Validate to check that your monitors function in the new runtime. Make any script modifications if needed.
- Click Save.
Tip
The runtime upgrades UI can be used to upgrade the runtime of multiple monitors.
View synthetic monitoring upgrade history
To see a history of monitor version upgrades, query the NrAuditEvent
.
Use environment variables in runtimes
Make your scripted monitors more contextually aware by using the $env
variable properties. When the script executes, these properties represent important information about the runtime environment.
You don't need to import $env
, it's similar to the $browser
and $http
variables. For example:
console.log('running in ' + $env.LOCATION);$browser.get('https://example.com');
| Type | Scripted browser | Scripted API test |
---|---|---|---|
Unique ID ( |
| ||
Unique ID ( |
| ||
Unique ID ( |
| ||
Type of monitor this job is running |
| ||
API version this monitor is using |
| ||
Location where this job is running. Examples:
|
| ||
Host of the proxy that collects HTTP traffic metrics |
| ||
Port of the proxy that collects HTTP traffic metrics |
| ||
The browser type being used (CHROME or FIREFOX) |
| ||
A configurable set of variables specified by users. See the documentation about containerized private minion (CPM) configuration. |
|
Review API monitor runtime dependencies
Starting with the Node.js 16.10.0 runtime release, the API runtime will be managed separately from the browser runtime. This is the first scripted API runtime based on the got
module instead of the deprecated request
module. The got
module is exposed in a request
compatible format via the $http
object. The request
-like experience provided by the $http
object will also be returned for any customers attempting to use request
directly in the Node.js 16 and newer scripted API runtimes.
The API runtime is used for these monitor types:
- Broken links monitor
- Certificate check monitors
- Scripted API monitors
Tip
If you're unsure about your monitor's runtime version, edit your monitor and check the "Runtime" drop down in the "Configure monitor" tab. You can also query the runtimeTypeVersion
attribute on SyntheticCheck
events where the runtimeType = 'NODE_API'
.
Review browser monitor runtime dependencies
With the Chrome 100+ runtime release, the browser runtime is managed separately from the API runtime. This is also known as our next-generation runtime.
The browser runtime is used for these monitor types:
- Scripted brower monitors
- Simple browser monitors
- Step monitors
Tip
If you're unsure about your monitor's runtime version, edit your monitor and check the "Runtime" drop down on the "Configure monitor" tab. You can also query the runtimeTypeVersion attribute on SyntheticCheck events where the runtimeType = 'CHROME_BROWSER'.
Review legacy runtime dependencies
Important
As of August 26, 2024, you can no longer create new monitors using legacy runtimes on public or private locations.
The containerized private minion (CPM) and legacy synthetics runtimes are end of life on October 22, 2024. Please complete your migration to synthetics job manager and new runtimes prior to that date to avoid synthetic monitoring degradation from occuring.
The monitor version always matches its runtime version, and determines what features the monitor can execute. The section below lists runtimes with its available features.
Tip
If you're unsure about your monitor version, go to one.newrelic.com > Synthetic monitoring > Upgrade monitors. You won't see the Upgrade monitors option if you're on the latest runtime version.
Here are the monitor version details for all monitor types except ping: