Simple browser, scripted browser, and API monitors execute in the New Relic runtime environment that existed when the monitors were created, even when new runtimes are released.
Since your monitors could be running on older runtimes, it's important for you to understand runtime features and upgrade monitors to use the latest runtime version.
Read on to learn how to:
- Upgrade a synthetic monitor
- View a synthetic monitor upgrade history
- Use environment variables in runtimes
- Review runtime dependencies
Ping monitors are not affected by changes in runtime versions.
Upgrade a synthetic monitor
To ensure that you maintain monitor performance and get access to new features, upgrade your monitors whenever you see the Upgrade monitors button in the synthetic monitoring user interface. You can also upgrade your monitors by going to one.newrelic.com > Synthetics > Upgrade monitors.
You won't see the Upgrade monitors option if you're already on the latest runtime version.
The upgrade provides a validation process to identify scripted monitors that are not compatible with the latest runtime. Validation allows you to correct any errors that the latest runtime might cause with existing monitors before your monitors are upgraded.
When you select Upgrade monitors, here are the options:
Task | Description |
---|---|
Upgrade an incompatible monitor |
If a monitor appears under Incompatible monitors:
|
Upgrade any validated monitors |
If you have some passing monitors, upgrade them by selecting Upgrade all passing monitors to latest runtime. |
Upgrade all monitors (including failing monitors) |
Upgrading without validation may cause monitor outages. If you have some failing monitors, you can skip validation and correct errors later by selecting Upgrade all monitors on account to latest runtime. |
View synthetic monitoring upgrade history
To see a history of monitor version upgrades, query the NrAuditEvent
.
Use environment variables in runtimes
Make your synthetic scripted monitors more contextually aware by using the $env
variable properties. These represent important information about the runtime environment when the script executes.
You do not need to import $env
because it is readily available, similar to the $browser
and $http
variables. For example:
console.log('running in ' + $env.LOCATION); $browser.get('https://example.com');
$env property |
Type | Scripted browser | Scripted API test |
---|---|---|---|
Unique ID ( |
string |
[check icon] | [check icon] |
Unique ID ( |
string |
[check icon] | [check icon] |
Unique ID ( |
number |
[check icon] | [check icon] |
Type of monitor this job is running |
string |
[check icon] | [check icon] |
API version this monitor is using |
string |
[check icon] | [check icon] |
Location where this job is running. Examples:
|
string |
[check icon] | [check icon] |
Host of the proxy that collects HTTP traffic metrics |
string |
[check icon] | |
Port of the proxy that collects HTTP traffic metrics |
number |
[check icon] | |
A configurable set of variables specified by users. See the documentation about containerized private minion (CPM) configuration. |
string |
[check icon] | [check icon] |
Review runtime dependencies
The monitor version always matches its runtime version, and the monitor version determines what features the monitor can execute. See the section below that applies to your monitor version.
If you're unsure about your monitor's version, go to one.newrelic.com > Synthetics > Upgrade monitors. You won't see the Upgrade monitors option if you're already on the latest runtime version.
Here are monitor version details for all monitor types except ping:
- Version 0.6.x (Latest)
-
Synthetic monitor version 0.6.x details:
The synthetic monitoring runtime does not support the async/await syntax supported in Node 10.
- Browser: Chrome 72
- Node: 10.15.0
- Selenium WebDriver: 3.6.0 (exposed via
$browser
and$driver
) - Proxy settings: Yes
- Supported third-party modules:
- atob 2.1.0
- aws-sdk 2.465.0
- basic-ftp 4.6.2
- btoa 1.1.2
- chai 4.2.0
- chai-webdriver 1.2.0
- colors 1.3.3
- consoleplusplus 1.4.1
- crypto-js 3.1.9-1
- faker 4.1.0
- joi 14.3.1
- ldapauth-fork 4.3.3
- lodash 4.17.11
- moment 2.24.0
- net-ping 1.2.3
- net-snmp 1.2.4
- Nodemailer 6.4.13
- nodejs-traceroute 1.1.1
- uuid 3.1.0
- protocol-buffers 4.1.0
- q 1.5.1
- request 2.88.0
- should 13.2.3
- ssh2-sftp-client 5.3.1
- text-encoding 0.7.0
- thrift 0.11.0
- tough-cookie 3.0.0
- underscore 1.9.0
- url-parse 1.4.4
- urllib 2.33.0
- urllib-sync 1.1.4
- validator 10.11.0
- ws 6.1.3
- xml2js 0.4.19
- Version 0.5.x
-
Synthetic monitor version 0.5.x details:
- Browser: Chrome 60
- Node: 6.11.2
- Selenium WebDriver: 3.5.0 (exposed via
$browser>
and$driver
) - Proxy settings: Yes
- Supported third-party modules:
- atob 2.0.3
- btoa 1.1.2
- chai 4.1.1
- chai-webdriver 0.9.3
- colors 1.1.2
- consoleplusplus 1.4.1
- crypto-js 3.1.9-1
- faker 4.1.0
- joi 10.6.0
- lodash 4.17.4
- moment 2.18.1
- net-ping 1.2.1
- net-snmp 1.2.0
- nodejs-traceroute 1.1.1
- uuid 3.1.0
- protocol-buffers 3.2.1
- q 1.5.0
- request 2.81.0
- should 11.2.1
- text-encoding 0.6.4
- thrift 0.10.0
- tough-cookie 2.3.2
- underscore 1.8.3
- url-parse 1.1.9
- urllib 2.24.0
- urllib-sync 1.1.4
- validator 8.0.0
- xml2js 0.4.17
- Version 0.4.x
-
Synthetic monitor version 0.4.x details:
- Browser: Chrome 44
- Node: 0.1.2
- Selenium WebDriver: 2.47.0 (exposed via
$browser>
and$driver
) - Proxy settings: Yes
- Supported third-party modules:
- atob 2.0.3
- btoa 1.1.2
- chai 2.3.0
- chai-webdriver 1.1.1
- colors 1.1.2
- consoleplusplus 1.4.1
- crypto-js 3.1.5
- faker 3.0.1
- joi 6.6.1
- lodash 2.4.2
- moment 2.10.6
- net-ping 1.1.12
- net-snmp 1.1.14
- node-uuid 1.4.3
- protocol-buffers 3.1.6
- q 1.4.1
- request 2.60.0
- should 7.0.3
- text-encoding 0.6.4
- thrift 0.9.2
- tough-cookie 2.0.0
- underscore 1.8.3
- urllib 2.3.11
- urllib-sync 1.1.4
- url-parse 1.1.9
- validator 4.0.2
- xml2js 0.4.17
- Version 0.2.x
-
The only difference between monitor version 0.2.x and 0.4.x is that 0.4.x has network proxy settings enabled.
Synthetic monitor version 0.2.x details:
- Browser: Chrome 44
- Node: 0.1.2
- Selenium WebDriver: 2.47.0 (exposed via
$browser>
and$driver
) - Proxy settings: No
- Supported third-party modules:
- atob 2.0.3
- btoa 1.1.2
- chai 2.3.0
- chai-webdriver 1.1.1
- colors 1.1.2
- consoleplusplus 1.4.1
- crypto-js 3.1.5
- faker 3.0.1
- joi 6.6.1
- lodash 2.4.2
- moment 2.10.6
- net-ping 1.1.12
- net-snmp 1.1.14
- node-uuid 1.4.3
- protocol-buffers 3.1.6
- q 1.4.1
- request 2.60.0
- should 7.0.3
- text-encoding 0.6.4
- thrift 0.9.2
- tough-cookie 2.0.0
- underscore 1.8.3
- urllib 2.3.11
- urllib-sync 1.1.4
- url-parse 1.1.9
- validator 4.0.2
- xml2js 0.4.17
- Version 0.1.0
-
Synthetic monitor version 0.1.0 details:
- Browser: Phantomjs 1.9.8
- Node: 0.1.0
- Selenium WebDriver: 2.44.0 (exposed via
$browser>
and$driver
) - Proxy settings: No
- Supported third-party modules:
- chai 1.9.1
- chai-webdriver 0.9.3
- colors 1.1.2
- consoleplusplus 1.4.1
- crypto-js 3.1.2-5
- faker 2.0.1
- lodash 2.4.2
- moment 2.8.3
- node-uuid 1.4.3
- q 1.1.1
- should 4.0.4
- tough-cookie 0.12.1
- underscore 1.7.0
- validator 3.18.1
- xml2js 0.4.17